Guide

How to activate Claude Code Skills

The Skill is on your disk — but Claude Code ignores it. This guide covers where Skills must live, how Claude decides to load one, and how to verify and troubleshoot activation.

Updated September 17, 20264 min read

Claude Code activates Skills on its own. There is no enable command to run: at the start of a session it reads the name and description frontmatter of every Skill it can find, and pulls in the full instructions when a task matches. That design keeps the context small — and it is also why a Skill filed in the wrong place, or described poorly, never activates.

Where Claude Code looks for Skills

A Skill is a folder whose instructions live in a file called SKILL.md. Claude Code discovers those folders in three places:

  • Personal Skills: ~/.claude/skills/<skill-name>/SKILL.md — available to your user in every project.
  • Project Skills: .claude/skills/<skill-name>/SKILL.md inside the repository — versioned with the code and shared with the team.
  • Plugin Skills: installed through a plugin marketplace with the /plugin command — managed per plugin rather than per folder.

If the folder sits anywhere else — a Downloads folder, a random subdirectory, one level too deep — Claude Code will not see it, no matter how well the Skill is written.

What a valid SKILL.md looks like

Activation starts with the YAML frontmatter at the top of the file. Keep the description concrete and say when the Skill applies: that sentence is the trigger Claude reads.

~/.claude/skills/release-notes/SKILL.md
---
name: release-notes
description: Draft changelogs and release notes from git history and recent PR titles. Use when the user asks to write or update release notes.
---

# Release notes

1. Collect merged PR titles since the last tag.
2. Group them under Added, Changed, Fixed.
3. Keep one line per change, in the user's voice.

Two details matter most. First, the description should explain when to use the Skill, not just what it contains. Second, keep supporting scripts and templates inside the same folder — a Skill can reference its own files by relative path.

Activating the Skill in a session

  1. Place the Skill folder in ~/.claude/skills (personal) or .claude/skills in your project (shared with the repo).
  2. Start a new Claude Code session. Skills are discovered when a session starts, so an already-running session will not pick up a folder you just added.
  3. Ask Claude what it can do — for example, what skills are available in this project? — and confirm your Skill is listed.
  4. Work on a real task that matches the description. When the task fits, Claude loads the full Skill instructions and follows them.

When a Skill refuses to activate

  • Wrong location: the folder is nested one level too deep, so SKILL.md is not where Claude expects it.
  • Invalid frontmatter: a missing name, an empty description, or stray characters before the opening ---.
  • Stale session: the session started before the Skill was added. Restart the session.
  • Unclear description: the Skill is found but never selected, because the description does not match how you phrase the task.
  • Duplicate Skills: two Skills with overlapping descriptions compete for the same job; remove or rename the weaker one.

Managing activation across projects and agents

Manual activation is fine for one project and one agent. It stops scaling when you maintain Skills for several projects and several tools: the same copy-paste routine repeats for Claude Code, Codex, and Gemini CLI, each with its own directories, and the installed copies slowly drift apart.

SkillSlot, a local-first macOS app, keeps one Vault of your Skills and deploys them as Loadouts — reusable sets — to Claude Code and other agents with an explicit action. Instead of wondering whether the right folder reached the right project, you pick the Loadout, pick the target, and deploy.

Skip the folder ceremony

Download SkillSlot for macOS and activate Loadouts in Claude Code without manual copying.

Download for macOS