Claude Code skills are folders containing a SKILL.md file that Claude Code loads on demand when a task matches the skill's description. You drop the folder into .claude/skills/ in your project (or ~/.claude/skills/ for every project), Claude Code reads the frontmatter, and from then on it pulls the instructions in whenever they are relevant. Below: where they live, how they differ from CLAUDE.md, slash commands and MCP, a 3-step install, and 15 developer skills that work in Claude Code today.

What a Claude Code skill actually is
A skill is a directory with one required file, SKILL.md, and optionally a few supporting files (reference docs, templates, small scripts). The SKILL.md starts with YAML frontmatter that holds two fields Claude Code cares about: name and description. Below the frontmatter is plain Markdown: the role, the process, the output format, the rules.
The important design decision is that skills are loaded lazily. Claude Code keeps a short index of every installed skill's name and description in context. When your request looks like a match, it reads the full SKILL.md and follows it. When it does not match, the skill costs you almost nothing. This is why a well written description matters more than anything else in the file: it is the only thing Claude Code sees before deciding whether to open the skill.
The same SKILL.md is what you get when you buy a skill on KissMySkills: a .md file plus a README, identical to what you would upload to a Claude Project, a custom GPT or a Gemini Gem.
Where skills live: project-level vs user-level
Claude Code looks in two places.
-
Project-level:
<repo>/.claude/skills/<skill-name>/SKILL.md. Commit this folder and every teammate who clones the repo gets the skill. Use it for anything tied to this codebase: your review checklist, your deployment runbook, your API documentation style. -
User-level:
~/.claude/skills/<skill-name>/SKILL.md. Available in every project on your machine, invisible to teammates. Use it for personal habits: how you like commit messages written, your preferred test structure, a persona you use across clients.
If a skill with the same name exists in both places, the project-level copy wins. Keep general developer skills at user level and anything with project-specific rules at project level.
How Claude Code discovers a skill
Discovery is driven by the description field in the frontmatter, not by the file name and not by the folder name. A description like "Code review for pull requests" is weak because it only fires when you literally say "review". A description like "Review diffs, pull requests and changed files for bugs, security issues, missing tests and unclear naming. Use whenever the user asks to check, review, audit or critique code" fires on the phrasing developers actually use.
Three things to know:
- Skills are indexed when a session starts. If you add a folder mid-session, start a new session or ask Claude Code to re-read its skills.
- The description should say when to use the skill, not just what it is. Trigger phrases belong in it.
- You can always force a skill by naming it: "use the code reviewer skill on this diff". Auto-discovery is a convenience, not the only path.
Skills vs CLAUDE.md vs slash commands vs MCP servers
These four get confused constantly, and they solve different problems.
| Mechanism | What it is | When it loads | Best for |
|---|---|---|---|
| CLAUDE.md | Project memory file at repo root (or ~/.claude/CLAUDE.md) | Always, every turn | Facts Claude must never forget: stack, conventions, commands, do-not-touch areas |
| Skill | Folder with SKILL.md and optional support files | On demand, when the description matches | Expert procedures you need sometimes: reviews, audits, test plans, runbooks |
| Slash command | Markdown file in .claude/commands/, run with /name | Only when you type the command | Repeatable actions you trigger deliberately: /deploy-checklist, /write-pr |
| MCP server | External process exposing tools (databases, APIs, browsers) | Tools are available all session | Giving Claude the ability to do something, not the knowledge of how to do it well |
The short version: CLAUDE.md is always-on context, a skill is expertise that arrives when needed, a slash command is a button you press, and an MCP server is a set of hands. A good setup uses all four: MCP so Claude can act, a skill so it acts like a senior engineer.
One consequence: do not paste a 2,000 word review checklist into CLAUDE.md. It will be in context when you are renaming a variable. Make it a skill.
Install a Claude Code skill in 3 steps
Step 1: Get the SKILL.md. Download the .md file from your KissMySkills order (or write your own). If the file is not already named SKILL.md, rename it. The frontmatter needs at least name: and description:; every skill sold on the marketplace ships with both.
Step 2: Create the folder. From your repo root:
mkdir -p .claude/skills/code-reviewer
mv ~/Downloads/yuri-code-reviewer.md .claude/skills/code-reviewer/SKILL.md
For a user-level install, swap .claude/skills for ~/.claude/skills. The folder name should match the name field in the frontmatter, lowercase with hyphens.
Step 3: Start a new Claude Code session in that directory and ask for something the description covers. You should see the skill's structure in the answer (the review sections, the severity labels, whatever the skill defines). No config file, nothing else to restart.
If you want the longer walkthrough with screenshots and the Claude.ai equivalent, read how to install a Claude skill.
How to test a skill
Testing takes five minutes.
- Trigger test. Ask three requests that should fire the skill using different phrasing ("review this", "anything wrong with this function?", "check the PR"). If one misses, extend the description with that phrasing.
- Negative test. Ask something adjacent that should not fire it ("rename this variable"). If the skill loads anyway, the description is too broad.
- Output test. Compare the answer to what the SKILL.md promises. If the skill says "always list severity per finding" and the output has no severities, the instructions are being read but not followed; shorten and sharpen them.
- Explicit test. Name the skill directly. If that works and auto-discovery does not, the problem is 100 percent the description.
To see what a well built SKILL.md looks like before you write or buy one, 12 real SKILL.md files are explained line by line here.
15 Claude Code skills for developers
Everything below is from the Claude Code skills collection. Each is a one-time purchase, a .md skill file plus README, and covered by the 30-day money-back policy. Prices are correct at the time of writing.
Code quality
Yuri - Code Reviewer AI Skill ($29): Runs a structured review on any diff, file or PR with findings grouped by severity.
Soren - Code Auditor AI Skill ($29): Audits a whole codebase rather than a single change, looking for structural debt, dead code, inconsistent patterns and risk hotspots. Good for the first week on an inherited repository.
Albert - AI Code Review Agent ($32): A review agent tuned for a fast loop, with a focus on correctness and edge cases in the changed lines.
Mira - QA Engineer AI Skill ($29): Turns a feature description or a diff into test cases, edge cases and a test plan, then writes the tests in your framework. Useful when you ask Claude Code to "add tests" and want more than the happy path.
Delivery
Rami - DevOps Engineer AI Skill ($29): CI/CD pipelines, Dockerfiles, infrastructure as code and incident runbooks with the caution a real DevOps engineer brings. It asks about rollback before it writes a deploy step.
Max - Full Stack Developer AI Skill ($29): The generalist: scaffolds features across API, data layer and UI, and keeps the pieces consistent. If you only install one delivery skill, this is the one.
Lena - Frontend Developer AI Skill ($29): Component structure, state, accessibility and responsive behaviour for modern frontend stacks. Stops Claude Code from shipping a div soup with inline styles.
Niko - Backend Developer AI Skill ($29): API design, data modelling, error handling and performance for server code. Strong on the boring parts (validation, pagination, idempotency) that generic prompts skip.
Elena - Data Engineer AI Skill ($29): Pipelines, schemas, transformations and data quality checks. Use it when the task involves moving data rather than serving it.
Docs and process
Saoirse - Technical Writer AI Skill ($29): READMEs, PR descriptions, changelogs, architecture notes and onboarding docs in a consistent voice. Ask Claude Code to "write the PR description" with this installed and you get context, changes, testing and risks, not a one-liner.
Dorian - AI API Documentation Agent ($32): Generates and maintains API reference docs from the code: endpoints, parameters, examples, error responses. Point it at a router file and let it fill the gaps.
Verity - Release Engineering & Build Systems Engineer AI Skill ($29): Versioning, release notes, commit message conventions, build configuration and reproducibility. The skill to install if your team argues about Conventional Commits.
Security
Anaya - Application Security Engineer AI Skill ($29): Reviews code for injection, auth flaws, secrets handling and dependency risk, and explains the fix rather than only the finding. Run it before a release, not after.
Selwyn - Penetration Tester Claude Skill ($14.99): Thinks like an attacker against your own application: threat models, attack paths, and a prioritised list of what to test.
Cassandra - Vulnerability Management Engineer Claude Skill ($14.99): Triage for scanner output and CVE lists: what matters, what is noise, what to patch first. Pair it with a dependency audit in your CI.
Not sure which to start with? The Claude skills marketplace page groups the whole catalog by role, and the Claude Code collection is the developer subset.
Frequently asked questions
Where is the Claude Code skills folder?
Project-level skills live in .claude/skills/<name>/SKILL.md inside your repository. User-level skills live in ~/.claude/skills/<name>/SKILL.md in your home directory and apply to every project.
Do Claude Code skills work in ChatGPT?
The .md file does, the auto-discovery does not. You can paste or upload the same SKILL.md as instructions for a custom GPT and it will behave the same way. What ChatGPT does not have is the folder convention and the description-based loading, so you invoke it by using that GPT rather than by Claude Code deciding it is relevant.
What is the difference between a Claude Code skill and CLAUDE.md?
CLAUDE.md is loaded on every turn and should hold short, permanent facts about the project. A skill is loaded only when its description matches the task and can be as long as the procedure needs. Long checklists belong in skills, not CLAUDE.md.
Can I install more than one skill at a time?
Yes. Each skill is its own folder under .claude/skills, and Claude Code indexes all of them. Because only the descriptions are kept in context until a skill is needed, having 15 installed costs very little until one fires.
Do I need an MCP server to use skills?
No. Skills are instructions and work with Claude Code's built-in tools (file editing, shell, git). MCP servers add external tools such as a database or a browser; a skill can tell Claude how to use those tools well, but it does not require them.
The bottom line
A Claude Code skill is a folder with a SKILL.md, placed in .claude/skills for the project or ~/.claude/skills for you, discovered by its description and loaded only when needed. Keep CLAUDE.md short, use slash commands for deliberate actions, use MCP for tools, and use skills for the expertise. Install one, test it with three phrasings and one negative, and then add the rest as your workflow demands them.

Browse every developer skill in the Claude Code skills collection at KissMySkills.