writing-skills
Use when creating, updating, or improving agent skills.
Documentation
Writing Skills (Excellence)
Dispatcher for skill creation excellence. Use the decision tree below to find the right template and standards.
⚡ Quick Decision Tree
What do you need to do?
-
Create a NEW skill:
- Is it simple (single file, <200 lines)? → Tier 1 Architecture
- Is it complex (multi-concept, 200-1000 lines)? → Tier 2 Architecture
- Is it a massive platform (10+ products, AWS, Convex)? → Tier 3 Architecture
-
Improve an EXISTING skill:
- Fix "it's too long" -> Modularize (Tier 3)
- Fix "AI ignores rules" -> Anti-Rationalization
- Fix "users can't find it" -> CSO (Search Optimization)
-
Verify Compliance:
- Check metadata/naming -> Standards
- Add tests -> Testing Guide
📚 Component Index
| Component | Purpose |
|---|---|
| CSO | "SEO for LLMs". How to write descriptions that trigger. |
| Standards | File naming, YAML frontmatter, directory structure. |
| Anti-Rationalization | How to write rules that agents won't ignore. |
| Testing | How to ensure your skill actually works. |
🛠️ Templates
- Technique Skill (How-to)
- Reference Skill (Docs)
- Discipline Skill (Rules)
- Pattern Skill (Design Patterns)
When to Use
- Creating a NEW skill from scratch
- Improving an EXISTING skill that agents ignore
- Debugging why a skill isn't being triggered
- Standardizing skills across a team
How It Works
- Identify goal → Use decision tree above
- Select template → From
references/templates/ - Apply CSO → Optimize description for discovery
- Add anti-rationalization → For discipline skills
- Test → RED-GREEN-REFACTOR cycle
Quick Example
---
name: my-technique
description: Use when [specific symptom occurs].
metadata:
category: technique
triggers: error-text, symptom, tool-name
---
# My Technique
## When to Use
- [Symptom A]
- [Error message]
Common Mistakes
| Mistake | Fix |
|---|---|
| Description summarizes workflow | Use "Use when..." triggers only |
No metadata.triggers | Add 3+ keywords |
| Generic name ("helper") | Use gerund (creating-skills) |
| Long monolithic SKILL.md | Split into references/ |
See gotchas.md for more.
✅ Pre-Deploy Checklist
Before deploying any skill:
-
namefield matches directory name exactly -
SKILL.mdfilename is ALL CAPS - Description starts with "Use when..."
-
metadata.triggershas 3+ keywords - Total lines < 500 (use
references/for more) - No
@force-loading in cross-references - Tested with real scenarios
🔗 Related Skills
- opencode-expert: For OpenCode environment configuration
- Use
/write-skillcommand for guided skill creation
Examples
Create a Tier 1 skill:
mkdir -p ~/.config/opencode/skills/my-technique
touch ~/.config/opencode/skills/my-technique/SKILL.md
Create a Tier 2 skill:
mkdir -p ~/.config/opencode/skills/my-skill/references/core
touch ~/.config/opencode/skills/my-skill/{SKILL.md,gotchas.md}
touch ~/.config/opencode/skills/my-skill/references/core/README.md
Use Cases
- Creating a NEW skill from scratch
- Improving an EXISTING skill that agents ignore
- Debugging why a skill isn't being triggered
- Standardizing skills across a team
Quick Info
- Source
- antigravity
- Category
- Document Processing
- Repository
- View Repo
- Scraped At
- Jan 26, 2026
Tags
Related Skills
ab-test-setup
Structured guide for setting up A/B tests with mandatory gates for hypothesis, metrics, and execution readiness.
airflow-dag-patterns
Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs.
algorithmic-art
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.