Summary
Forge Skills currently ships to Claude Code, Cursor, Codex, Gemini CLI, GitHub Copilot CLI, and Rovo Dev. OpenCode is a popular open-source agent CLI that also supports Agent Skills + MCP servers, but there's no OpenCode integration here yet. I'd like to add it so the same six Forge skills + Forge/ADS MCP servers work in OpenCode.
How OpenCode differs
Unlike the other hosts, OpenCode has no declarative skill/MCP plugin manifest (no equivalent of .claude-plugin/plugin.json). It's configured either via opencode.json (mcp, skills.paths) or via a plugin: a small JS/TS module whose config hook registers MCP servers and skill paths.
Proposed approach
A tiny, dependency-free plugin at .opencode-plugin/forge-skills.js, loaded by a committed opencode.json (plugin array). Its config hook registers the forge + ads-mcp remote MCP servers and adds skills/ to skills.paths (resolved via import.meta). It is idempotent and never overwrites user config. Verified on OpenCode v1.17.7.
Naming / mechanism question
I named the folder .opencode-plugin/ to match this repo's per-host convention (.claude-plugin/, .codex-plugin/, .cursor-plugin/), and load it via opencode.json because OpenCode only auto-discovers its own default .opencode/plugins/ directory. Would you prefer instead:
- OpenCode's idiomatic
.opencode/plugins/forge-skills.js (auto-loaded, no opencode.json), or
- a fully declarative
opencode.json (no plugin code)?
Happy to switch — a draft PR is ready.
Summary
Forge Skills currently ships to Claude Code, Cursor, Codex, Gemini CLI, GitHub Copilot CLI, and Rovo Dev. OpenCode is a popular open-source agent CLI that also supports Agent Skills + MCP servers, but there's no OpenCode integration here yet. I'd like to add it so the same six Forge skills + Forge/ADS MCP servers work in OpenCode.
How OpenCode differs
Unlike the other hosts, OpenCode has no declarative skill/MCP plugin manifest (no equivalent of
.claude-plugin/plugin.json). It's configured either viaopencode.json(mcp,skills.paths) or via a plugin: a small JS/TS module whoseconfighook registers MCP servers and skill paths.Proposed approach
A tiny, dependency-free plugin at
.opencode-plugin/forge-skills.js, loaded by a committedopencode.json(pluginarray). Itsconfighook registers theforge+ads-mcpremote MCP servers and addsskills/toskills.paths(resolved viaimport.meta). It is idempotent and never overwrites user config. Verified on OpenCode v1.17.7.Naming / mechanism question
I named the folder
.opencode-plugin/to match this repo's per-host convention (.claude-plugin/,.codex-plugin/,.cursor-plugin/), and load it viaopencode.jsonbecause OpenCode only auto-discovers its own default.opencode/plugins/directory. Would you prefer instead:.opencode/plugins/forge-skills.js(auto-loaded, noopencode.json), oropencode.json(no plugin code)?Happy to switch — a draft PR is ready.