How to install opencode-primitives
npx skills add https://github.com/different-ai/openwork --skill opencode-primitivesFull instructions (SKILL.md)
Source of truth, from different-ai/openwork.
name: opencode-primitives description: Reference OpenCode docs when implementing skills, plugins, MCPs, or config-driven behavior.
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.
Related skills
More from different-ai/openwork and the wider catalog.

opencode-bridge
Bridge between OpenWork UI and OpenCode runtime

text-to-lottie
Create and edit Lottie/Bodymovin JSON animations for the Skia Skottie player.

editor
Analyze, generate, and edit video/audio/images with AI-powered Diffusion Studio tools.

watch
Answer questions about video and audio files: summarize, find scenes, pull quotes, and verify claims.

elevenlabs
Generate AI voiceovers, sound effects, and music using ElevenLabs APIs. Use when creating audio content for videos, podcasts, or games. Triggers include generating voiceovers, narration, dialogue, sound effects from descriptions, background music, soundtrack generation, voice cloning, or any audio synthesis task.

ffmpeg
Video and audio processing with FFmpeg for format conversion, resizing, compression, and Remotion asset preparation.