mcpField
O
opencode-primitives

opencode-primitives

github.com/different-aiAgent workflows24.3k729 installsUpdated today
Repository

About opencode-primitives

opencode-primitives is a reference skill for implementing OpenWork behavior based on OpenCode features. It helps developers apply documented rules for skills, plugins, MCP servers, and configuration consistently.

Key features

  1. 01Reference official OpenCode documentation
  2. 02Explain skill discovery and metadata rules
  3. 03Describe plugin locations and load order
  4. 04Document MCP server configuration
  5. 05Summarize configuration formats and precedence

Use cases

  1. 01Implement OpenWork flows using OpenCode features
  2. 02Design guidance for installing skills and plugins
  3. 03Build interfaces for MCP and permission settings

MCP support

It documents how MCP servers are configured in opencode.json, including local and remote server entries, enablement, tool selection, and OAuth handling.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/different-ai/openwork --skill opencode-primitives

After installing, type/opencode-primitivesin Claude Code to confirm it loaded.

Details

From the project README

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)

Key Facts To Apply

Skills
  • Skill files live in .opencode/skills/<name>/SKILL.md or global ~/.config/opencode/skills/<name>/SKILL.md.
  • Skills are discovered by walking up to the git worktree and loading any matching skills/*/SKILL.md in .opencode/ or .claude/skills/.
  • SKILL.md requires 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.json permissions (permission.skill allow/deny/ask).
Plugins
  • Local plugins live in .opencode/plugins/ (project) or ~/.config/opencode/plugins/ (global).
  • npm plugins are listed in opencode.json under plugin and 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.json under mcp with unique names.
  • Local servers use type: "local" + command array; remote servers use type: "remote" + url.
  • Servers can be enabled/disabled via enabled.
  • MCP tools are managed via tools in 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 -> 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.

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.

Comments

Markdown supported