An agent skill is a folder of instructions, plus optional resources, that teaches Claude Code how to handle one kind of task. Its required SKILL.md starts with frontmatter holding a name and a description, followed by the instructions.1

How a skill gets used

At startup Claude Code scans the skill locations but loads only names and descriptions. It compares each request with those descriptions by meaning, not by an exact command string, and loads a matching skill on demand.1 The description is therefore both discovery metadata and the main trigger. How the rest of the skill stays out of context until needed is on Progressive disclosure.

After adding, editing, or removing a skill, restart Claude Code before testing, and test with several realistic phrasings rather than the words copied from the description.1

When a skill is the right tool

Good candidates are repeated, task-specific procedures: code-review checklists, commit formats, brand guidance, documentation templates, framework-specific debugging. Having to explain the same task repeatedly is the course’s signal that a skill may be worthwhile.1 Rules that always apply belong in CLAUDE.md instead; see Claude Code extension mechanisms.

Where skills live and who wins a name clash

ScopeLocationUse
Personal~/.claude/skills/<skill-name>/SKILL.mdPreferences and workflows across projects
Project.claude/skills/<skill-name>/SKILL.mdRepository standards shared through version control

When two skills share a name, precedence is enterprise managed, then personal, then project, then plugin. Specific names such as frontend-review avoid clashes better than review.1

Sharing

AudienceMethod
One repository or teamCommit .claude/skills to Git
Several repositories or the communityPackage as a plugin in a marketplace
Whole organizationEnterprise managed settings (highest priority)

As described in the course.1

Skills are not limited to Claude Code: an agent in Claude Managed Agents bundles skills alongside its model, system prompt, tools, and MCP servers.2

In Claude Code GitHub Actions, repository skills need actions/checkout so .claude/skills/ exists on the runner, and plugin skills must be installed through plugin_marketplaces and plugins first.3

Skills are files

Because a skill is a plain file, it can be versioned, shared, and even edited by another agent: Warp’s self-improving skill loop has a scheduled agent propose edits to a skill through pull requests.4 In a sales rollout, a top performer’s routine written once as a skill can be provisioned into the team bundle, and updating the file updates it for everyone.5 The AI-native SDLC playbook puts organization-wide policy in skills rather than in an ever-growing repository CLAUDE.md.6

Troubleshooting

Run the Agent Skills validator first to rule out structural problems, then match the symptom:1

SymptomLikely causeFirst fix
Does not triggerDescription does not overlap real requestsAdd phrases users actually say
Does not loadWrong directory, filename, or YAMLPut SKILL.md in a named skill directory; inspect claude --debug
Wrong skill activatesDescriptions too similarMake scope and trigger language distinct
Personal skill ignoredHigher-priority skill has the same nameCheck precedence; rename
Plugin skill absentCache, install, or plugin structureValidate, clear cache, restart, reinstall
Runtime failureMissing dependency, permission, bad pathInstall requirements, chmod +x scripts, use forward slashes

Footnotes

  1. Introduction to Claude Code Agent Skills (study guide) 2 3 4 5 6 7

  2. Claude Managed Agents

  3. Claude Code GitHub Actions

  4. How Warp Builds Self-Improving Agents on Claude

  5. Building an AI-Native Revenue Organization

  6. The AI-Native SDLC Playbook