Reference OpenCode docs when implementing skills, plugins, MCPs, or config-driven behavior.
Use this skill whenever OpenWork behavior is implemented directly on top of OpenCode primitives (skills, plugins, MCP servers, opencode.json config, tools/permissions). It anchors decisions to the official OpenCode documentation and keeps terminology consistent in the UI.
.opencode/skills/<name>/SKILL.md or global ~/.config/opencode/skills/<name>/SKILL.md.skills/*/SKILL.md in .opencode/ or .claude/skills/.SKILL.md requires YAML frontmatter: name + description.^[a-z0-9]+(-[a-z0-9]+)*$), length 1-64, must match directory name.opencode.json permissions (permission.skill allow/deny/ask)..opencode/plugins/ (project) or ~/.config/opencode/plugins/ (global).opencode.json under plugin and installed with Bun at startup.opencode.json under mcp with unique names.type: "local" + command array; remote servers use type: "remote" + url.enabled.tools in config, including glob patterns..well-known/opencode -> global ~/.config/opencode/opencode.json -> custom path -> project opencode.json -> .opencode/ directories -> inline env overrides..opencode subdirectories are plural by default (agents/, commands/, plugins/, skills/, tools/, themes/), with singular names supported for compatibility.Call skill({ name: "opencode-primitives" }) before implementing or documenting any OpenWork behavior that maps to OpenCode primitives.