writing-skills

Use when creating, updating, or improving agent skills.

View Source
name:writing-skillsdescription:Use when creating, updating, or improving agent skills.metadata:category:metaauthor:ozytriggers:new skill, create skill, update skill, skill documentation, skill template,references:anti-rationalization, cso, standards, templates, testing, tier-1-simple,

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

    ComponentPurpose
    CSO"SEO for LLMs". How to write descriptions that trigger.
    StandardsFile naming, YAML frontmatter, directory structure.
    Anti-RationalizationHow to write rules that agents won't ignore.
    TestingHow 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

    MistakeFix
    Description summarizes workflowUse "Use when..." triggers only
    No metadata.triggersAdd 3+ keywords
    Generic name ("helper")Use gerund (creating-skills)
    Long monolithic SKILL.mdSplit into references/

    See gotchas.md for more.

    ✅ Pre-Deploy Checklist

    Before deploying any skill:

  • [ ] name field matches directory name exactly

  • [ ] SKILL.md filename is ALL CAPS

  • [ ] Description starts with "Use when..."

  • [ ] metadata.triggers has 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-skill command 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

      writing-skills - Agent Skills