Claude Skills: Give your AI Superpowers

In the Matrix, there’s a scene where Morpheus is loading training programs into Neo’s brain and he wakes up from it and says, “I know Kung Fu.”

That’s basically what Claude skills are.

They’re a set of instructions that teach Claude how to do a certain thing. You explain it once in a document, like a training manual, and hand that to Claude. The next time you ask Claude to do that thing, it reaches for this document, reads the instructions, and does the thing.

You never need to explain yourself twice.

In this article, I’ll go over everything Claude Skills related, how it works, where to use it, and even how to build one yourself.

Got Skills?

A Skill is essentially a self-contained “plugin” (also called an Agent Skill) packaged as a folder containing custom instructions, optional code scripts, and resource files that Claude can load when performing specialized tasks.

In effect, a Skill teaches Claude how to handle a particular workflow or domain with expert proficiency, on demand. For example, Anthropic’s built-in Skills enable Claude to generate Excel spreadsheets with formulas, create formatted Word documents, build PowerPoint presentations, or fill PDF forms, all tasks that go beyond Claude’s base training.

Skills essentially act as on-demand experts that Claude “calls upon” during a conversation when it recognizes that the user’s request matches the Skill’s domain. Crucially, Skills run in a sandboxed code execution environment for safety, meaning they operate within clearly defined boundaries and only perform actions you’ve allowed.

Teach Me Sensei

At minimum, a Skill is a folder containing a primary file named SKILL.md (along with any supplementary files or scripts). This primary file contains the Skill’s name and description.

This is followed by a Markdown body containing the detailed instructions, examples, or workflow guidance for that Skill. The Skill folder can also include additional Markdown files (reference material, templates, examples, etc.) and code scripts (e.g. Python or JavaScript) that the Skill uses.

The technical magic happens through something called “progressive disclosure” (which sounds like a therapy technique but is actually good context engineering).

At startup, Claude scans every skill’s metadata for the name and description. So in context it knows that there’s a PDF skill that can extract text.

When you’re chatting with Claude and you ask it to analyze a PDF document, it realizes it needs the PDF skill and reads the rest of the primary file. And if you uploaded any supplementary material, Claude decides which ones it needs and loads only that into context.

So this way, a Skill can encapsulate a large amount of knowledge or code without overwhelming the context window. And if multiple Skills seem relevant, Claude can load and compose several Skills together in one session.

Code Execution

One powerful aspect of Skills is that they can include executable code as part of their toolkit. Within a Skill folder, you can provide scripts (Python, Node.js, Bash, etc.) that Claude may run to perform deterministic operations or heavy computation.

For example, Anthropic’s PDF Skill comes with a Python script that can parse a PDF and extract form field data. When Claude uses that Skill to fill out a PDF, it will choose to execute the Python helper script (via the sandboxed code tool) rather than attempting to parse the PDF purely in-token.

To maintain safety, Skills run in a restricted execution sandbox with no persistence between sessions.

Want to build your own AI agents?

Sign up for my newsletter covering everything from the tools, APIs, and frameworks you need, to building and serving your own multi-step AI agents.

wait But WHy?

If you’ve used Claude and Claude Code a lot, you may be thinking that you’ve already come across similar features. So let’s clear up the confusion, because Claude’s ecosystem is starting to look like the MCU. Lots of cool characters but not clear how they all fit together.

Skills vs Projects

In Claude, Projects are bounded workspaces where context accumulates. When you create a project, you can set project level instructions, like “always use the following brand guidelines”. You can also upload documents to the project.

Now every time you start a new chat in that project, all those instructions and documents are loaded in for context. Over time Claude even remembers past conversations in that Project.

So, yes, it does sound like Skills because within the scope of a Project you don’t need to repeat instructions.

The main difference though is that Skills work everywhere. Create it once, and use it in any conversation, any project, or any chat. And with progressive disclosure, it only uses context when needed. You can also string multiple Skills together.

In short, use Projects for broad behavior customization and persistent context, and use Skills for packaging repeatable workflows and know-how. Project instructions won’t involve coding or file management, whereas Skills require a bit of engineering to build and are much more powerful for automating work.

Skills vs MCP

If you’re not already familiar with Model Context Protocol, it’s just a way for Claude to connect with external data and APIs in a secure manner.

So if you wanted Claude to be able to write to your WordPress blog, you can set up a WordPress MCP and now Claude can push content to it.

