opencode-primitives
SKILL.md
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
.opencode/skills/<name>/SKILL.mdor global~/.config/opencode/skills/<name>/SKILL.md. - Skills are discovered by walking up to the git worktree and loading any matching
skills/*/SKILL.mdin.opencode/or.claude/skills/. SKILL.mdrequires YAML frontmatter:name+description.- Name rules: lowercase alphanumeric with single hyphens (
^[a-z0-9]+(-[a-z0-9]+)*$), length 1-64, must match directory name. - Description length: 1-1024 characters.
- Access is governed by
opencode.jsonpermissions (permission.skillallow/deny/ask).
Plugins
- Local plugins live in
.opencode/plugins/(project) or~/.config/opencode/plugins/(global). - npm plugins are listed in
opencode.jsonunderpluginand installed with Bun at startup. - Load order: global config, project config, global plugins dir, project plugins dir.
MCP Servers
- MCP servers are defined in
opencode.jsonundermcpwith unique names. - Local servers use
type: "local"+commandarray; remote servers usetype: "remote"+url. - Servers can be enabled/disabled via
enabled. - MCP tools are managed via
toolsin config, including glob patterns. - OAuth is handled automatically for remote servers; can be pre-registered or disabled.
Config (opencode.json)
- Supports JSON and JSONC.
- Precedence order: remote
.well-known/opencode-> global~/.config/opencode/opencode.json-> custom path -> projectopencode.json->.opencode/directories -> inline env overrides. .opencodesubdirectories are plural by default (agents/,commands/,plugins/,skills/,tools/,themes/), with singular names supported for compatibility.
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 skill({ name: "opencode-primitives" }) before implementing or documenting any OpenWork behavior that maps to OpenCode primitives.
Weekly Installs
130
Repository
different-ai/openworkGitHub Stars
11.8K
First Seen
Jan 22, 2026
Security Audits
Installed on
opencode126
gemini-cli116
codex114
cursor110
github-copilot108
claude-code100