AI for Coding
Claude Code Skills: How to Install, Create, and Use Them

Image: Flickr / Wikimedia Commons / Unsplash

Claude Code Skills: How to Install, Create, and Use Them

Turn repeated coding instructions into reusable skills that Claude can discover automatically or run as slash commands.

August 9, 202625 minutes

Claude Code skills turn repeatable instructions into reusable workflows that Claude can discover when relevant or run through a slash command. This guide shows you how to install a standalone skill, add skills through plugins, create a focused SKILL.md file, and test whether it triggers and produces the result you intended.

Best For

  • Developers who repeat the same review, testing, or deployment instructions
  • Teams that want shared project workflows under version control
  • Claude Code users evaluating skills and plugins
  • Technical leads standardizing how AI-assisted work is performed

Requirements

  • A working Claude Code installation
  • A terminal and text editor
  • A Git repository for project-level skills
  • A skill folder or plugin you trust if you are installing third-party content

What Claude Code skills actually do

A Claude Code skill is a folder whose required entry point is SKILL.md. The file combines YAML frontmatter with Markdown instructions. Claude reads the description to decide when the skill is relevant, then loads the full instructions only when the skill is used.

Use a skill for a repeatable procedure, checklist, reference, or multi-step workflow. Keep stable project facts and broad coding conventions in CLAUDE.md. Move a procedure into a skill when it should load only for a specific job, such as reviewing a diff, preparing a release, or debugging an API.

Choose where the skill should live

Scope determines who can use the skill. Choose the narrowest location that matches the workflow. A personal skill is convenient for your own repeated tasks. A project skill is better when the repository should define and version the workflow. Plugin skills are useful when a package distributes skills with related agents, hooks, or MCP servers.

  • Personal: ~/.claude/skills/<skill-name>/SKILL.md, available across your projects.
  • Project: .claude/skills/<skill-name>/SKILL.md, shared with people who use that repository.
  • Plugin: <plugin>/skills/<skill-name>/SKILL.md, available wherever the plugin is enabled.
  • Enterprise: managed by an administrator for everyone in the organization.

Sources for this section

Install a standalone Claude Code skill

Standalone skills do not need a special installer. Place the complete skill folder in a Claude Code discovery directory. Review third-party files before copying them, especially scripts, hooks, dynamic shell commands, and allowed-tools entries.

  1. 1.Choose personal scope for a skill you want in every project, or project scope for a workflow the repository should share.
  2. 2.Copy the whole skill folder, not only SKILL.md, so referenced scripts, templates, examples, and reference files remain available.
  3. 3.Confirm that the destination contains <skill-name>/SKILL.md.
  4. 4.Open Claude Code in the project and type / to check that the skill appears. If you created the top-level skills directory during the current session, restart Claude Code once.

Copy a reviewed skill into your personal skills directory:

mkdir -p ~/.claude/skills cp -R [SKILL_FOLDER] ~/.claude/skills/

Or install it only for the current repository:

mkdir -p .claude/skills cp -R [SKILL_FOLDER] .claude/skills/

Install skills that come inside a plugin

Claude Code plugins can bundle skills with agents, hooks, MCP servers, and other capabilities. Use the plugin browser when you want a packaged extension rather than a standalone skill folder. Read the plugin details and requested capabilities before enabling it.

Run the interactive plugin browser, open Discover, inspect the plugin, and install it:

/plugin

For a known plugin in Anthropic's official marketplace, use this pattern inside Claude Code:

/plugin install [PLUGIN_NAME]@claude-plugins-official

If the installation summary says a reload is required, run /reload-plugins. When it says the plugin is already active, you can use its skills immediately.

Sources for this section

Create your first Claude Code skill

Start with one clear outcome. The description should say what the skill does and when Claude should use it. The body should tell Claude exactly what to inspect, what process to follow, what output to return, and how to handle common edge cases.

Create a project skill for reviewing uncommitted changes:

mkdir -p .claude/skills/review-changes