Again, this might sound like a Skill but the difference here is that Skills are instructions that tell Claude how to do tasks, while MCP is what allows Claude to take the action. They’re complementary.

You can even use them together, along with Projects!

Let’s say you have a Project for writing blog content where you have guidelines on how to write. You start a chat with a new topic you want to write about and Claude writes it following your instructions.

When the post is ready, you can use a skill to extract SEO metadata, as well as turn the content into tweets. Finally, use MCPs to push this content to your blog and various.

Skills vs Slash Commands (Claude Code Only)

If you’re a Claude Code user, you may have come across custom slash commands that allow you to define a certain process and then call that whenever you need.

This is actually the closest existing Claude feature to a Skill. The main difference is that you, the user, triggers the custom slash command when you want it, and Skills can be called by Claude when it determines it needs that.

Skills alos allow for more complexity whereas custom slash commands are for simpler tasks that you repeat often (like running a code review).

Skills vs Subagents (Also Claude Code Only)

Sub-agents in Claude Code refer to specialized AI agent instances that can be spawned to help the main Claude agent with specific sub-tasks. They have their own context window and operate independently.

A sub-agent is essentially another AI persona/model instance running in parallel or on-demand, whereas a Skill is not a separate AI. It’s more like an add-on for the main Claude.

So while a Skill can greatly expand what the single Claude instance can do, it doesn’t provide the parallel processing or context isolation benefits that sub-agents do.

You already have skills

It turns out you’ve been using Skills without realizing it. Anthropic built four core document skills:

  • DOCX: Word documents with tracked changes, comments, formatting preservation
  • PPTX: PowerPoint presentations with layouts, templates, charts
  • XLSX: Excel spreadsheets with formulas, data analysis, visualization
  • PDF: PDF creation, text extraction, form filling, document merging

These skills contain highly optimized instructions, reference libraries, and code that runs outside Claude’s context window. They’re why Claude can now generate a 50-slide presentation without gasping for context tokens like it’s running a marathon.

These are available to everyone automatically. You don’t need to enable them. Just ask Claude to create a document, and the relevant skill activates.

Additionally, they’ve added a bunch of other skills and open-sourced them so you can see how they’re built and how it works. Just go to the Capabilities section in your Settings and toggle them on.

How To Build Your Own Skill

Of course the real value of skills comes from building your own, something that suits the work you do. Fortunately, it’s not too hard. There’s even a pre-built skill you may have noticed in the screen above that builds skills.

But let’s walk through it manually so you understand what’s happening. On your computer, create a folder called team-report. Inside, create a file called SKILL.md:

Python
---
name: team-report #no capital letters allowed here.
description: Creates standardized weekly team updates. Use when the user wants a team status report or weekly update.
---

# Weekly Team Update Skill

## Instructions

When creating a weekly team update, follow this structure:

1. **Wins This Week**: 3-5 bullet points of accomplishments
2. **Challenges**: 2-3 current blockers or concerns  
3. **Next Week's Focus**: 3 key priorities
4. **Requests**: What the team needs from others

## Tone
- Professional but conversational
- Specific with metrics where possible
- Solution-oriented on challenges

## Example Output

**Wins This Week:**
- Shipped authentication refactor (reduced login time 40%)
- Onboarded 2 new engineers successfully
- Fixed 15 critical bugs from backlog

**Challenges:**
- Database migration taking longer than expected
- Need clearer specs on project X

**Next Week's Focus:**
- Complete migration
- Start project Y implementation  
- Team planning for Q4

**Requests:**
- Design review for project Y by Wednesday
- Budget approval for additional testing tools

That’s it. That’s the skill. Zip it up and upload this to Claude (Settings > Capabilities > Upload Skill), and now Claude knows how to write your team updates.

Leveling Up: Adding Scripts and Resources

For more complex skills, you can add executable code. Let’s say you want a skill that validates data:

Python
data-validator-skill/
├── SKILL.md
├── schemas/
│   └── customer-schema.json
└── scripts/
    └── validate.py

Your SKILL.md references the validation script. When Claude needs to validate data, it runs validate.py with the user’s data. The script executes outside the context window. Only the output (“Validation passed” or “3 errors found”) uses context.

Best Practices

1. Description is Everything

Bad description: “Processes documents”

Good description: “Extracts text and tables from PDF files. Use when working with PDF documents or when user mentions PDFs, forms, or document extraction.”

Claude uses the description to decide when to invoke your skill. Be specific about what it does and when to use it.

