We're building a real, useful skill: it summarizes your uncommitted git changes and flags anything risky. First decision — where the folder lives, which decides who can use it.
A skill is found purely by where its folder sits. Same file, different location → different audience. Nothing else changes.
The directory name becomes the slash command you type. In Claude Code the name field is optional — leave it out and the folder name is used, so the two stay in sync automatically.
Lowercase letters, numbers, and hyphens only · max 64 characters · no "claude" or "anthropic". Watch the live file on the right update as you type.
This one line is what Claude reads to decide "is this request my job?" Edit it below and watch the sample requests light up. Vague text matches nothing; specific "use when…" text fires reliably.
A line beginning with !`…` is a shell command Claude Code runs before Claude ever sees the file. The output replaces the line — so the skill arrives with your actual diff already inside it, not a guess.
!`git diff HEAD` so the summary is grounded in your real working tree.Claude doesn't execute this line — Claude Code does, up front, and splices the output in. By the time Claude reads the skill, it just sees the diff as plain text. Toggle it off and the skill would have to ask for the diff itself.
Everything below the frontmatter is the instruction Claude follows once the skill loads. Keep it tight — this text stays in context for the whole session.
disable-model-invocation: true — only you can run it with /name.Auto-invoke for read-only helpers like this one. Turn it off for anything with side effects — /deploy, /commit, /send-message — where you want to control the timing.
The file on the right is the whole thing. Two commands create it; then it's live in your next Claude Code session.
Open Claude Code in a git repo, make an edit, then either ask naturally or invoke it directly:
Edits to ~/.claude/skills/ or a project's .claude/skills/ take effect within the running session — no restart. Only creating a brand-new top-level skills folder needs a restart.