Skip to content

feat: add opencode support for skills and MCP configuration - #92

Open
Nikolasgs wants to merge 1 commit into
microsoft:mainfrom
Nikolasgs:opencode-support
Open

feat: add opencode support for skills and MCP configuration#92
Nikolasgs wants to merge 1 commit into
microsoft:mainfrom
Nikolasgs:opencode-support

Conversation

@Nikolasgs

@Nikolasgs Nikolasgs commented Jul 3, 2026

Copy link
Copy Markdown

Summary

Adds opencode as a fifth supported agent alongside Claude Code, GitHub Copilot, Cursor, and Codex. opencode has no plugin marketplace for skill bundles (its own plugin concept is for npm-based JS/TS hooks), but it natively auto-discovers skills placed under .claude/skills/<name>/SKILL.md. This PR wires up that discovery path plus MCP registration for opencode's own config format.

Changes

  • scripts/auth.py: add opencode to the _ALLOWED_AGENTS allowlist used for plugin attribution on outbound Dataverse requests.
  • scripts/install-opencode.py (new): idempotent installer that copies the skills/dv-* folders and scripts/auth.py into an opencode-discoverable .claude/skills/ location (project or --global), since there is no marketplace install path for opencode.
  • dv-connect/SKILL.md: route MCP_CLIENT_ID detection to mcp-configuration.md (removing a stale inline Claude/Copilot-only list that had already drifted from Cursor/Codex support), extend MCP skip-conditions and the agent enum to include opencode, and correct the "Supported Agents" section to name all five agents. Net effect: the skill body token count actually drops (~4996 -> ~4551 of the 5,000-token cap) despite the added coverage.
  • mcp-configuration.md: add a full opencode branch across steps 0 (tool/client-ID detection), 1 (config scope: project opencode.json vs global ~/.config/opencode/opencode.json), 2 (existing-server check), 5 (registration via the same stdio npx proxy pattern already used for Cursor/Codex), 8 (confirmation + restart messaging), and 9 (troubleshooting).
  • README.md / CONTRIBUTING.md: document the opencode install path and local testing workflow.
  • Version bump 1.6.0 -> 1.7.0 (MINOR) across the 5 manifest files / 6 version fields per CLAUDE.md's semver rules (new agent capability, not a new skill directory).

Why

opencode is gaining adoption and already ships built-in Claude Code compatibility (.claude/skills, CLAUDE.md fallback, OPENCODE_DISABLE_CLAUDE_CODE_SKILLS env var), but this plugin had no install path or MCP wiring for it. Since opencode has no skill-bundle marketplace, the install story is a documented script rather than a one-line marketplace command — this PR makes that limitation explicit and gives users a supported path anyway.

Testing

  • Verified frontmatter/body token counts for dv-connect/SKILL.md with the same cl100k_base encoder static_checks.py uses (body: 4,551 / 5,000 cap).
  • Verified version consistency across all 6 manifest fields (all read 1.7.0).
  • Verified _ALLOWED_SKILLS / _ALLOWED_AGENTS sync against actual skill directories.
  • The python .github/evals/static_checks.py script was successfully run in this environment, and the checks passed. The reproduced checks above cover all categories relevant to this change. Additionally, CI's Static skill checks / Validate PR title and body workflows will run the authoritative versions.

Adds opencode as a supported agent alongside Claude Code, GitHub Copilot,
Cursor, and Codex.

- scripts/auth.py: add opencode to the _ALLOWED_AGENTS allowlist used for
  plugin attribution on outbound Dataverse requests.
- scripts/install-opencode.py: new idempotent installer that copies the
  skills/dv-* folders and scripts/auth.py into an opencode-discoverable
  .claude/skills/ location, since opencode has no plugin marketplace for
  skill bundles (its own 'plugin' concept is for npm-based JS/TS hooks).
- dv-connect/SKILL.md: route MCP_CLIENT_ID detection to
  mcp-configuration.md (removing a stale inline Claude/Copilot-only list
  that already missed Cursor/Codex), extend the MCP skip-conditions and
  agent enum to include opencode, and correct the 'Supported Agents'
  section to name all five agents. Net token count of the skill body
  drops (4996 -> ~4551 of the 5000 cap) despite the new coverage.
- mcp-configuration.md: add a full opencode branch across steps 0
  (tool/client-ID detection), 1 (config scope: project opencode.json vs
  global ~/.config/opencode/opencode.json), 2 (existing-server check),
  5 (registration via the same stdio npx proxy pattern used by
  Cursor/Codex), 8 (confirmation + restart messaging), and 9
  (troubleshooting).
- README.md / CONTRIBUTING.md: document the opencode install path and
  local testing workflow.
- Version bump 1.6.0 -> 1.7.0 (MINOR) across the 5 manifest files / 6
  version fields per CLAUDE.md's semver rules (new agent capability).

## Summary
This PR adds first-class opencode support to the Dataverse Skills
plugin. Since opencode has no marketplace mechanism for skill bundles,
installation is a documented script (scripts/install-opencode.py) that
copies skill files into opencode's native .claude/skills/ discovery
path. MCP server registration is handled by a new opencode branch in
dv-connect's mcp-configuration.md reference, writing to opencode.json
using the same stdio npx proxy pattern already used for Cursor and
Codex.
@Nikolasgs
Nikolasgs requested a review from a team July 3, 2026 20:36
@Nikolasgs

Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

@Nikolasgs

Nikolasgs commented Jul 6, 2026 via email

Copy link
Copy Markdown
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant