Back to the blog

Install and Configure Skills in Claude Code

Create or install a Claude Code skill with SKILL.md, choose personal or project scope, add supporting files, verify it, and troubleshoot discovery.

Published
Last verified

Install a Claude Code skill by placing a directory containing SKILL.md in ~/.claude/skills/ for personal use or .claude/skills/ for a project. Give the skill a specific description, keep supporting files beside it, and test both automatic and explicit invocation.

Choose a scope

  • Personal: ~/.claude/skills/<skill-name>/SKILL.md applies across your projects.
  • Project: <project>/.claude/skills/<skill-name>/SKILL.md can be reviewed and shared with that repository.
  • Plugin: <plugin>/skills/<skill-name>/SKILL.md is distributed with the plugin and uses a plugin namespace.

Use project scope for team workflows and personal scope for instructions that should follow only your account. Do not place credentials in either scope.

1. Create the skill

mkdir -p ~/.claude/skills/review-release

Create ~/.claude/skills/review-release/SKILL.md:

---
name: review-release
description: Review a release candidate for missing verification, unsafe secrets, and incomplete notes. Use before publishing a release.
---

Read the release notes and changed files. Report blocking issues first, then list the commands used to verify the candidate.

The directory name is the invocation name. A narrow description improves automatic selection and makes the skill’s purpose clear to collaborators.

2. Add supporting files safely

Put templates, references, or scripts inside the skill directory and link to them with relative paths from SKILL.md. Keep the main instructions focused and load supporting material only when needed. Do not include API keys, local absolute paths, generated logs, or customer data.

For project scope, copy the whole directory to .claude/skills/review-release/ and review it before committing.

3. Verify the skill

Claude Code watches existing skill directories for changes. Start a session and test explicit invocation:

/review-release

Then ask for the same task in natural language to verify that the description triggers appropriately. Confirm referenced files resolve and any commands behave safely in a disposable project.

Update or remove a skill

Edit SKILL.md and its supporting files together so references do not drift. Re-run both invocation tests after each update. To remove a skill, delete its entire directory and confirm it no longer appears; if you created a top-level skills directory after the session started, restart Claude Code so it can watch that location.

Troubleshooting

  • Missing skill: confirm the exact path and uppercase filename SKILL.md.
  • Wrong skill triggers: make the frontmatter description more specific about when it should and should not run.
  • Supporting file missing: use a path relative to the skill directory and include the file when copying the skill.
  • Project skill ignored: open Claude Code from the intended repository and confirm the project path is in scope.
  • Old command conflict: if .claude/commands/ contains the same name, the skill takes precedence; consolidate the duplicate intentionally.

Official sources

These instructions were checked against the following vendor documentation.