Save the following as .claude/skills/review-changes/SKILL.md:

--- name: review-changes description: Reviews uncommitted changes for bugs, regressions, risky assumptions, and missing tests. Use when the user asks to review a diff or prepare changes for commit. --- # Review current changes 1. Inspect the current Git diff and the files it touches. 2. Identify correctness bugs, regressions, security risks, and missing tests. 3. Prioritize findings by severity and cite the affected file and line. 4. If no actionable problems are found, say so clearly. 5. End with a short summary of the change and residual verification gaps.

How to use Claude Code skills

There are two ways to use a skill. Ask naturally and let Claude match the request to the skill description, or invoke the skill directly with its slash command. Direct invocation is useful when you want deterministic control over which workflow runs.

Test automatic discovery with a request that closely matches the description:

Review my uncommitted changes and flag anything risky before I commit.

Then test the direct Claude Code command:

/review-changes

If your skill supports a variable task, include $ARGUMENTS in SKILL.md and pass the value after the command, such as /fix-issue 123.

Make the skill useful without making it huge

A good skill is specific enough to trigger reliably and short enough to follow. Keep the core procedure in SKILL.md. Put detailed references, templates, examples, and scripts in supporting files, then tell Claude when to read or run each one.

Use concrete trigger phrases in the description. Define the expected output and failure behavior. If the workflow changes files, deploys code, sends messages, or creates other side effects, consider disable-model-invocation: true so only a user can start it.

  • Give the skill one primary outcome.
  • Name the inputs it needs and the output it must return.
  • Reference supporting files with relative links.
  • Include an example when output format matters.
  • Add edge-case instructions for empty input, failed commands, and missing dependencies.
  • Keep secrets, tokens, and private data out of SKILL.md.

Review permissions before you trust a skill

Treat a third-party skill as executable workflow configuration. Read SKILL.md and every referenced script before installation. Look for dynamic shell injection, broad allowed-tools entries, network calls, destructive commands, secret access, and instructions that send or publish data.

The allowed-tools field can let a skill use named tools without a per-use approval while the skill is active. Grant only what the workflow needs. Keep deployment, publishing, purchasing, deletion, and messaging skills user-invoked unless you have a strong reason to automate them.

When the skill does not trigger or behaves badly

If the skill is missing, confirm the folder path and filename capitalization. If you created a new top-level skills directory after starting Claude Code, restart once. If a plugin skill is missing, verify that the plugin is enabled and reload plugins when the installation summary asks you to.

If the skill triggers too rarely, rewrite the description with the exact requests and contexts that should activate it. If it triggers too often, narrow the description or add disable-model-invocation: true. If output quality is inconsistent, add an explicit output contract, an example, and instructions for edge cases.

Check the skill before your team relies on it

Run the skill on a safe test task and compare the result with the workflow you intended. A skill is ready when it is discoverable, follows the right procedure, returns a usable output, and fails safely.

Turn one useful skill into a reusable system

Start with the review skill above, use it on real work, and edit it when the workflow misses a step. Once the skill is stable, commit project skills with the repository so the team can review changes through normal code review.

Next, explore Claude Code subagents when a workflow needs a separate specialist context, or review the broader beginner guide if you still need to set up Claude Code itself.

Brian Weerasinghe

AI & Technology Researcher

Brian Weerasinghe is the founder and editor of AI Eating The World, where he covers artificial intelligence, tech companies, layoffs, startups, and the future of work. His reporting focuses on how AI is transforming businesses, products, and the global workforce. He writes about major developments across the AI industry, from enterprise adoption and funding trends to the real-world impact of automation and emerging technologies.

Trusted AI LeaderTrusted AI LeaderTrusted AI LeaderTrusted AI Leader
Trusted by 10,000+ builders

The AI brief for people adapting to changes in work

Join readers tracking AI news, workflow shifts, and practical tools they can use to adapt faster.

Free, no spam, unsubscribe anytime.