Add and ship OpenCode support for one Claude Code plugin at a time. Includes core migration to a reviewable `opencode-plugin/` adapter, maintainer-facing docs, and follow-up CI/versioning setup for package publishing or skill-copy drift checks.
92
92%
Does it follow best practices?
Impact
97%
1.25xAverage score across 2 eval scenarios
Passed
No known issues
Use this when deciding whether a repo can share Agent Skills directly or needs OpenCode plugin code.
OpenCode can discover several skill locations, but new shared generated skills should default to:
.agents/skills/<skill-name>/SKILL.mdUse .opencode/skills/<skill-name>/SKILL.md only for OpenCode-specific behavior. Do not generate .claude/skills/ as part of an OpenCode support task.
OpenCode can load project or global skills from:
| Scope | Path |
|---|---|
| Project OpenCode | .opencode/skills/*/SKILL.md |
| Global OpenCode | ~/.config/opencode/skills/*/SKILL.md |
| Project Claude-compatible | .claude/skills/*/SKILL.md |
| Global Claude-compatible | ~/.claude/skills/*/SKILL.md |
| Project agent-compatible | .agents/skills/*/SKILL.md |
| Global agent-compatible | ~/.agents/skills/*/SKILL.md |
Discovery compatibility means OpenCode can read existing .claude/skills. It does not mean this skill should generate new .claude/skills.
Because OpenCode can read existing .claude/skills, copying or symlinking skills is not always necessary. Prefer validation and discovery testing before creating duplicate skill trees.
Each SKILL.md needs YAML frontmatter with:
name required.description required.license optional.compatibility optional.metadata optional.OpenCode skill names should:
^[a-z0-9]+(-[a-z0-9]+)*$.If a Claude plugin is only reusable instructions, scripts, references, and assets under Agent Skills, OpenCode may not need plugin code. Validate the skills, then document discovery and packaging.
Use opencode debug skill as the primary local discovery check when OpenCode is available.
Default source of truth for newly generated shared skills: .agents/skills/.
Use opencode-plugin/skills/ only for package-local distribution content. If copying from .agents/skills/, say how the copy is kept in sync. Avoid maintaining divergent Claude/OpenCode skill copies.
For this version, keep synchronization manual and reviewable. Document the declared source of truth and add a test or checksum/content-equality check for package-local copies, but do not create CI, GitHub Actions, release, publish, or sync workflow files.
.claude/skillsWhen existing Claude skills live under .claude/skills/:
.agents/skills/..agents/skills/ is the new shared source or that a sync process is required; do not automate that sync with workflow files in this version.