Skip to content

feat(adapter/opencode): first-class OpenCode skill runtime #689

Description

@potiuk

Goal: Bring OpenCode to feature parity with Claude Code as a first-class skill runtime for the framework — a maintainer who has only OpenCode installed should be able to run the framework end-to-end. Grounds: RFC-AI-0004 Principle 3 — Vendor neutrality across LLM backends and the agent-harness axis of docs/vendor-neutrality.md, which already lists OpenCode as a recognised harness.

Current state — the substrate half is already done. Unlike the sibling feat(adapter/*) runtimes, OpenCode already has genuine, tested support in every harness-integrating substrate tool:

As a result the agent-harness axis of the vendor-neutrality score reads OpenCode = 5/5 substrate tools (100%). What remains is the skill-runtime half — making the skills themselves run under OpenCode.

What "parity" means (the remaining work):

  • Skills under .claude/skills/<name>/SKILL.md are invokable from OpenCode directly — OpenCode reads the AGENTS.md standard and a shared skills home natively, so the mapping should be light
  • The tools/* CLI bridges (gh, jira, gmail, ponymail, vulnogram, cve-org, …) are language-agnostic invocations and should port directly
  • HITL primitives: OpenCode's permission model (ask / allow / deny, with per-pattern bash rules) maps to the framework's confirm-before-acting posture — verify and document the wiring (RFC-AI-0004 Principle 1)
  • Sandbox parity: the setup-isolated-* bubblewrap + egress model already launches OpenCode via opencode-iso; document the end-to-end setup

Suggested approach:

  • Map SKILL.md → OpenCode's skill/agent discovery (AGENTS.md); document how a maintainer runs (e.g.) security-issue-triage end-to-end under OpenCode
  • Wire the shipped OpenCode plugin (tools/agent-guard/opencode/plugin.js) and a safe opencode.json permission baseline into the setup skills so an OpenCode-only adopter gets the guards + isolation by default
  • Extend /magpie-setup and the setup-isolated-* skills to install the OpenCode plugin + opencode.json alongside the existing Claude wiring

Reference:

Metadata

Metadata

Assignees

No one assigned

    Labels

    capability:platformFramework / agent substrate skills (install, verify, doctor, override, status, setup bootstrap)enhancementNew feature or requestfamily:toolstools/*good first issueGood for newcomers

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions