Use when creating, updating, or improving agent skills.
Compatibility: these templates are conventions, not a universal loader schema. Use the target host's documented skill directory and current schema; custom metadata.triggers is optional and does not itself guarantee discovery. Bundled upstream guidance is a historical snapshot. Rendering requires Node.js and a locally installed Graphviz dot; inspect trusted DOT only, and open generated SVG cautiously. --combine shares node IDs across graphs and is a visual convenience, not a semantics-preserving merge. Outputs are exclusive: remove or choose another output directory deliberately before rerunning.
Scope: examples are authoring/test fixtures, not live instructions. Follow the user, host, and repository instruction hierarchy. Run pressure tests only with authorized isolated fixtures; never delete user work or weaken safety/approval boundaries to enforce a skill. Preserve existing work and adapt the validation plan when a baseline already passes. Sample compliance does not prove universal reliability.
Dispatcher for skill creation excellence. Use the decision tree below to find the right template and standards.
Create a NEW skill:
Improve an EXISTING skill:
Verify Compliance:
| 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. |
references/templates/---
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]
| Mistake | Fix |
|---|---|
| Description summarizes workflow | Describe the capability and specific use conditions concisely |
No metadata.triggers |
Optional host-specific metadata; include useful terms in description |
| Generic name ("helper") | Use a descriptive lowercase hyphenated ID |
| Long monolithic SKILL.md | Split into references/ |
See gotchas.md for more.
Before deploying any skill:
name field matches directory name exactlySKILL.md filename is ALL CAPSreferences/ for more)@ force-loading in cross-references/write-skill, it may provide guided creation; that command is not bundled hereCreate 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