Claude Certified Architect - FoundationsCCAR-F Learning Guide
Domain 3 · Lesson 3.2 · 5 min read

Custom Slash Commands and Skills

Exam taskCreate and configure custom slash commands and skills

Project commands and skills are shared through the repository, personal ones live in your home directory. Skill frontmatter controls isolation (context fork), tool access and argument hints; CLAUDE.md is for standards that always apply.

What you need to know

Where they live decides who gets them

Project (shared)Personal
Slash commands.claude/commands/~/.claude/commands/
Skills.claude/skills/<name>/SKILL.md~/.claude/skills/<name>/SKILL.md

A command in the project folder is version-controlled and available to every developer on clone. A personal command lives in your home directory and nobody else sees it. If you want a personal variant of a team skill, create it under ~/.claude/skills/ with a different name so you do not affect teammates.

Skill frontmatter

---
name: analyze-architecture
description: Map the modules, entry points and dependencies of this codebase
context: fork
allowed-tools: Read, Grep, Glob
argument-hint: [package-name]
---
Analyse the architecture of $ARGUMENTS and return a one-page summary...
FieldWhat it doesUse it for
context: forkRuns the skill in an isolated sub-agent; only its final result returns to the main conversationVerbose output (codebase analysis) or exploratory work (brainstorming alternatives) that would clutter the session
allowed-toolsLimits the tools used while the skill runsKeeping a skill to safe operations, such as file writes but no shell commands
argument-hintShows the expected arguments when the skill is invokedPrompting for a required parameter

Skill or CLAUDE.md?

SkillCLAUDE.md
LoadedOn demand, when invoked or relevantAlways, every session
Good forTask-specific workflows: release checklist, scaffolding, architecture analysisUniversal standards: style, testing conventions

Putting a 200-line release procedure in CLAUDE.md costs context in every session; putting coding standards in a skill means they apply only when someone remembers to invoke it.

In the exam

Expect: a command teammates cannot see (wrong scope) or one they should not see (also wrong scope), a skill whose output floods the conversation (context: fork), a skill that must not run shell commands (allowed-tools), a skill invoked without its parameter (argument-hint), and skill-versus-CLAUDE.md choices.

Check your understanding

Question 1

A /deploy-checklist command must be available to every developer on clone. Where does it go?

Show answer

Answer: D. The project commands folder is version-controlled, so everyone gets the command when they clone.

Question 2

A codebase analysis skill dumps thousands of lines into the conversation. Which frontmatter option fixes this?

Show answer

Answer: A. context: fork runs the skill in an isolated sub-agent; only the distilled result reaches the main session.

Question 3 · select 2

Which TWO belong in a skill rather than in CLAUDE.md? Select TWO.

Show answer

Answer: A, C. Skills are for task-specific workflows invoked on demand. Conventions and the basic test command apply to every session, so they belong in CLAUDE.md.

Apply it: Harbor Lane's shared skills

Exercise · about 15 minCase: Harbor Lane Software

Each Harbor Lane team keeps its own copy of a release-checklist prompt in a wiki, and one engineer wants an architecture-analysis skill. Design both.

  1. Turn the release checklist into a shared skill. Give its location and frontmatter.
  2. Write the architecture-analysis skill's frontmatter so its output does not flood the session and it cannot change files.
    Why: analysis should be read-only.
  3. Make the checklist prompt for the target environment when invoked without one.
  4. Say what stays in CLAUDE.md instead of a skill.
Check your work
Show model answer

1. Release skill. .claude/skills/release-checklist/SKILL.md, committed:

---
name: release-checklist
description: Run Harbor Lane's pre-release checks for a service
argument-hint: [environment]
---

2. Analysis skill

---
name: analyze-architecture
description: Summarise modules, entry points and dependencies of a package
context: fork
allowed-tools: Read, Grep, Glob
argument-hint: [package]
---

context: fork keeps the long exploration out of the main session. allowed-tools lists read-only tools (for the exam, this restricts the skill; in current releases also add deny rules for Write, Edit and Bash during analysis if it must be guaranteed).

3. Prompting. argument-hint: [environment] shows the expected argument; the skill body also says "If no environment was given, ask: staging or production?"

4. CLAUDE.md. The coding and testing conventions every session needs. The checklist and the analysis are on-demand workflows, so they are skills.

Sources