Vibe Coding for Production
Getting startedFirst stepsSkills

Skills

What skills are, how they differ from always-on memory, and a copy-paste demo skill you install locally.

Skills in Claude Code are folders with a SKILL.md file. They add a playbook Claude can load when it is relevant, or when you invoke them with a slash command. That keeps long procedures out of your main chat until you need them. See Anthropic’s guide: Extend Claude with skills.

How they differ from CLAUDE.md

  • CLAUDE.md (and imports like AGENTS.md) load every session and spend context up front.
  • Skills load on demand: Claude pulls them in when your request matches the skill’s description, or when you run /skill-name.

Use a skill when you would otherwise paste the same multi-step instructions over and over.

Where skills live (project)

For one repository, project skills go under:

.claude/skills/<skill-name>/SKILL.md

Pick the directory you open in Claude Code. Personal skills use ~/.claude/skills/ instead. Other locations (enterprise, plugins) are in the Where skills live table in the official skills doc linked above.

If you work on .NET and C#, the .NET Skills page covers Microsoft’s curated marketplace (dotnet/skills) for agents and IDEs.

To slash filler and output tokens while keeping technical content (a humorous “caveman” reply style, optional compression of memory files), see Caveman (JuliusBrussee/caveman).

For think-first, minimal-diff, test-driven behavior based on Andrej Karpathy’s take on common LLM coding failures, see Andrej Karpathy skills (multica-ai/andrej-karpathy-skills).

Install the demo skill (copy and paste)

Do this once per machine for the project where you want the skill:

Open a terminal in your project root.

Create the folder for the skill:

mkdir -p .claude/skills/workshop-three-checks
mkdir -p .claude/skills/workshop-three-checks
New-Item -ItemType Directory -Force -Path .claude/skills/workshop-three-checks | Out-Null
Create the file .claude/skills/workshop-three-checks/SKILL.md in your editor (on Unix you can touch the file first if you like).
Copy the entire block below (from the first --- through the last line) and paste it into SKILL.md. Save the file.
Start Claude Code from that same project root so it loads project skills.
Invoke the skill with /workshop-three-checks or ask naturally, for example: I am about to commit, run the quick workshop checklist.

Other natural openings that match the demo skill’s description:

/workshop-three-checks

I touched the docs sidebar and added a page, quick pre-commit pass before I commit.
About to push a branch that changes API handlers. Run the workshop three-checks skill and call out anything extra I should run beyond my usual test command.

Claude Code watches an existing .claude/skills/ directory, so new skill folders and edits normally load during the session. Restart only if the top-level skills directory did not exist when the session started (see Live change detection in the skills doc).

SKILL.md to copy

---
name: workshop-three-checks
description: Quick pre-commit sanity check for this workshop repo. Use when the user is about to commit, asks for a last check before commit, or wants a short review before pushing.
---

When this skill runs, answer in **short bullets** (stay under about 12 lines unless the user asks for more):

1. **Tests** Infer the stack from the repo (`package.json`, `.csproj`, `*.sln`, etc.). Name the most relevant check (for example `npm run build`, `dotnet test`, `dotnet build` for **.NET 10+** in this workshop) and say they should run it before committing if they have not.
2. **Scope** In one sentence, what changed and does it match what they said they were doing?
3. **Commit message** Propose a single-line subject in conventional style (for example `docs: add skills page` or `chore: tweak sidebar`).

Do not run destructive commands. This is a checklist only.

Make your own (minimal)

Create .claude/skills/<name>/.

Add SKILL.md with YAML frontmatter at the top:

  • For project and personal skills, the directory name becomes /<name>. Plugin skills are namespaced and can use frontmatter name for their final command segment.
  • description: when Claude should load it automatically.
Put the steps or rules in markdown below the frontmatter.

Keep the first skill small: one clear job, a few bullets, optional link to official docs for advanced options (supporting files, invocation control, subagents).

On this page