Claude Skills: Complete Guide to Creating & Sharing AI Skills
By Dorian Laurenceau
Updated
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 |
What is the main advantage of progressive disclosure in Skills?
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 |
What is the minimum required structure to create a Claude Skill?
What is OpenClaw in the Claude Skills ecosystem?
Why is it recommended to use deterministic scripts in Skills?
Which built-in tool helps discover and install Skills?
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.
One practical AI workflow in your inbox
Methods, resources and new exercises. Free, unsubscribe at any time.
ā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.