January 26, 2026
Claude Skills Deep Dive: Build Once, Use Forever — A Builder's Guide
I’ve told Claude how to format my X posts maybe 47 times. Same instructions. Same style rules. Same “no emoji, all lowercase, end with a > punchline” pattern.
every. single. time.
Then I discovered Skills. Now Claude just knows. I type xpost: [raw idea] and get 7 variants in my exact voice. No prompting. No explaining. No repeating myself like a broken record.
That’s the pitch. But Skills are way more than tweet formatters.
They’re how you package your expertise into something Claude can actually use — across any conversation, any project, any context. Think of them as the difference between explaining your job to a new intern every Monday versus having a senior colleague who already knows your playbook.
This guide breaks down everything I’ve learned building Skills for my own workflows. Real code, real examples, honest takes on what works and what doesn’t.
What Are Claude Skills, Actually?
Let’s skip the marketing fluff.
A Skill is a folder with instructions that Claude loads when relevant. At minimum, you need one file: SKILL.md. That’s it.
my-skill/
└── SKILL.md
The file has two parts:
- YAML frontmatter — metadata that tells Claude when to use the skill
- Markdown body — instructions Claude follows when the skill activates
Here’s the skeleton:
---
name: my-skill-name
description: A clear description of what this skill does and when to use it
---
# My Skill Name
[Instructions go here]
The magic is in the description. Claude reads it to decide: “Should I use this for what the user just asked?” A vague description means your skill never activates. A precise one means Claude becomes psychic about when you need it.
Simon Willison, the guy who co-created Django, put it this way: “Skills are conceptually extremely simple: a Markdown file telling the model how to do something. It’s somewhat bewildering how much new capability this unlocks.”
Skills vs MCP vs Slash Commands: When to Use What
This confused me at first. Anthropic has like three different ways to extend Claude. Here’s the mental model that finally clicked:
| Feature | What it does | Best for |
|---|---|---|
| MCP | Connects Claude to external data (APIs, databases, tools) | Getting information from somewhere |
| Slash Commands | Quick prompts you trigger manually with /command | One-off shortcuts you invoke explicitly |
| Skills | Procedural knowledge Claude loads automatically | Teaching Claude how to do something |
The key distinction: MCP connects Claude to data. Skills teach Claude what to do with that data.
You could have an MCP server that pulls your GitHub issues. But a Skill teaches Claude your specific review process — check for security issues first, use OWASP standards, format output with severity emojis.
They compose beautifully. MCP fetches the data. Skills process it your way.
Token Efficiency
Here’s a detail that matters for context-conscious builders:
Skills use “progressive disclosure” — a fancy term for lazy loading:
- Metadata only (~100 tokens): Claude sees the name and description of every available skill
- Full instructions (<5k tokens): Only loaded when Claude decides the skill is relevant
- Bundled resources: Scripts execute without loading code into context at all
So you can have 20 skills installed without bloating every conversation. Claude only loads what it needs.
Skills That Actually Ship: Developer Workflows
Let me show you what real developers are building. Not toy examples — actual workflows that save hours.
Planning Phase
software-architecture — Takes your vague “I want to build X” and turns it into architecture docs. System components, data flow, technology recommendations. It’s like having a senior architect on call.
feature-spec — Converts rough ideas into proper specifications. User stories, acceptance criteria, edge cases you forgot about.
Coding Phase
test-driven-development — Enforces red/green TDD discipline. Write the test first. Watch it fail. Then implement. No shortcuts.
artifacts-builder — Consistent React/HTML artifact creation. Remembers your component patterns, your styling preferences, your state management approach.
Quality Phase
code-review — Reviews PRs like a paranoid senior dev. Security (OWASP top 10), performance (N+1 queries, lazy loading), accessibility (WCAG AA). Outputs structured feedback with severity levels.
systematic-debugging — My favorite for stubborn bugs. Forces Claude through a root cause analysis instead of randomly changing code until something works.
Shipping Phase
git-commit — Consistent commit messages following your conventions. Never write “fixed stuff” again.
deploy-skill — Your deployment checklist, codified. Pre-flight checks, environment variables, rollback procedures.
Power User Territory
subagent-driven-development — This one’s wild. Breaks complex tasks into smaller pieces, spins up separate Claude instances for each, then synthesizes results. It’s agents all the way down.
The Skill-Creator Meta-Skill: Skills That Build Skills
Here’s where it gets recursive.
Anthropic built a Skill whose entire purpose is helping you build other Skills. It’s called skill-creator, and it’s legitimately useful.
How It Works
- Start a new chat: “I want to create a skill for [your workflow]”
- Claude asks clarifying questions about your process
- You explain like you’re onboarding a new hire
- Claude generates the entire skill structure — SKILL.md, reference files, scripts if needed
- You get a
.skillfile (which is just a ZIP) ready to upload
The questions Claude asks are actually good:
- “Can you give examples of when you’d use this skill?”
- “What makes output good for this type of work?”
- “Are there common mistakes you want me to avoid?”
Pro Tip
Don’t just answer the questions. Upload examples of your actual work. Claude learns your style better from real artifacts than from descriptions.
If you’re making a brand voice skill, upload 5 emails that nail the tone. Building a code review skill? Share 3 PRs with your feedback. The skill-creator uses these as training data.
Building Your First Skill: Real Code
Let’s build something practical. I’ll show you my actual X post writer skill, then we’ll break down why each part works.
The Complete Skill
---
name: x-post-writer
description: Generates X/Twitter posts and replies in Jonathan's signature indie hacker style. Triggers on "xpost" (new tweet, 7 variants) or "rpost" (reply to tweet, 3 variants). Translates FR→EN when needed. Style is concise, punchy, no emoji, no hashtags, all lowercase, with pop culture/tech refs and dry humor.
---
# X Post Writer
Transform raw ideas into polished X/Twitter content while preserving my authentic voice.
## Triggers
| Command | Use case | Output |
|---------|----------|--------|
| `xpost: [your text]` | New tweet | 7 variants |
| `rpost ([source tweet]) : [your reply]` | Reply to a tweet | 3 variants |
## Style Rules
### Language & Tone
- **Language**: Translate FR→EN if input is French. Output always in English.
- **Tone**: Indie hacker, builder, direct. No bullshit.
- **No emoji. No hashtags. Ever.**
- **Humor**: Dry, absurd analogies, pop culture/tech refs welcome.
### Formatting Rules
- **All lowercase**. No capital letters at the start of sentences. Ever.
- **Hook**: Max 10-12 words. One line. Grab attention instantly.
- **Body**: One thought per line. White space between sections.
### The Mandatory Closer
**Every single tweet must end with a `>` insight line.**
Format:
[tweet content]
[final insight, punchline, or takeaway]
This is non-negotiable. It's the signature move. The `>` line is the mic drop.
## Variants for xpost
1. **Core** — Raw idea, cleaned up. Direct.
2. **Teacher** — Actionable how-to. Must be genuinely valuable.
3. **Hot Take** — Subjective, opinionated. Take a stance.
4. **Story** — Add context, the journey behind.
5. **Contrarian** — Flip the common take.
6. **One-liner** — Ultra-condensed punchline.
7. **Collaborative** — Invite others to share.
What Makes This Work
Specific triggers: Claude knows exactly when to activate. “xpost:” and “rpost:” are unambiguous.
Concrete style rules: “All lowercase” is clearer than “casual tone”. “No emoji ever” leaves zero room for interpretation.
The signature element: That > closer. It’s weird, it’s distinctive, and it makes every post identifiable as mine. Claude would never guess this without being told.
Variant system: Seven options means I always find one that fits. The skill does the creative heavy lifting; I just pick.
Testing Your Skill
Two ways to verify it works:
-
Explicit invocation: Type the trigger directly. “xpost: just mass-delegated my coding to Claude Code”
-
Natural language: Ask something that matches the description. “Can you help me write some tweets about my new project?”
If Claude activates the skill, you’ll see it in the thinking output: “Using x-post-writer skill…”
Expert Insights: What the Power Users Say
I’ve been digging into what developers who’ve gone deep on Skills have learned. Here are the takes worth knowing:
“The most significant difference between Skills and previous attempts at extending LLM capabilities (like MCP and ChatGPT Plugins) is that they require a code execution environment. It’s a significant dependency, but it’s staggering how much it enables.”
“It’s somewhat bewildering how much new capability this unlocks.”
“Superpowers is a complete software development workflow for your coding agents. As soon as it sees that you’re building something, it doesn’t just jump into trying to write code. Instead, it steps back and asks you what you’re really trying to do.”
“It’s not uncommon for Claude to work autonomously for a couple hours at a time without deviating from the plan.”
“The persuasion principles from Robert Cialdini’s Influence work on LLMs under stress. Time pressure makes Claude skip helpful resources, just like humans. Subagents avoid this by starting fresh each task.”
“Skills aren’t about hiding context like subagents do. They aren’t prompts you explicitly invoke like slash commands. Skills are about discovery and determinism. Claude figures out when to use them. And when it does, it can leverage scripts to generate consistent, predictable output.”
“The barrier to entry is absurdly low. You start with a markdown file. That’s it. You experiment. You zip it. You send it to colleagues. They can try it, modify it, extract value immediately. No complex tooling. No hosting. No distribution problems.”
“Skills streamline our management accounting and finance workflows. Claude processes multiple spreadsheets, catches critical anomalies, and generates reports using our procedures. What once took a day, we can now accomplish in an hour.”
My Honest Take
I’ve been using Skills for a few months now. Here’s what I actually think:
What Works
The description is everything. Spend 80% of your effort on those 200 characters. A great description means the skill activates exactly when you need it. A mediocre one means you’re always typing /skill-name manually.
Simple skills > complex skills. My best-performing skills are focused on one thing. The temptation is to build a mega-skill that handles all your content. Resist it. Claude composes multiple focused skills better than one bloated one.
Scripts are underrated. If your skill involves any data processing, write a Python script. Claude executes it without loading the code into context. Deterministic output every time.
What’s Tricky
Testing is manual. There’s no “skill unit test” framework. You just… try it. Works? Great. Doesn’t? Tweak the description, try again.
Discovery can be flaky. Sometimes Claude picks the wrong skill. Sometimes it doesn’t activate when it should. Iteration helps, but it’s not 100% reliable.
The ecosystem is young. The community is building fast (check awesome-claude-skills on GitHub), but we’re still figuring out patterns. Best practices are emerging, not established.
The Bigger Picture
The thing is… Skills represent a shift in how we work with AI.
Instead of treating Claude like a smart autocomplete you have to prompt perfectly every time, you’re building a personalized toolkit. Your processes. Your standards. Your voice. Encoded once, applied forever.
The builders who invest in this now will have a significant advantage. Not because the technology is hard — it isn’t. But because the effort compounds. Every skill you build makes the next project faster.
distribution matters more than code quality. AI made building so accessible that markets are oversaturated, yet builders keep prioritizing development over validation. Skills flip this: build the workflow once, ship the outputs forever.
Resources & Next Steps
Official Documentation
- How to create custom Skills — The official guide
- Skills GitHub repository — Anthropic’s public skills, including the document editing ones
- Claude Code Skills docs — For Claude Code users
Community Resources
- awesome-claude-skills — Curated list of skills and resources
- obra/superpowers — Jesse Vincent’s battle-tested workflow library
- Simon Willison’s analysis — Deep dive from someone who understands this stuff
Start Here
- Pick one workflow you do at least 5 times a week
- Write the SKILL.md — description first, instructions second
- Test it with real tasks, not toy examples
- Iterate based on where Claude gets it wrong
Don’t try to automate everything at once. One good skill that actually works beats 10 half-baked ones.
Keep Building
I’m shipping apps and writing about the process. Skills are part of how I move fast without breaking everything (most of the time).
If you want more of this — real workflows, honest takes, occasional hot takes about building in public:
→ Follow me on X: @jonvolio
No fluff. No growth hacks. Just building.
the best developers will be the best delegators.