skill-authoring
SKILL.md
What I do
- Define the steps and checks for adding a new OpenCode skill
- Ensure the skill is discoverable by the
skilltool - Validate naming, frontmatter, and placement rules
When to use
- Adding a new reusable workflow or playbook as a skill
- Updating skill metadata to meet OpenCode discovery requirements
Workflow
- Pick a skill name that matches
^[a-z0-9]+(-[a-z0-9]+)*$and is 1–64 chars. - Create
.opencode/skill/<name>/SKILL.mdand ensure the folder matches the name. - Add YAML frontmatter with
nameanddescription(optional:license,compatibility,metadata). - Write the body with clear sections (Purpose/What I do, When to use, Workflow, Completion criteria).
- Confirm discovery: run OpenCode in the repo and check
skilltool list. - If permissions block it, update
opencode.jsonwithpermission.skillrules.
Placement rules (from opencode.ai docs)
- Project:
.opencode/skill/<name>/SKILL.md - Project (Claude compatible):
.claude/skills/<name>/SKILL.md - Global:
~/.config/opencode/skill/<name>/SKILL.md - Global (Claude compatible):
~/.claude/skills/<name>/SKILL.md
Validation checklist
SKILL.mdis all caps and contains YAML frontmatternamematches folder namedescriptionis 1–1024 characters- No duplicate skill names in the repo
Example
---
name: git-release
description: Create consistent releases and changelogs
compatibility: opencode
---
## What I do
- Draft release notes from merged PRs
- Propose a version bump
- Provide a `gh release create` command
Completion criteria
- Skill appears in
skilltool list skill({ name })loads without errors- Instructions are clear enough to execute without extra context
Weekly Installs
7
Repository
different-ai/agent-bankGitHub Stars
205
First Seen
Jan 27, 2026
Security Audits
Installed on
opencode7
gemini-cli6
antigravity6
claude-code6
github-copilot6
codex6