If you paste the same review checklist into Claude Code every time you change code, you can save it as a skill. A skill is a set of instructions stored in a folder containing a SKILL.md file. Claude can use it when your request matches its description, or you can start it yourself with a command such as /review-notes.

Use CLAUDE.md for project information Claude needs at the start of each conversation, such as test commands and coding conventions. Use a skill for a particular task with several steps, such as reviewing changes or preparing a deployment. The skill’s full instructions are read when that task needs them.

Custom commands have been merged into skills. A file at .claude/commands/deploy.md and a skill at .claude/skills/deploy/SKILL.md both create /deploy. Existing command files still work. New work should be a skill: it can carry supporting files, control whether you or Claude invokes it, and load on its own when relevant.

Where to put it

  • Project: .claude/skills/<name>/SKILL.md, committed so the team gets it
  • Personal: ~/.claude/skills/<name>/SKILL.md, every project on this machine
  • Nested: under a package in a monorepo, for work that only applies there

The directory name becomes the command you type. YAML frontmatter at the top tells Claude when to use it. Markdown under that is the procedure.

Start with a review-only skill

A first skill that only reports is easier to trust. It reads the differences between the current files and the last Git commit, then writes review notes. It does not edit files or create a commit.

Save this example as .claude/skills/review-notes/SKILL.md:

---
name: review-notes
description: Write a short review of the current diff. Use when the user asks what changed, wants notes before a commit, or asks for a risk list. Report only; do not edit files or create a commit.
---

## Diff

!`git diff HEAD`

## Instructions

1. Summarize the change in three bullets or fewer.
2. List risks: missing tests, secrets, or behavior that looks accidental.
3. If the diff is empty, say so and stop.
4. Do not edit files. Do not run git write commands.

Start Claude in the repo and type /review-notes, or ask “what did I change?” if the description is enough for Claude to load it. The command after ! runs before Claude reads the instructions and supplies the code changes to review. This example needs a Git project with an existing commit. The command compares files Git already tracks with that commit; new files not yet added to Git are not included.

Keep the instructions focused on the task. Once loaded, a skill remains part of the conversation and uses some of the model’s available context. To run it only when you explicitly ask, add disable-model-invocation: true to the settings at the top of the file, then start it with /review-notes.

Sources