Task Statement 3.2 — project vs user scope, and the SKILL.md frontmatter that matters.
| Scope | Location | Availability |
|---|---|---|
| Project | .claude/commands/ | Shared via VCS — every dev who clones/pulls gets it |
| User | ~/.claude/commands/ | Personal, not shared |
/review command that must reach every developer on clone/pull → .claude/commands/ in the repo. Not ~/.claude/commands/ (personal), not CLAUDE.md (context, not commands), and not a .claude/config.json commands array (that mechanism doesn't exist).Skills live in .claude/skills/, each with a SKILL.md. Three frontmatter options are tested:
| Frontmatter | Effect |
|---|---|
context: fork | Run the skill in an isolated sub-agent context so its (often verbose) output doesn't pollute the main conversation. Use for codebase analysis, brainstorming alternatives. |
allowed-tools | Restrict which tools the skill may use during execution (e.g., limit to file writes to prevent destructive actions). |
argument-hint | Prompt the developer for required parameters when they invoke the skill with no arguments. |
Personal customization: create a variant in ~/.claude/skills/ with a different name so you don't affect teammates.
/review command available to every developer automatically when they clone the repository. Create it in:.claude/commands/ in the project repository~/.claude/commands/ in each developer's home directory.claude/config.json file containing a commands arrayallowed-tools restricting it to read-only operationscontext: fork to run it in an isolated sub-agentargument-hint to prompt for the analysis targetcontext: fork runs the skill in an isolated context so verbose output doesn't pollute the main session. allowed-tools restricts tools, argument-hint prompts for args — neither isolates output..claude/commands/. Verbose/exploratory skill → context: fork. Prevent destructive tool use → allowed-tools. Missing args → argument-hint. Always-on standard → CLAUDE.md; run-sometimes procedure → skill.