Claude Code Kit

Features · Slash commands

Slash commands

Skills that wrap multi-step workflows. Type a command and Claude runs the full playbook — not a free-form prompt, a typed workflow with defined inputs and outputs. Skills support dynamic context injection, tool restrictions, model override, and subagent isolation.

The commands

Five workflows. Typed, not freeform.

/audit

Runs the kit's project audit: dependency licenses, accessibility on staged routes, performance budgets, RLS coverage.

When
Before shipping a release. Also useful after a sprint of rapid iteration when technical debt has accumulated silently.
Returns
A P0–P3 punch list. P0s are blockers. P3s are observations.

/recover

Walks the recovery playbook for a named disaster. /recover rls-off opens the RLS recovery flow. /recover force-push-main opens the force-push recovery.

When
At 2am when something is broken and you need the playbook entry inside Claude Code rather than hunting through documentation.
Returns
Step-by-step triage, rollback procedure, and post-mortem checklist for the named disaster.

/explain

Asks Claude to explain why a file or function is the way it is, using project-brain context.

When
Onboarding to unfamiliar code, or returning to a module you wrote six months ago.
Returns
An explanation grounded in the project's decisions, not generic code commentary.

/cost-check

Estimates token cost for a planned task before starting.

When
When context is already long, or before dispatching a multi-agent workflow. Prevents surprise context exhaustion mid-task.
Returns
Token count estimate, context headroom remaining, recommendation on whether to proceed or start a fresh session.

/teach-me-this

Grills you on a piece of unfamiliar code — your own, or library code. Socratic method, not lecture.

When
When you copy-pasted something from Stack Overflow last week and now need to debug it but don't fully understand it.
Returns
A series of questions about the code. Claude does not explain until you've attempted an answer.

Skill frontmatter

What a skill file looks like.

Skills live in .claude/skills/. Each is a markdown file with YAML frontmatter. The frontmatter controls how Claude invokes the skill; the markdown body is the workflow itself.

name

Slash command name. The string after the / when you type it in chat.

description

When Claude should reach for this. Read by Claude when choosing a skill for a task.

argument-hint

Placeholder shown in the command palette. e.g. <disaster-name> for /recover.

allowed-tools

Explicit tool allowlist for this skill. Limits what the skill can do regardless of the invoking agent's permissions.

model

Model override for this skill. e.g. force Opus for /audit, Haiku for /cost-check.

context: fork

Run the skill in an isolated subagent. The main conversation context is not modified.

Dynamic context injection

Run a shell command at invocation time. Inject its output into the prompt.

The `!`command` syntax inside a skill body runs the shell command when the skill is invoked and injects its stdout into the prompt. The skill sees live data, not stale context.

Example: a /cost-check skill that prefixes its prompt with `!`gh pr view --json additions,deletions` knows the actual diff size before estimating token cost. No manual copy-paste, no stale numbers.

Argument passing

Skills are parameterised. No parser required.

$ARGUMENTS

Full argument string passed after the command name.

$0

First positional argument.

$1, $2, ...

Subsequent positional arguments.

Local-server skills

Server management as a typed workflow, not a bash one-liner.

The kit ships server-management patterns as skills. The sequence for any dev server — uvicorn, vite, pnpm dev — is the same four steps. A SessionStart hook can auto-start dev servers idempotently using the auto-start-servers.sh template.

Check

Is the process already running? Don't restart a healthy server.

Kill

If running but unhealthy: kill the process cleanly before restart.

Start

nohup <command> &, then sleep 3 to give it time to bind.

Verify

curl /health — confirm the server is accepting requests before continuing.

Skills vs legacy slash commands

.claude/skills/ replaces .claude/commands/.

Legacy commands (.claude/commands/)

  • Static markdown only
  • No frontmatter
  • No tool restrictions
  • No model override
  • No subagent isolation
  • No dynamic context injection

Skills (.claude/skills/)

  • Markdown + YAML frontmatter
  • Tool allowlist
  • Model override per skill
  • context: fork for isolation
  • Dynamic context via !`command`
  • Auto-invoked by description match

Migration: rename .claude/commands/foo.md to .claude/skills/foo.md and add frontmatter. No other changes required.

Tier note

Some commands are free. Some are Pro.

Read-only diagnostics that run entirely locally are free. Commands that call the MCP server's LLM-backed workflows require a Pro subscription — because the LLM cost is real and ongoing.

The line is not drawn for marketing reasons. See the pricing page for the exact split.