How to use Claude Code Skills in a project
A step-by-step guide to installing, invoking, debugging, and safely improving Claude Code Skills in a real repository.

Claude Code Skills are easiest to use when you treat them like small pieces of project tooling: keep them close to the code they understand, give them one clear job, and make the result verifiable.
Step 1: choose the scope
Create a project Skill when the workflow depends on local conventions, scripts, or architecture:
.claude/skills/review.mdCreate a global Skill when you want the same workflow in every repository:
~/.claude/skills/branch-readiness.mdDo not start global if the instructions mention project-specific paths. Moving a local workflow to the global directory too early is a common source of wrong assumptions.
Step 2: add valid frontmatter
The description should explain the trigger and outcome, not just repeat the filename.
---
description: Review the current diff for correctness, security, regressions, and missing tests.
---Then write the workflow in normal Markdown. Include what Claude should read, what it may change, what it must never do, and how it should report the result.
Step 3: invoke the Skill
Open Claude Code from the relevant project and type the slash command:
/reviewGive the Skill a narrow request when needed, such as /review the current checkout flow. The Skill should preserve its own checklist while using the request to focus the investigation.
For a one-off task, use a normal prompt instead. A Skill is valuable because it preserves the workflow across sessions, not because every request needs a special command.
Step 4: test it read-only first
The first version should inspect state and return a report without editing or pushing. Run it on a small, known change and check whether it:
- finds the right files;
- follows the repository's conventions;
- distinguishes evidence from assumptions;
- identifies missing tests or edge cases;
- avoids secrets and unrelated files.
Once the read-only behavior is reliable, you can add edits to a separate Skill or a clearly approved step. Keep deploy, database, and push actions behind explicit confirmation.
Troubleshooting discovery
If the Skill does not appear, check these in order:
- You are in the repository that contains
.claude/skills/. - The file ends in
.mdand is not accidentally nested one directory deeper. - The frontmatter starts and ends with
---. - The
descriptionis present and describes a real trigger. - The filename is a simple command name such as
review.md. - A fresh session can see the file.
If the command appears but behaves badly, shorten the instructions and add a first inspection step. Most failures come from an ambiguous scope or a Skill that tries to handle several unrelated jobs.
For reusable workflows, compare your file with the Claude Code Skills examples. If you want a ready-made starting point, use the Claude Code Skills Starter Kit.
Get the next post in your inbox
Practical tips for building with AI. One email per post.
Your email is used to send these updates. You can unsubscribe at any time. See our privacy policy.
Related posts
- 7 Claude Code Skills Worth BuildingSeven practical Claude Code Skills examples for code review, debugging, documentation, QA, releases, and safe repository work.
- Claude Code Skills vs Slash CommandsClaude Code Skills and slash commands are related but not identical. Learn how files, invocation, scope, and reusable workflows fit together.
- Claude Code Skills: Build and Use ThemLearn what Claude Code Skills are, where SKILL.md files live, how slash commands work, and how to build reusable workflows for real projects.