AnthropicClaude Certified Architect – Foundations2026-103.2 Create and configure custom slash commands and skills
Share workflows without shadowing team skills
Completed by the knowledge check
Learning objective
Place team commands and skills in .claude/commands/ and .claude/skills/ and personal variants under ~/.claude/commands/ and ~/.claude/skills/.
Core idea
A saved workflow’s location determines who receives it. A project file becomes a team asset when you commit it with the repository. A file beneath your home directory belongs to your local setup and does not arrive in a teammate’s clone. Choose the scope before choosing the wording of the workflow.
A personal variant also needs a distinct name. For skills with the same directory or file name, personal scope takes precedence over project scope. Copying the team’s skill into your home directory with the same name leaves the repository untouched but changes which version you run. That can make two developers believe they are following the same review procedure when they are not.
The directory determines who receives the workflow, and its name determines which copy an invocation selects. Frontmatter authoring belongs to 3.2.2; this lesson decides where that authored workflow belongs and how people can select it predictably.
How it works
Match location to audience
The exam guide distinguishes project commands from user commands, and Claude Code documents the equivalent project and personal skill locations. Use these paths for a team review workflow and a personal stricter variant:
| Audience | Command file | Skill file |
|---|---|---|
| Repository team | .claude/commands/team-review.md | .claude/skills/team-review/SKILL.md |
| One developer | ~/.claude/commands/team-review-strict.md | ~/.claude/skills/team-review-strict/SKILL.md |
The project-relative .claude/ directory is part of the repository. Sharing requires version control: a file that exists only in your uncommitted checkout does not become available to every developer because Claude Code can find it locally. Commit the workflow that the team is expected to use, just as you commit the code it reviews.
The ~ prefix identifies your home directory. A personal skill there is available across your projects on that machine. It is not a repository asset and is not a promise of availability in Cowork or cloud sessions. Anthropic’s skills documentation explicitly separates those sessions from skills stored only on your local machine. Do not diagnose a missing cloud skill by repeatedly editing its local home-directory copy.
Commands use a Markdown file; skills use a directory containing SKILL.md. Both represent an invocable saved workflow. Choosing the skill directory gives you a place for supporting files, but it does not change the project-versus-personal distribution decision. See 3.2.2 for the format comparison.
Give a personal variant its own identity
Suppose the team commits .claude/skills/team-review/SKILL.md. Keep your deeper review in ~/.claude/skills/team-review-strict/SKILL.md, with the name team-review-strict if you explicitly set the frontmatter name. You can then choose /team-review for the shared procedure or /team-review-strict for your extension.
If you instead create ~/.claude/skills/team-review/SKILL.md, /team-review selects your personal skill over the project’s skill. This is a local override, not an additional selectable version of the team command. The same visible invocation can therefore have different instructions on different machines.
A distinct personal name adds an explicit choice, while the same name replaces the project’s choice on your machine.
Enterprise skills can take precedence over both personal and project skills. Within the scopes this objective compares, however, the important rule is personal over project for a shared directory or file name. A project skill does not automatically win because the session starts in its repository.
Claude Code also resolves a skill and a command file sharing a name in favor of the skill. Avoid leaving .claude/commands/team-review.md and .claude/skills/team-review/SKILL.md as independently maintained procedures. See 3.2.2 for what that collision means during format migration.
Separate team intent from bundled names
Pick a name that makes the team’s purpose visible. Claude Code includes /review as an alias of its bundled /code-review skill. A name such as /team-review avoids making a team-specific checklist look like that bundled operation.
The commands reference documents the bundled alias; it does not distribute your team’s custom procedure. A developer who can type /review has not thereby proved that the repository’s review skill loaded. Confirm the intended custom invocation and the corresponding file, rather than treating any review-shaped command as interchangeable.
Key distinctions and trade-offs
Project location versus committed distribution: Claude Code can load a project file locally before you commit it. Version control is what gives teammates the same content. The directory answers where it is found; the commit answers how it is shared.
Personal variant versus personal override: A distinct personal name adds an explicit choice. The same name replaces the project’s choice on your machine through precedence. Use an override only when that replacement is intentional.
Local availability versus remote availability: A home-directory skill follows your local projects, not every execution environment. A repository skill provides a reviewable shared artifact rather than a dependency on each developer’s machine setup.
A shared workflow improves consistency but makes edits consequential for the whole team. A personal variant lets you experiment without changing that shared procedure. Naming both clearly preserves the ability to reproduce the team result before assessing your extra findings.
Architecture / decision scenario
A developer productivity team maintains a code-review checklist for service changes. The lead saves it in ~/.claude/commands/team-review.md, then tells a new engineer to clone the repository and invoke /team-review. The engineer cannot find it. The missing artifact is in the lead’s personal setup, so cloning the project cannot supply it.
The team moves the shared procedure into .claude/commands/team-review.md and commits it. For a workflow that also needs reference checklists, it can instead use .claude/skills/team-review/SKILL.md and commit the supporting files. These are alternative representations of the shared workflow, not two competing copies to maintain.
One engineer wants a deeper security pass. She keeps the command variant at ~/.claude/commands/team-review-strict.md, or the skill variant at ~/.claude/skills/team-review-strict/SKILL.md. The distinct name leaves /team-review available as the shared baseline. Saving a personal skill under team-review would shadow that baseline for her even though no teammate’s files changed.
The team’s acceptance criterion is therefore concrete: a repository clone contains the shared artifact, and the documented shared invocation selects that workflow without relying on an undisclosed personal override.
Common exam traps
- Saving a team command under
~/.claude/commands/and expecting a clone to include it. - Treating an uncommitted project file as an already distributed team standard.
- Editing a shared skill to satisfy one developer’s personal preference.
- Giving a personal skill the team’s name and assuming both remain separate choices.
- Assuming
/reviewproves that a team-specific review workflow is installed. - Declaring a team command in
settings.jsoninstead of a command file or skill; settings configure permissions and hooks rather than define the saved prompt.
Where the exam guide differs
The exam guide recommends different names for personal skill variants “to avoid affecting teammates.” The skills documentation gives personal skills precedence over project skills with the same name: a personal copy shadows the project skill only on your machine, without changing teammates’ copies. A distinct name preserves your own access to the shared baseline. An exam item framed around avoiding effects on teammates still points to a personal variant in ~/.claude/skills/ under a different name; distinguish that answer from the guide’s rationale.
What to remember
Use .claude/commands/ or .claude/skills/ for repository workflows and commit what the team must share. Use the corresponding home-directory paths for personal variants. Give those variants different names so personal precedence does not silently replace the team’s skill.
Knowledge check
A team lead keeps the review checklist at ~/.claude/commands/team-review.md. A developer who has just cloned the repository types /team-review and nothing runs. The team wants every developer, including future hires, to receive the same command from the repository. What should the lead do?
~/.claude/commands//team-review as a command in the project’s .claude/settings.jsonreview.md and have developers run /review.claude/commands/team-review.md and commit it/review is an alias of the bundled /code-review , not a team command.The team’s committed skill is .claude/skills/team-review/SKILL.md. One developer wants a deeper security pass for her own use. Her teammates must keep exactly what they have now, and she must still be able to run the shared baseline herself. What should she create?
~/.claude/skills/team-review-strict/SKILL.md with the deeper instructions~/.claude/skills/team-review/SKILL.md as an edited copy of the team skill.claude/skills/team-review-strict/SKILL.md , committed beside the team skill.claude/skills/team-review/SKILL.md , edited and committed with the deeper steps/team-review would silently run her version and the baseline would no longer be reachable for her. Either committed option changes what every teammate receives.A developer’s team-review-strict skill exists only at ~/.claude/skills/team-review-strict/SKILL.md. It runs in local repository sessions, but a fresh cloud session cannot find it. What explains the difference?
References
- Anthropic, Extend Claude with skills
- Anthropic, Commands reference
- Anthropic, Explore the .claude directory
- Anthropic, Claude Certified Architect – Foundations Exam Guide