Back to Blog

How to Create and Use Claude Code Skills

If you’ve been anywhere near the AI developer space lately, you’ve probably heard the phrase “Claude Skills” thrown around. Maybe in a YouTube video, a Discord server, or a newsletter from someone who definitely oversold it.

This post is not that.

This is the version that skips the hype and gets you actually using them — understanding what they are, why they matter, and how to build one from scratch. If you give me a few minutes, you’ll walk away with everything you need to start adding skills to your own Claude Code workflow.

Let’s get into it.

What Is a Skill, Actually?

At its core, a Claude Code skill is a reusable prompt template that you can invoke with a simple slash command.

Think of it like a macro, but smarter. Instead of replaying a fixed sequence of keystrokes, a skill expands into a full, context-aware prompt that Claude reads and acts on. You type /commit and Claude knows to look at your staged changes, write a good commit message, follow your conventions, and get it done. You type /review-pr and Claude knows to pull up the diff, think critically about it, and give you structured feedback.

The slash command is just the trigger. The skill is the instruction set underneath it.

What makes this genuinely powerful is that skills are not one-size-fits-all. They live in your project or your user config, they can be scoped to specific workflows, and they can be as simple or as detailed as the task demands. A skill for a Solidity auditor is going to look very different from a skill for someone who spends most of their time writing blog posts.

That specificity is the whole point.

Why They’re Worth Adding to Your Workflow

Here’s the honest pitch for why skills are worth your time.

Every developer has a set of tasks they do repeatedly. Code review. Writing commit messages. Refactoring to a consistent style. Generating tests. Debugging a specific type of error. For most of those tasks, you end up either writing the same long prompt over and over, or you give Claude a vague instruction and spend time correcting the output to match what you actually wanted.

Skills solve both of those problems.

When you encode your intent, your standards, and your context into a skill once, every future invocation starts from that high baseline. You stop explaining yourself. Claude stops guessing. The output quality goes up and the friction goes down, and that compounds every single time you use it.

There’s also a collaboration angle that’s easy to miss. Skills can live in a project repository. That means your entire team shares the same set of Claude behaviors without anyone having to remember to pass the right context. A junior dev running /review-pr gets the same quality of automated feedback as a senior dev running it. The skill carries the institutional knowledge, not the individual.

How to Create a Skill

Skills are stored as markdown files in a .claude/skills/ directory. This can be at the user level (~/.claude/skills/) to make it available everywhere, or inside a specific project’s .claude/skills/ folder to scope it to that repo.

Each skill file has two parts: a frontmatter block that defines metadata, and a body that contains the actual prompt Claude will execute.

Here’s what a minimal skill looks like:

---
name: summarize-pr
description: Summarize the current PR in plain language for a non-technical stakeholder
---

Look at the git diff between this branch and main.
Write a plain-English summary of what changed and why it matters - 
as if you're explaining it to someone who doesn't write code.
Keep it to three to five sentences. 
Focus on the outcome, not the implementation.

That’s it. The name becomes the slash command — /summarize-pr. The description tells Claude when this skill is relevant, which matters for skills that are meant to trigger automatically in certain contexts. The body is the prompt.

A few things that make a skill actually good:

Be specific about the output format. Claude can produce almost anything, but it does better when you tell it exactly what shape the response should take. “Three to five sentences” is more useful than “a brief summary.”

Include the why, not just the what. A skill that explains the intention behind the task will produce better results than one that just lists instructions. Claude is reasoning about your request, not executing it mechanically.

Think about context. What does Claude need to know to do this well? Does it need to read a specific file? Check the git diff? Look at recent commits? A good skill either makes that explicit or trusts Claude to look for the right signals.

If writing the skill manually feels like too much of a cold start, there’s a built-in shortcut: the /skill-creator skill. Tell Claude what you want to automate, and it’ll help you draft the skill file, write the description, and get it into the right location. It’s a good way to iterate quickly without getting bogged down in the syntax.

How to Execute a Skill

Using a skill once it exists is about as simple as it gets.

In Claude Code, you type the slash command:

/summarize-pr

Claude reads the skill, expands it into the full prompt, and executes it in the context of your current session. If you’re in a project that has project-level skills, those are available alongside any user-level skills you’ve defined globally.

Some skills are designed to be invoked explicitly, like the commit or review examples above. Others are configured with descriptions that tell Claude to trigger them automatically when certain conditions are met — for example, a skill that activates whenever Claude notices you’re working with Solidity contracts, or whenever you’re about to push to a protected branch.

That distinction matters. Explicit skills are great for on-demand tasks where you know exactly when you want the behavior. Automatic skills are better for guardrails and consistency — things you want to happen every time without having to remember to ask.

You can also pass arguments to a skill when you invoke it:

/review-pr 143

In that case, the argument gets passed into the skill’s prompt and Claude uses it as part of the context. Whether a skill accepts arguments depends on how it’s written.

A Few Things Worth Knowing

Skills are just files. That means they’re versionable, shareable, and editable like any other part of your codebase. If a skill isn’t producing what you want, you open the file, tweak the prompt, and try again. There’s no dashboard to log into, no settings panel to navigate. It’s text.

The description field is more important than it looks. Claude reads skill descriptions to decide which ones are relevant to a given task. A vague description means a skill that doesn’t trigger when it should, or triggers when it shouldn’t. Put enough information in the description that a reasonable person — or Claude — could tell at a glance what this skill is for and when to use it.

Start with one. The temptation when you first discover skills is to sit down and build out an entire library of twenty of them. Resist that. Pick the one task in your workflow that you repeat most often and wish was faster. Build a skill for that. Use it for a week. Then build another one. The best skill library is the one you actually use, not the most comprehensive one you can imagine.

The Bigger Picture

Skills are one of those features that sound modest on paper and then quietly change how you work once you start using them.

The mental model shift is important: instead of thinking of Claude as something you prompt from scratch every time, you start thinking of it as something you configure. You’re building a version of Claude that knows your project, your standards, and your preferences — and that knowledge accumulates in files that live right next to your code.

That’s a fundamentally different relationship with an AI tool. And it’s the direction that serious AI-assisted development is heading.

The developers who win with this stuff won’t necessarily be the ones using the most powerful models. They’ll be the ones who took the time to build the right scaffolding around those models — and skills are one of the best pieces of scaffolding available right now.

Worth the ten minutes to get started.