Notre avis
Guide l'utilisateur dans la création d'une nouvelle compétence pour les agents de codage IA, de la collecte des exigences à la génération de fichiers.
Points forts
- Fournit un processus structuré et étape par étape pour la création de compétences
- S'adapte au contexte de l'utilisateur grâce à un questionnement intelligent
- Prend en charge les structures de compétences simples et complexes
- Intègre la recherche et les meilleures pratiques issues des références
Limites
- Nécessite une familiarité avec la structure des répertoires de compétences et les conventions XML
- Ne génère pas automatiquement le contenu de la compétence ; l'utilisateur doit définir la logique
- Suppose que l'utilisateur souhaite investir dans une compétence formelle plutôt que des instructions ad-hoc
Lorsque vous avez besoin de construire une compétence réutilisable et bien documentée pour un agent de codage IA (ex. Claude Code).
Si vous n'avez besoin que d'une invite ponctuelle ou d'une instruction rapide sans fichiers structurés.
Analyse de sécurité
SûrThe skill describes a structured process for creating new skill files and directories, using only benign shell commands (mkdir -p, cat >). It does not involve any exfiltration, destructive operations, or execution of external payloads. No security concerns are present.
Aucun point d'attention détecté
Exemples
Build a new skill for managing PostgreSQL migrations and schema changes.Create a skill that helps automate code review workflows, including checking for common bugs, style violations, and suggesting improvements.I need a skill to deploy a Node.js application to a VPS using Docker and Nginx. Please create it step by step.Workflow: Create a New Skill
<required_reading> Read these reference files NOW:
- references/recommended-structure.md
- references/skill-structure.md
- references/core-principles.md
- references/use-xml-tags.md </required_reading>
If user provided context (e.g., "build a skill for X"): → Analyze what's stated, what can be inferred, what's unclear → Skip to asking about genuine gaps only
If user just invoked skill without context: → Ask what they want to build
Using question
Ask 2-4 domain-specific questions based on actual gaps. Each question should:
- Have specific options with descriptions
- Focus on scope, complexity, outputs, boundaries
- NOT ask things obvious from context
Example questions:
- "What specific operations should this skill handle?" (with options based on domain)
- "Should this also handle [related thing] or stay focused on [core thing]?"
- "What should the user see when successful?"
Decision Gate
After initial questions, ask: "Ready to proceed with building, or would you like me to ask more questions?"
Options:
- Proceed to building - I have enough context
- Ask more questions - There are more details to clarify
- Let me add details - I want to provide additional context
Step 2: Research Trigger (If External API)
When external service detected, ask using question: "This involves [service name] API. Would you like me to research current endpoints and patterns before building?"
Options:
- Yes, research first - Fetch current documentation for accurate implementation
- No, proceed with general patterns - Use common patterns without specific API research
If research requested:
- Use Context7 MCP to fetch current library documentation
- Or use WebSearch for recent API documentation
- Focus on 2024-2026 sources
- Store findings for use in content generation
Step 3: Decide Structure
Simple skill (single workflow, <200 lines): → Single SKILL.md file with all content
Complex skill (multiple workflows OR domain knowledge): → Router pattern:
skill-name/
├── SKILL.md (router + principles)
├── workflows/ (procedures - FOLLOW)
├── references/ (knowledge - READ)
├── templates/ (output structures - COPY + FILL)
└── scripts/ (reusable code - EXECUTE)
Factors favoring router pattern:
- Multiple distinct user intents (create vs debug vs ship)
- Shared domain knowledge across workflows
- Essential principles that must not be skipped
- Skill likely to grow over time
Consider templates/ when:
- Skill produces consistent output structures (plans, specs, reports)
- Structure matters more than creative generation
Consider scripts/ when:
- Same code runs across invocations (deploy, setup, API calls)
- Operations are error-prone when rewritten each time
See references/recommended-structure.md for templates.
Step 4: Create Directory
mkdir -p ~/.config/opencode/skills/{skill-name}
# If complex:
mkdir -p ~/.config/opencode/skills/{skill-name}/workflows
mkdir -p ~/.config/opencode/skills/{skill-name}/references
# If needed:
mkdir -p ~/.config/opencode/skills/{skill-name}/templates # for output structures
mkdir -p ~/.config/opencode/skills/{skill-name}/scripts # for reusable code
Step 5: Write SKILL.md
Simple skill: Write complete skill file with:
- YAML frontmatter (name, description)
<objective><quick_start>- Content sections with pure XML
<success_criteria>
Complex skill: Write router with:
- YAML frontmatter
<essential_principles>(inline, unavoidable)<intake>(question to ask user)<routing>(maps answers to workflows)<reference_index>and<workflows_index>
Step 6: Write Workflows (if complex)
For each workflow:
<required_reading>
Which references to load for this workflow
</required_reading>
<process>
Step-by-step procedure
</process>
<success_criteria>
How to know this workflow is done
</success_criteria>
Step 7: Write References (if needed)
Domain knowledge that:
- Multiple workflows might need
- Doesn't change based on workflow
- Contains patterns, examples, technical details
Step 8: Validate Structure
Check:
- [ ] YAML frontmatter valid
- [ ] Name matches directory (lowercase-with-hyphens)
- [ ] Description says what it does AND when to use it (third person)
- [ ] No markdown headings (#) in body - use XML tags
- [ ] Required tags present: objective, quick_start, success_criteria
- [ ] All referenced files exist
- [ ] SKILL.md under 500 lines
- [ ] XML tags properly closed
Step 9: Create Slash Command
cat > ~/.config/opencode/commands/{skill-name}.md << 'EOF'
---
description: {Brief description}
argument-hint: [{argument hint}]
allowed-tools: Skill({skill-name})
---
Invoke the {skill-name} skill for: $ARGUMENTS
EOF
Step 10: Test
Invoke the skill and observe:
- Does it ask the right intake question?
- Does it load the right workflow?
- Does the workflow load the right references?
- Does output match expectations?
Iterate based on real usage, not assumptions. </process>
<success_criteria> Skill is complete when:
- [ ] Requirements gathered with appropriate questions
- [ ] API research done if external service involved
- [ ] Directory structure correct
- [ ] SKILL.md has valid frontmatter
- [ ] Essential principles inline (if complex skill)
- [ ] Intake question routes to correct workflow
- [ ] All workflows have required_reading + process + success_criteria
- [ ] References contain reusable domain knowledge
- [ ] Slash command exists and works
- [ ] Tested with real invocation </success_criteria>
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.