Skip to content

OpenCode plugin so PM Skills install automatically into Opencode #49

Description

@jeongY-Cho

OpenCode is the one first-class AI target with no native PM Skills path. Propose shipping a bundled plugin (.opencode/plugins/pm-skills.js) that auto-registers all 68 skills + 42 /slash commands at runtime — one-line install, no manual copying.

The gap

OpenCode can't consume the Claude-style .claude-plugin/marketplace.json:

  • No native install — no marketplace, no plugin path.
  • Skills need manual copying into OpenCode's skill paths, with no source of truth and drift on every update.
  • Zero /slash commands — the 42 guided workflows (/discover, /write-prd, /red-team-prd, …) don't register at all.
  • No incremental story — each new skill/command upstream means redoing setup per user.

Proposal

A repo-bundled plugin (npm manifest .opencode/package.json, depends on gray-matter) that, on init:

  1. Scans pm-*/ dirs at repo root (the 9 plugins).
  2. Injects each pm-*/skills/ path into config.skills.paths — OpenCode lazily discovers every SKILL.md (no symlinks/config edits; works because Config.get() is a cached singleton).
  3. Frontmatter-parses pm-*/commands/*.md and registers each as config.command[name] = { template, ...data }.
  4. Logs init/scan/load/totals under opencode-pm-skills so setup is observable.

Skill/command files stay the single source of truth — nothing to re-copy on updates.

Install

{
  "plugin": ["pm-skills@git+https://github.com/phuryn/pm-skills.git"]
}

Then restart OpenCode.

Result

All 68 skills and 42 commands available natively; one-line install; stays in sync on git pull.

Verification

  • Plugin logs Found 9 plugin directories.
  • 9 paths land in config.skills.paths; 42 commands register in config.command.
  • /write-prd and the create-prd skill resolve in a fresh session.

Pull request closing this issue

#48

Plugin code Inspired by

https://github.com/obra/superpowers/blob/main/.opencode/plugins/superpowers.js

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions