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 likeAGENTS.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.mdPick 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:
Create the folder for the skill:
mkdir -p .claude/skills/workshop-three-checksmkdir -p .claude/skills/workshop-three-checksNew-Item -ItemType Directory -Force -Path .claude/skills/workshop-three-checks | Out-Null.claude/skills/workshop-three-checks/SKILL.md in your editor (on Unix you can touch the file first if you like).--- through the last line) and paste it into SKILL.md. Save the file./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)
.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 frontmatternamefor their final command segment. description: when Claude should load it automatically.
Keep the first skill small: one clear job, a few bullets, optional link to official docs for advanced options (supporting files, invocation control, subagents).