Writing Skills (Excellence)
writing-skills
Use when creating, updating, or improving agent skills.
SKILL.md
Full skill instructions
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
<!-- AGI-INTEGRATION-START -->
AGI Framework Integration
Adapted for @techwavedev/agi-agent-kit Original source: antigravity-awesome-skills
Memory-First Protocol
Retrieve brand voice guidelines, content templates, and prior successful content patterns. Cache editorial decisions for consistency across sessions.
# Check for prior content creation context before starting
python3 execution/memory_manager.py auto --query "content patterns and brand voice guidelines for Writing Skills"
Storing Results
After completing work, store content creation decisions for future sessions:
python3 execution/memory_manager.py store \
--content "Content: brand voice established — professional but approachable, 8th-grade reading level, active voice" \
--type decision --project <project> \
--tags writing-skills content
Multi-Agent Collaboration
Share content guidelines with design agents (visual alignment) and development agents (copy integration).
python3 execution/cross_agent_context.py store \
--agent "<your-agent>" \
--action "Content created and reviewed — matches brand guidelines, SEO-optimized, A/B test variant prepared" \
--project <project>
<!-- AGI-INTEGRATION-END -->