Custom slash commands & skills
Create and configure custom slash commands and skills.
This subtopic (3.2) sits in Claude Code Configuration & Workflows (D3) on Anthropic's Claude Certified Architect — Foundations (CCA-F) exam. The bank holds 22 practice questions here — 6 easy, 11 medium, and 5 hard — with 5 free to try, answers and explanations included. 3 of the free questions are below; the rest are in the practice stream.
What the exam tests here
- project-scoped commands in .claude/commands/ — shared via version control
- context:fork isolates skill output from main conversation
- SKILL.md frontmatter — context:fork, allowed-tools, argument-hint
- user-scoped commands in ~/.claude/commands/ — personal only
Free practice questions: Custom slash commands & skills
Your team wants every developer to share a custom /deploy slash command when working in the project repository using .claude/commands/. Where must the deploy.md file be placed so that version control distributes it automatically?
Show answer & explanation
Correct answer: B. .claude/commands/deploy.md at the project root
Project-scoped commands in .claude/commands/ live at the project root and are committed to version control, making them automatically available to every developer who clones the repository. Home-directory paths are personal-scoped and not shared. Other locations are not recognized by Claude Code as command definitions.
Your team adds a .claude/skills/deploy/SKILL.md to the project. The skill runs a multi-step deployment and must never be triggered automatically by Claude during unrelated tasks. Which frontmatter field enforces this restriction?
Show answer & explanation
Correct answer: B. Set disable-model-invocation: true so Claude cannot auto-invoke the skill; only explicit user calls trigger it.
disable-model-invocation: true removes the skill description from Claude's context, preventing auto-invocation. The skill still runs when the user explicitly calls /deploy. context:fork isolates execution but does not prevent auto-invocation. user-invocable:false hides the command from users rather than from Claude. allowed-tools restricts tool permissions, not invocation triggers.
An agent uses a /deep-scan skill that runs Glob and Read extensively across a large codebase, producing a long analysis transcript. Engineers report the analysis context is polluting their subsequent coding sessions. Which SKILL.md frontmatter setting most directly resolves this?
Show answer & explanation
Correct answer: B. Set context: fork so the skill runs in an isolated context that doesn't pollute the parent session
context: fork runs the skill in an isolated subagent context, keeping the analysis transcript separate from the parent session and preventing context pollution. 'allowed-tools' restricts tool access but doesn't isolate the output. 'disable-model-invocation: true' prevents auto-invocation but doesn't address transcript isolation. 'argument-hint' is a UI hint for engineers, not a mechanism for context isolation.
2 more free questions on this subtopic in the practice stream, plus 17 in the full bank. Keep practicing →