Notre avis
Guide les utilisateurs dans la création de packages modulaires (skills) qui étendent les capacités de Claude avec des connaissances spécialisées, des workflows et des intégrations d'outils.
Points forts
- Fournit une structure claire de répertoire et de fichiers pour les skills.
- Met l'accent sur la divulgation progressive pour garder le contexte efficace.
- Offre des principes fondamentaux pour des instructions concises et efficaces.
- Inclut un processus de création étape par étape et des exemples.
Limites
- Suppose une familiarité avec le système de permissions et d'outils de Claude Code.
- Ne couvre pas les sujets avancés comme l'invocation dynamique d'outils ou la gestion des erreurs.
- La compétence elle-même est méta et peut ne pas être intuitive pour les débutants.
À utiliser lorsque vous devez créer une nouvelle compétence ou en mettre à jour une existante pour ajouter une expertise structurée et réutilisable pour Claude Code.
Ne pas utiliser pour des requêtes uniques ou lorsque la fonctionnalité peut être obtenue avec une simple invite système sans empaquetage.
Analyse de sécurité
SûrThe skill instructs the user to run a specific, vetted Python script (init_skill.py) to create a skill directory. The allowed-tools declaration restricts execution to that script only. No destructive commands, external network calls, or data exfiltration are involved. The skill is a meta-skill for creating new skills within the Claude Code environment, posing no meaningful risk.
Aucun point d'attention détecté
Exemples
Create a new skill for Claude Code that provides specialized knowledge for PostgreSQL database management, including common queries, indexing strategies, and backup commands.Update the existing 'web-scraper' skill to add support for JavaScript rendering and error handling for timeouts.name: meta:claude-code:create-skill description: Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations. allowed-tools: Bash(python3 ./.claude/commands/meta/claude-code/init_skill.py*)
Skill Creator for Claude Code
Create skills in Claude Code's skill directory.
References:
- @context/blocks/docs/prompting.md - Writing standards
- @context/blocks/construct/claude-code-permissions.md - allowed-tools configuration
About Skills
Skills are modular packages providing specialized knowledge, workflows, and tools. Transform Claude from general to specialized agent with procedural knowledge.
What Skills Provide
- Specialized workflows - Multi-step procedures
- Tool integrations - File formats, APIs
- Domain expertise - Schemas, business logic
- Bundled resources - Scripts, references, templates
Core Principles
Concise is Key
Context window is public good. Only add what Claude doesn't know. Challenge each piece: "Does Claude need this?"
Default: Claude is smart. Add only non-obvious info.
Set Appropriate Degrees of Freedom
High freedom (text): Multiple valid approaches, context-dependent Medium freedom (pseudocode/params): Preferred pattern, some variation Low freedom (scripts): Fragile operations, consistency critical
Critical Structure Requirements
MANDATORY: Every skill MUST be structured as a directory, NOT a single file.
Required structure:
- Directory named
skill-name/(lowercase letters, numbers, hyphens only) - Containing
SKILL.mdfile (UPPERCASE, exactly this filename)
Correct examples:
- ✅
git-commit/SKILL.md - ✅
pdf-processing/SKILL.md - ✅
data-analyzer/SKILL.md
Wrong examples:
- ❌
git-commit.md(single file, not directory) - ❌
git-commit/skill.md(lowercase) - ❌
git-commit/README.md(wrong filename)
Anatomy
skill-name/
├── SKILL.md (required - UPPERCASE)
│ ├── YAML frontmatter (name, description)
│ └── Markdown instructions
├── reference.md (optional - root-level docs)
├── examples.md (optional - root-level docs)
├── scripts/ (optional)
│ └── helper.py - Executable code
└── templates/ (optional)
└── template.txt - Files used in output
SKILL.md (required)
- Frontmatter (YAML):
nameanddescription- triggers when Claude uses skill - Body (Markdown): Instructions for using skill
Bundled Resources (optional)
Scripts (scripts/) - Executable code for deterministic/repeated tasks
- Token efficient, deterministic
- May execute without loading to context
- Examples:
scripts/rotate_pdf.py,scripts/fill_form.py
Reference docs (root-level .md files) - Docs loaded as needed
- Database schemas, API docs, detailed workflows
- Keeps SKILL.md lean
- Load only when Claude determines needed
- Examples:
reference.md,api_docs.md,workflows.md - Note: These are individual files at root, NOT in a
references/subdirectory
Templates (templates/) - Files used as assets/starting points
- Templates, boilerplate code, starter files
- Used in final output by copying/modifying
- Examples:
templates/starter-project/,templates/document.docx
What NOT to Include
No auxiliary docs:
- README.md
- INSTALLATION_GUIDE.md
- QUICK_REFERENCE.md
- CHANGELOG.md
Only info needed for AI agent to work.
Progressive Disclosure
Three-level loading:
- Metadata - Always in context (~100 words)
- SKILL.md body - When triggered (<5k words)
- Bundled resources - As needed (unlimited)
Keep SKILL.md <500 lines. Split when approaching limit.
Pattern: High-level guide with references
## Quick start
[core example]
## Advanced
- **Forms**: See ./forms.md
- **API**: See ./api-reference.md
Skill Creation Process
- Understand skill with concrete examples
- Plan reusable contents (scripts, references, assets)
- Initialize skill (run init_skill.py)
- Edit skill (implement resources, write SKILL.md)
- Iterate based on usage
Step 1: Understanding with Concrete Examples
Skip if usage patterns clear.
Ask for concrete examples:
- "What functionality should skill support?"
- "Examples of usage?"
- "What triggers this skill?"
Avoid overwhelming - ask most important questions first.
Conclude when functionality clear.
Step 2: Planning Reusable Contents
Analyze each example:
- How to execute from scratch?
- What scripts/references/assets help?
Example: pdf-editor
- Query: "Rotate this PDF"
- Analysis: Same code each time →
scripts/rotate_pdf.py
Example: frontend-webapp-builder
- Query: "Build todo app"
- Analysis: Same boilerplate →
templates/hello-world/starter project
Example: big-query
- Query: "How many users logged in today?"
- Analysis: Re-discovering schemas →
schema.md(root-level reference)
Output: List of reusable resources needed.
Step 3: Initialize Skill
Skip if skill exists.
Run init script from repo root:
python3 ./.claude/commands/meta/claude-code/init_skill.py <skill-name> --path <output-directory>
Example:
python3 ./.claude/commands/meta/claude-code/init_skill.py brainwriting --path ./.claude/skills
Creates:
- Skill directory
- SKILL.md template with frontmatter
- Example resource directories
- Example files (customize/delete)
Step 4: Edit Skill
Start with Resources
Implement resources first: scripts, reference docs, templates. May need user input (brand assets, docs).
Test scripts - run to verify no bugs. Delete unused example files.
Update SKILL.md
Writing: Use imperative/infinitive form.
Frontmatter:
name: Skill namedescription: What it does + when to use. Specific, comprehensive, direct. Claude uses this to choose from 100+ skills.
Body: Instructions for using skill and resources.
Step 5: Validate Skill
Script will:
- Validate skill (YAML, structure, naming, descriptions)
Default priority:
./.claude/skills/(project-local)~/.claude/skills/(user-global)- Custom path if specified
Validation checks:
- YAML frontmatter format, required fields
- Naming conventions, directory structure
- Description quality
- File organization, resource references
If validation fails, fix errors and re-run.
Step 6: Iterate
Test skill on real tasks. Notice struggles → identify improvements → implement → test.
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.