An engineer keeps a personal /scratch helper that must not ship in the city repo. What scope is appropriate?
Select an answer to reveal the explanation.
Short Explanation
Your personal scratch pad shouldn't be checked into the city's shared toolbox. User-scoped commands keep /scratch private; project commands are for stuff the whole team needs.
Full Explanation
An engineer with a personal /scratch helper that must not ship in the city repo should use user-scoped commands for that helper and reserve project-scoped commands for shared team workflows. Slash-command scope mirrors the same user-versus-project boundary used for skills: personal tools stay local; municipal team procedures live under version control.
User-scoped commands are appropriate because /scratch is an individual scratchpad workflow, not a citywide standard. Keeping it user-scoped prevents accidental commits into .claude/commands/, stops every municipal clone from receiving /scratch, and leaves project commands free for shared runbooks such as deploy, incident triage, or permit-data refresh. Teammates who need a shared helper still get it through project scope deliberately.
Checking /scratch into project .claude/commands/ fails because every clone would inherit a personal helper the team did not adopt. Putting /scratch in root CLAUDE.md fails by concept: CLAUDE.md always-loads guidance and is not an invoked slash command, so the helper would either become ambient instruction or lose its on-demand command shape. A required CI step that fails builds unless /scratch appears in the diff fails because CI should not mandate a personal command in shared diffs; that couples municipal quality gates to one engineer's private tooling.
Exam caveat: command scope (user versus project) is distinct from CLAUDE.md always-on content and from CI policy. Operational check: keep /scratch only under user-scoped commands, search the city repo for /scratch, and confirm it is absent from project .claude/commands/ and CLAUDE.md before merge.