opencode-primitives
Original:🇺🇸 English
Translated
Reference OpenCode docs when implementing skills, plugins, MCPs, or config-driven behavior.
2installs
Sourcedifferent-ai/openwork
Added on
NPX Install
npx skill4agent add different-ai/openwork opencode-primitivesTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Purpose
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.
Doc Sources (Always cite when relevant)
- Skills: https://opencode.ai/docs/skills
- Plugins: https://opencode.ai/docs/plugins/
- MCP servers: https://opencode.ai/docs/mcp-servers/
- Config (opencode.json, locations, precedence): https://opencode.ai/docs/config/
Key Facts To Apply
Skills
- Skill files live in or global
.opencode/skills/<name>/SKILL.md.~/.config/opencode/skills/<name>/SKILL.md - Skills are discovered by walking up to the git worktree and loading any matching in
skills/*/SKILL.mdor.opencode/..claude/skills/ - requires YAML frontmatter:
SKILL.md+name.description - Name rules: lowercase alphanumeric with single hyphens (), length 1-64, must match directory name.
^[a-z0-9]+(-[a-z0-9]+)*$ - Description length: 1-1024 characters.
- Access is governed by permissions (
opencode.jsonallow/deny/ask).permission.skill
Plugins
- Local plugins live in (project) or
.opencode/plugins/(global).~/.config/opencode/plugins/ - npm plugins are listed in under
opencode.jsonand installed with Bun at startup.plugin - Load order: global config, project config, global plugins dir, project plugins dir.
MCP Servers
- MCP servers are defined in under
opencode.jsonwith unique names.mcp - Local servers use +
type: "local"array; remote servers usecommand+type: "remote".url - Servers can be enabled/disabled via .
enabled - MCP tools are managed via in config, including glob patterns.
tools - OAuth is handled automatically for remote servers; can be pre-registered or disabled.
Config (opencode.json)
- Supports JSON and JSONC.
- Precedence order: remote -> global
.well-known/opencode-> custom path -> project~/.config/opencode/opencode.json->opencode.jsondirectories -> inline env overrides..opencode/ - subdirectories are plural by default (
.opencode,agents/,commands/,plugins/,skills/,tools/), with singular names supported for compatibility.themes/
When to Invoke
- Adding or adjusting OpenWork flows that reference skills, plugins, MCP servers, or OpenCode config.
- Designing onboarding guidance that mentions skill/plugin installation, config locations, or permission prompts.
- Implementing UIs that surface OpenCode primitives (skills tab, plugin manager, MCP toggles).
Usage
Call before implementing or documenting any OpenWork behavior that maps to OpenCode primitives.
skill({ name: "opencode-primitives" })