2. Show, Don’t Just Tell

Include concrete examples in your skill. Show Claude what success looks like:

Python
## Example Input
"Create a Q3 business review presentation"

## Example Output
A 15-slide PowerPoint with:
- Executive summary (slides 1-2)
- Key metrics dashboard (slide 3)
- Performance by segment (slides 4-7)
- Challenges and opportunities (slides 8-10)
- Q4 roadmap (slides 11-13)
- Appendix with detailed data (slides 14-15)

3. Split When It Gets Unwieldy

If your SKILL.md starts getting too long, split it:

Python
financial-modeling-skill/
├── SKILL.md              # Core instructions
├── DCF-MODELS.md         # Detailed DCF methodology  
├── VALIDATION-RULES.md   # Validation frameworks
└── examples/
    └── sample-model.xlsx

4. Test With Variations

Don’t just test your skill once. Try:

  • Different phrasings of the same request
  • Edge cases
  • Combinations with other skills
  • Both explicit mentions and implicit triggers

Security (do not ignore this)

We’re going to see an explosion of AI gurus touting their Skill directory and asking you to comment “Skill” to get access.

The problem is Skills can execute code, and if you don’t know what this code does, you may be in for a nasty surprise. A malicious skill could:

  • Execute harmful commands
  • Exfiltrate your data
  • Misuse file operations
  • Access sensitive information
  • Make unauthorized API calls (in environments with network access)

Anthropic’s guidelines are clear: Only use skills from trusted sources. This means:

  1. You created it (and remember creating it)
  2. Anthropic created it (official skills)
  3. You thoroughly audited it (read every line, understand every script)

So if you found it on GitHub or some influencer recommended it, stay away. At the very least, be skeptical and:

  • Read the entire SKILL.md file
  • Check all scripts for suspicious operations
  • Look for external URL fetches (big red flag)
  • Verify tool permissions requested
  • Check for unexpected network calls

Treat skills like browser extensions or npm packages: convenient when trustworthy, catastrophic when compromised.

Use Cases and Inspiration

The best Skills are focused on solving a specific, repeatable task that you do in your daily life or work. This is different for everyone. So ask yourself: What do I want Claude to do better or automatically?

I’ll give you a few examples from my work to inspire you.

Meeting Notes and Proposals

We all have our AI notetakers and they each give us summaries and transcripts that we don’t read. What matters to me is taking our conversation and extracting the client’s needs and requirements, and then turning that into a project proposal.

Without Skills, I would have to upload the transcript to Claude and give it the same instructions every time to extract the biggest pain points, turn it into a proposal, and so on.

With Skills, I can define that once, describing exactly how I want it, and upload that to Claude as my meeting analyzer skill. From now on, all I have to do is tell Claude to “analyze this meeting” and it uses the Skill to do it.

Report Generator

When I run AI audits for clients, I often hear people say that creating reports is very time consuming. Every week they have to gather data from a bunch of source sand then format it into a consistent report structure with graphs and summaries and so on.

Now with Claude skills they can define that precisely, even adding scripts to generate graphs and presentation slides. All they have to do is dump the data into a chat and have it generate a report using the skill.

Code Review

If you’re a Claude Code user, building a custom code review skill might be worth your time. I had a custom slash command for code reviews but Skills offer a lot more customization with the ability to run scripts.

Content Marketing

I’ve alluded to this earlier in the post but there are plenty areas where I repeat instructions to Claude while co-creating content, and Skills allows me to abstract and automate that away.

Practical Next Steps

If you made it this far (seriously, thanks for reading 3,000 words about AI file management), here’s what to do:

Immediate Actions:

  1. Enable Skills: Go to Settings > Capabilities > Skills
  2. Try Built-In Skills: Ask Claude to create a PowerPoint or Excel file
  3. Identify One Pattern: What do you ask Claude to do repeatedly?
  4. Create Your First Skill: Use the team report example as template
  5. Test and Iterate: Use it 5 times, refine based on results

The Bottom Line

If you thought MCP was big, I think Skills have the potential to be bigger.

They let you package expertise once and deploy everywhere. They let domain experts contribute without coding. They let teams standardize without centralized infrastructure. They let developers compose capabilities like LEGO blocks.

Start with something small, and if you need help with building more Skills, subscribe below and reach out to me.

Want to build your own AI agents?

Sign up for my newsletter covering everything from the tools, APIs, and frameworks you need, to building and serving your own multi-step AI agents.