OpenCode uses a skill-driven execution model via the skill tool and AGENTS.md discovery.
OpenCode auto-discovers skills from ./skills/ relative to your project root, or globally from ~/.opencode/skills/.
git clone https://github.com/ravidsrk/agent-skills.git
mkdir -p ~/.opencode/skills
for s in agent-skills/skills/*/; do
name=$(basename "$s")
ln -sf "$(pwd)/$s" "$HOME/.opencode/skills/$name"
doneInside any OpenCode project:
git clone https://github.com/ravidsrk/agent-skills.git .opencode/agent-skills
ln -s .opencode/agent-skills/skills .opencode/skillsThis repo ships an AGENTS.md at the root. OpenCode reads it automatically when you open the agent-skills folder — it tells OpenCode:
- Which skills exist
- Which user intents map to which skill
- The mandatory rule: "if a task matches a skill, you MUST invoke it"
If you only want the skills (not the AGENTS.md rules), copy the skills/ directory and ignore the root AGENTS.md.
OpenCode inherits from the shell. Set in ~/.zshrc / ~/.bashrc:
export CLOUDFLARE_API_KEY=cfat_...
export NAMECHEAP_API_KEY=...
export NAMECHEAP_API_USER=your-account
export MONID_API_KEY=...
export OPENROUTER_API_KEY=...
export AWS_PROFILE=migration
export FLY_API_TOKEN=...In OpenCode, send a request matching a skill's triggers:
"Migrate my Fly project to AWS"
OpenCode should invoke the skill tool with fly-to-aws-migration and follow the workflow.
OpenCode's flow:
- Read
AGENTS.mdat project root → understands the skill mapping rules - Read
skills/<name>/SKILL.mdwhen a skill is invoked → loads the workflow - Execute scripts in
skills/<name>/scripts/as needed - Load
references/progressively when the workflow points to them
🟢 Progressive disclosure works out of the box — OpenCode won't load references/gotchas.md until the skill workflow actually references it.
cd /path/to/agent-skills && git pullSymlinks update automatically.
- OpenCode docs on AGENTS.md (official)
- This repo's
AGENTS.md— the actual file OpenCode reads