Claude Skills: Complete Guide to Creating
By Dorian Laurenceau
Claude Skills: Complete Guide to Creating & Sharing AI Skills
๐ Last reviewed: April 24, 2026. Updated with April 2026 findings and community feedback.
๐ Related articles: Building Skills, Technical Guide | Skills vs Projects vs Plugins | Cowork Plugins
What Is a Claude Skill?
A Claude Skill is a modular package that extends Claude's capabilities with specialized knowledge, workflows, and executable scripts. Unlike traditional system prompts that load everything into memory, Skills use progressive disclosure: instructions are only loaded when the conversation context triggers them.
Skill Components
๐ my-skill/
โโโ SKILL.md โ Main instructions + trigger
โโโ scripts/
โ โโโ validate.py โ Executable scripts
โโโ references/
โ โโโ guide.md โ Reference documentation
โ โโโ examples.md โ Concrete examples
โโโ templates/
โโโ output.md โ Output templates
| Component | Role | Required |
|---|---|---|
SKILL.md | Instructions, YAML trigger, procedure | โ |
scripts/ | Executable Python/Bash scripts | โ |
references/ | Documentation loaded on demand | โ |
templates/ | Standardized output templates | โ |
assets/ | Static files (images, configs) | โ |
The honest read on Claude Skills one year after the Skills announcement from Anthropic, tracked across r/ClaudeAI, r/LocalLLaMA, and the Anthropic Skills GitHub examples: Skills are the customization feature that finally makes Claude feel like a real programmable tool, and they are also the feature that most heavily rewards good writing. A Skill with a sloppy description and a bloated SKILL.md body triggers on the wrong tasks and ignores the ones it was built for; a Skill with a precise description field and tight procedures fires reliably. The mechanics are documented well enough; the craft is underdiscussed.
Where the community correctly pushes back on "just dump your workflow into a SKILL.md" advice: Skills work on the same attention substrate as every other prompt. Stuffing 3,000 tokens of procedure into one file degrades Claude's ability to follow any single step. The emerging patterns from power users favor small Skills that do one thing well, compose with other Skills, and defer heavy reference material to references/ loaded on demand rather than inlined.
Pragmatic rule from people building Skill libraries that survive: write the description field as if your only job is to help a future Claude decide whether to trigger this Skill. Then write the procedure as if the reader has the attention span of a tired junior engineer. If either of those doesn't read clearly, the Skill will not fire when you need it.
Anatomy of the SKILL.md File
The core of every Skill is the SKILL.md file. It contains a YAML frontmatter followed by Markdown instructions:
---
name: "brand-writer"
version: "1.2.0"
trigger: "When the user asks to write or revise brand content"
description: "Applies brand voice guidelines to any document"
author: "marketing-team"
tags: ["writing", "brand", "marketing"]
---
# Brand Writer
## Procedure
1. Read the document provided by the user
2. Load `references/brand_guide.md`
3. Analyze the current tone of the document
4. Rewrite applying the brand voice
5. Run `scripts/check_tone.py` for validation
6. Present the result with annotated changes
The Trigger System
The trigger determines when Claude activates a Skill. It works through intent matching:
| Trigger Type | Example | When It Fires |
|---|---|---|
| Explicit action | "When the user requests a code review" | User says "review my code" |
| Implicit context | "When a Python file is shared" | A .py file is uploaded |
| Keyword | "When the user mentions SEO" | The word "SEO" appears |
| Combined | "When the user asks to analyze CSV data" | Request + CSV file |
Creating a Skill Step by Step
Step 1: Define the Objective
Before coding, answer these questions:
- โWhat problem does this Skill solve? (e.g., "standardize code reviews")
- โWhen should it trigger? (e.g., "when code is shared for review")
- โWhat resources are needed? (guidelines, validation scripts)
- โWhat's the expected output format? (Markdown report, corrected file)
Step 2: Structure the Folder
mkdir -p my-skill/{scripts,references,templates}
touch my-skill/SKILL.md
Step 3: Write the SKILL.md
---
name: "code-reviewer"
version: "1.0.0"
trigger: "When the user requests a code review or shares code for analysis"
description: "Performs a structured code review with quality checklist"
tags: ["coding", "review", "quality"]
---
# Code Review
## Review Checklist
1. โ
Readability and naming
2. โ
Error handling
3. โ
Performance
4. โ
Security
5. โ
Tests
## Procedure
1. Analyze the submitted code
2. Run `scripts/lint_check.py` if applicable
3. Evaluate each checklist item
4. Generate the report using `templates/review_report.md`
5. Propose priority corrections
Step 4: Add Scripts (Optional)
# scripts/lint_check.py
import subprocess
import sys
def run_lint(filepath):
"""Run basic linting on the file."""
result = subprocess.run(
["python", "-m", "py_compile", filepath],
capture_output=True, text=True
)
if result.returncode == 0:
return "โ
Valid syntax"
return f"โ Errors: {result.stderr}"
if __name__ == "__main__":
print(run_lint(sys.argv[1]))
Step 5: Test the Skill
Test with different phrasings to verify the trigger:
| Test Query | Expected Result |
|---|---|
| "Review this Python code" | โ Skill activated |
| "Check my code quality" | โ Skill activated |
| "Write me a poem" | โ Skill not activated |
| "Translate this text" | โ Skill not activated |
Sharing Skills
Via the Community Marketplace
The Claude Skills marketplace lets you publish and discover community-created Skills:
- โPrepare: Add a
README.mdwith description and examples - โPublish: Submit via the Skills portal or
claude skills publishCLI - โVersion: Use semantic versioning (1.0.0 โ 1.1.0)
Via GitHub
# Recommended structure for a Skills repository
๐ my-skills/
โโโ code-reviewer/
โ โโโ SKILL.md
โ โโโ scripts/
โโโ brand-writer/
โ โโโ SKILL.md
โ โโโ references/
โโโ README.md
Via Claude Enterprise (Teams)
Administrators can deploy Skills organization-wide:
- โAdmin Console > Skills > Deploy to Team
- โPermission control by group
- โCentralized versioning
OpenClaw and ClawdBot
OpenClaw, The Open Source Repository
OpenClaw is a community repository that centralizes ready-to-use Skills:
| Category | Example Skills | Count |
|---|---|---|
| Development | Code Review, Git Workflow, Testing | 150+ |
| Writing | Blog Writer, SEO Content, Technical Docs | 80+ |
| Analysis | Data Profiler, CSV Analyzer, Report Gen | 60+ |
| Design | UI Review, Accessibility Check, Figma Export | 40+ |
| DevOps | Docker Helper, CI/CD Config, Cloud Deploy | 35+ |
ClawdBot, The Skills Assistant
ClawdBot is an integrated assistant that helps:
- โDiscover relevant Skills for your needs
- โInstall Skills from OpenClaw in one command
- โConfigure triggers and parameters
- โDiagnose activation issues
You: "I need a skill to review my professional emails"
ClawdBot: "I recommend 'professional-email-reviewer' (v2.1.0) โ
4.8โ
on OpenClaw. Install?"
Detailed Use Cases
1. Coding, Review and Refactoring
A code review Skill automatically analyzes quality:
- โTrigger: Code file upload or review request
- โActions: Lint, complexity analysis, refactoring suggestions
- โOutput: Structured report with priorities
2. Writing, Brand Voice
A writing Skill applies brand guidelines:
- โTrigger: Content writing or revision request
- โActions: Tone analysis, terminology check, rephrasing
- โOutput: Revised document with annotations
3. Analysis, Data Profiling
An analysis Skill generates automatic reports:
- โTrigger: CSV/Excel file upload or analysis request
- โActions: Descriptive statistics, anomaly detection, visualization
- โOutput: Report with tables and recommendations
Guidelines
Do's โ
| Practice | Why |
|---|---|
| One Skill = one task | Reduces complexity and improves reliability |
| Precise triggers | Avoids unintended activations |
| Deterministic scripts | Exact calculations shouldn't depend on the LLM |
| Version with semver | Facilitates updates and rollbacks |
| Test with 10+ phrasings | Validates trigger robustness |
Don'ts โ
| Anti-pattern | Risk |
|---|---|
| Catch-all Skill | Instruction conflicts, poor precision |
| Overly broad trigger | Fires on irrelevant requests |
| No testing | Unpredictable production behavior |
| Ambiguous instructions | Claude interprets differently per context |
| Hardcoded secrets | Security risk when sharing |
Summary
Claude Skills represent a major evolution in AI assistant customization. By structuring expertise into modular packages with triggers, instructions, and scripts, they offer a robust, maintainable, and shareable solution for extending Claude's capabilities. Whether you're a developer, writer, or analyst, Skills let you create an assistant truly tailored to your needs.
Next steps:
- โExplore OpenClaw to discover ready-to-use Skills
- โCreate your first Skill with the detailed technical guide
- โCompare Skills, Projects, and Plugins in our comparison article
Module 0 โ Prompting Fundamentals
Build your first effective prompts from scratch with hands-on exercises.
Dorian Laurenceau
Full-Stack Developer & Learning DesignerFull-stack web developer and learning designer. I spent 4 years as a freelance full-stack developer and 4 years teaching React, JavaScript, HTML/CSS and WordPress to adult learners. Today I design learning paths in web development and AI, grounded in learning science. I founded learn-prompting.fr to make AI practical and accessible, and built the Bluff app to gamify political transparency.
Weekly AI Insights
Tools, techniques & news โ curated for AI practitioners. Free, no spam.
Free, no spam. Unsubscribe anytime.
โRelated Articles
FAQ
What exactly is a Claude Skill?+
A Claude Skill is a modular package consisting of a SKILL.md file and optional resources (scripts, references) that teaches Claude a specialized procedure. It triggers automatically when the user's request matches the skill's trigger definition.
How many Skills can be used simultaneously?+
Claude can load multiple Skills in parallel, but only Skills triggered by the user's request are actually activated. In practice, 5 to 10 active Skills work without any performance issues.
Can Skills be shared with other users?+
Yes. Skills can be shared via the community marketplace, public GitHub repositories, or directly between team members in Claude Enterprise.
What's the difference between a Skill and a system prompt?+
A system prompt loads all instructions upfront. A Skill uses progressive disclosure: only relevant instructions are loaded when the trigger fires, saving tokens and improving precision.
What are OpenClaw and ClawdBot?+
OpenClaw is a community-driven open-source repository of ready-to-use Skills. ClawdBot is an integrated assistant that helps discover, install, and configure Skills directly from the Claude interface.