Eleven Claude Code skills, ported to OpenCode.
Code review, security audit, feature dev, frontend design, and the rest of the kit — installable in one line.
Install · Skills · Commands · How it works · Credits · License
Built on top of anthropics/claude-plugins-official, anthropics/skills, anthropics/claude-code-security-review, and obra/superpowers. See Acknowledgments.
Why this exists
OpenCode reads Claude Code's SKILL.md format natively, but most of Anthropic's official Claude Code plugins put their value in commands/ and agents/ — and those are Claude-Code-only. So if you want /code-review, /security-review, or /feature-dev in OpenCode, copy-paste won't get you there.
This pack does the translation: the multi-agent workflows from those plugins are rewritten as OpenCode-compatible skills, so the methodology survives the platform jump. Plus a few direct ports of skills that already lived in Anthropic's skills/ repo.
It pairs nicely with obra/superpowers, which provides the meta-workflow skills (brainstorming, TDD, executing-plans). This pack adds the domain-specific muscle.
What's inside
| Category | Skill | Source | Purpose |
|---|---|---|---|
| Review | code-review | adapted · claude-plugins-official/code-review | Multi-agent PR review with confidence-filtered cross-checks and reproduction scenarios |
security-review | adapted · claude-code-security-review | OWASP-bucketed, three-stage filtering, requires concrete attack PoC per finding | |
| Feature dev | feature-dev | ported · claude-plugins-official/feature-dev | Seven-phase guided workflow: discovery → exploration → questions → architecture → impl → review → summary |
code-explorer | ported · claude-plugins-official/feature-dev | Deep codebase analysis sub-task — traces a feature end-to-end | |
code-architect | ported · claude-plugins-official/feature-dev | Decisive architecture blueprint sub-task with file-level implementation map | |
code-reviewer | ported · claude-plugins-official/feature-dev | Two-pass adversarial review sub-task with explicit edge-case checklist | |
| Design | frontend-design | adapted · claude-plugins-official/frontend-design | Distinctive, production-grade UI generation that avoids generic AI aesthetics |
| Authoring | mcp-builder | adapted · anthropics/skills/mcp-builder | Build high-quality MCP servers (Python or TypeScript) |
skill-creator | adapted · skills/skill-creator | Author new SKILL.md files with progressive-disclosure structure | |
| Project memory | agents-md-improver | adapted · plugins/claude-md-management | Audit and update AGENTS.md / CLAUDE.md against the current codebase |
agents-md-revise | translated · claude-md-management/commands | Capture session learnings into project rules — complement to improver |
Installation
Prerequisites
- OpenCode installed and on your PATH. If you do not have it: https://opencode.ai
- git (used by OpenCode to fetch the plugin)
- Bun is bundled with OpenCode, so the plugin's
npm installstep at startup is automatic
Pick an install method
Two paths that work today; pick whichever fits how you plan to use the pack.
| A — Install from GitHub | B — Install from a local git clone | |
|---|---|---|
| Best for | Just using the pack | Tinkering, contributing, or running offline |
| Requires | Network during first install | A local clone of the repo |
| Updates | git pull + cache clear (the cache holds Bun's checkout) | git pull updates everything live; symlinks pick up changes immediately |
| Internet at runtime | Only at first install / on cache miss | Never |
Both methods share steps 2 (symlink commands) and 3 (restart). Only step 1 differs.
A — Install from GitHub
Step 1A. Add to ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"plugin": [
"opencode-power-pack@git+https://github.com/waybarrios/opencode-power-pack.git"
]
}If you already use other plugins (e.g. superpowers), keep all of them in the array:
{
"plugin": [
"superpowers@git+https://github.com/obra/superpowers.git",
"opencode-power-pack@git+https://github.com/waybarrios/opencode-power-pack.git"
]
}To pin a specific published tag:
"opencode-power-pack@git+https://github.com/waybarrios/opencode-power-pack.git#<tag>"You still need a local copy of the repo for step 2 (the slash command files live there). Clone it next to wherever you keep code:
git clone https://github.com/waybarrios/opencode-power-pack.git ~/code/opencode-power-packThen jump to step 2 (symlink commands) below.
B — Install from a local git clone
This avoids the GitHub round-trip entirely. The plugin lives on your disk, and OpenCode reads it via a file:// URL.
Step 1B.1. Clone the repo wherever you keep code:
git clone https://github.com/waybarrios/opencode-power-pack.git ~/code/opencode-power-packIf the repo is not yet on GitHub and you only have it locally, skip the clone — just point at the existing directory.
Step 1B.2. Add to ~/.config/opencode/opencode.json, using the absolute path to your clone:
{
"$schema": "https://opencode.ai/config.json",
"plugin": [
"opencode-power-pack@git+file:///Users/you/code/opencode-power-pack"
]
}Notes:
- The
file://URL needs to be an absolute path with three slashes (file:///Users/...) and no trailing slash. - The directory must be a git repo (have a
.git/). If you copied the files without git, rungit init && git add . && git commit -m initinside the directory first — Bun's git-style installer requires a real git tree. - Updating is just
cd ~/code/opencode-power-pack && git pull, then clear the cache and restart (see Updating).
Then continue to step 2 below.
2. Symlink the slash commands (both methods)
The plugin auto-registers the skills directory programmatically. Slash commands, however, need to live in OpenCode's canonical commands path; the plugin ships physical markdown files under commands/ for you to symlink in.
mkdir -p ~/.config/opencode/commands
ln -s ~/code/opencode-power-pack/commands/*.md ~/.config/opencode/commands/Adjust the source path if you cloned somewhere other than ~/code/opencode-power-pack. If a command of the same name already exists in ~/.config/opencode/commands/, that file wins — ln -s will refuse to overwrite, which is the desired behavior.
If you prefer copies over symlinks (e.g. you do not want git pull to silently change your commands):
cp ~/code/opencode-power-pack/commands/*.md ~/.config/opencode/commands/Trade-off: copies are static — you have to re-copy after every git pull. Symlinks track the working tree live.
3. Restart OpenCode (both methods)
# kill ALL opencode processes (not just the active TUI)
pkill -f opencode
# clear the npm-style plugin cache so the new version is fetched fresh
rm -rf ~/.cache/opencode/node_modules/opencode-power-pack 2>/dev/null
# start again
opencode4. Verify
In a new OpenCode session, run:
List the skills you have available.
You should see the eleven skills under the opencode-power-pack: namespace (or unprefixed, depending on your OpenCode version).
Then hit ctrl+p to open the command palette and look for any of:
code-reviewsecurity-reviewfeature-devfrontend-designagents-md-improver
If they show up, you're done. If not, see Troubleshooting.
Updating
# 1. Pull the latest skills + commands
cd ~/code/opencode-power-pack
git pull
# 2. If new skills were added, the existing symlinks are unaffected,
# but new commands need to be linked in:
ln -s ~/code/opencode-power-pack/commands/*.md ~/.config/opencode/commands/ 2>/dev/null
# 3. Clear the plugin cache and restart OpenCode
rm -rf ~/.cache/opencode/node_modules/opencode-power-pack
pkill -f opencode
opencodeIf you pinned a version in opencode.json, bump the tag in the JSON before restarting, otherwise OpenCode keeps using the pinned commit.
Uninstalling
# 1. Remove from opencode.json
# delete the "opencode-power-pack@..." line from the "plugin" array
# 2. Remove the symlinked commands
for f in ~/code/opencode-power-pack/commands/*.md; do
rm -f ~/.config/opencode/commands/"$(basename "$f")"
done
# 3. Remove the plugin cache
rm -rf ~/.cache/opencode/node_modules/opencode-power-pack
# 4. Restart OpenCode
pkill -f opencode
opencode
# 5. Optional: delete the local clone
rm -rf ~/code/opencode-power-packTo remove just one skill (keeping the rest), delete its symlink only:
rm ~/.config/opencode/commands/code-review.mdThe skill itself remains discoverable via the native skill tool unless you also remove it from the skills directory, but the slash command will no longer appear.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
/code-review not in command palette | Symlinks not in ~/.config/opencode/commands/ | Re-run the ln -s step from Installation |
/code-review shows the old meta-prompt ("If the skill is not yet loaded, load it via the native skill tool…") | Stale plugin cache from a pre-v0.1.0 build | rm -rf ~/.cache/opencode/node_modules/opencode-power-pack && pkill -f opencode && opencode |
| Skills do not appear when you run "list available skills" | Plugin entry missing or misspelled in opencode.json | Validate JSON: python3 -m json.tool ~/.config/opencode/opencode.json |
| Plugin install fails with a git error | Bad URL, network issue, or private repo | Check the git+... URL works manually: git ls-remote <url> |
| Symlink command fails on macOS with permission denied | ~/.config/opencode/commands/ does not exist | mkdir -p ~/.config/opencode/commands first |
| Command appears but model "rushes" and gives a one-line answer | Local model not following multi-step instructions | Use a stronger backing model. The skill content is correct; small models may still skim. The skills mark themselves as "expected to take multiple minutes" — bigger models honor that. |
| Want to disable for one project | Project-level override | Add "plugin": [] (empty) to <project>/.opencode/opencode.json |
If none of the above match: tail -f ~/.cache/opencode/log/*.log while you start OpenCode and look for plugin-load errors.
Slash commands
Each skill is exposed as a slash command. The command body inlines the full skill workflow, so the model receives the actual instructions as its prompt — not a meta-instruction telling it to load something else.
/code-review Multi-agent PR review with cross-check and reproduction scenarios
/security-review OWASP-bucketed audit with three-stage filtering and PoC requirement
/feature-dev Start the 7-phase guided feature workflow
/code-explorer Trace a feature deeply across the codebase
/code-architect Produce a complete architecture blueprint for a feature
/code-reviewer Two-pass adversarial review of a small change set
/frontend-design Generate a distinctive frontend with a bold aesthetic direction
/mcp-builder Guide MCP server creation
/skill-creator Author a new SKILL.md
/agents-md-improver Audit and improve AGENTS.md / CLAUDE.md
/agents-md-revise Capture session learnings into the rules file
Examples
/code-review --comment
/code-review can you review https://github.com/owner/repo/pull/449
/feature-dev add a logout button to the topbar
/security-review
/frontend-design pricing page, brutalist tone, single-screen
/agents-md-improver
If you have a command of the same name in ~/.config/opencode/commands/foo.md or under command in opencode.json, your version wins — the plugin only registers the skill discovery path, never overwrites a command.
How it works
┌─────────────────────────── opencode-power-pack ────────────────────────────┐
│ │
│ .opencode/plugins/opencode-power-pack.js │
│ ├── exports OpencodePowerPack(ctx) → { config(c) } │
│ └── pushes skills/ into c.skills.paths (live config singleton) │
│ │
│ skills/<name>/SKILL.md │
│ └── frontmatter: name + description (+ license) │
│ body: the actual workflow the model executes │
│ │
│ commands/<name>.md ──symlink──▶ ~/.config/opencode/commands/ │
│ ├── frontmatter: description (for menu) │
│ └── body: full inlined SKILL.md content + $ARGUMENTS │
│ │
└────────────────────────────────────────────────────────────────────────────┘
Two surfaces, one source of truth. The skills directory feeds OpenCode's native skill tool (so the model can load any skill on demand). The commands directory feeds the slash-command palette (so you can invoke a skill directly with /<name>). Both are generated from the same SKILL.md files — edit the SKILL.md, regenerate the command file with the script in the repo, and both paths stay in sync.
The plugin entry-point only registers the skills path. Slash commands are physical files, not programmatic — this avoids OpenCode's runtime-config caching gotchas and means you can edit, symlink, or selectively delete commands without touching code.
Scope and non-goals
| In scope | Out of scope |
|---|---|
| Porting Claude Code skills where the methodology is portable | Claude Code slash commands ported as Claude-Code-style commands |
| Translating commands and agents into SKILL.md format | Claude Code hooks |
| Licensed adaptations of upstream skills with immutable provenance | Claude Code output styles |
| OpenCode-native slash commands generated from skills | Anything that breaks if you also use Claude Code |
Contributing
Pull requests welcome, especially for:
- New skill ports (Trail of Bits security skills, language-specific packs from
wshobson/agents, document skills, etc.) - Improvements to existing skill instructions based on real-world failure modes
- Tooling to keep
commands/*.mdin sync withskills/*/SKILL.mdautomatically
Skill format must follow the OpenCode spec:
- Directory name matches the
namefrontmatter field - Lowercase alphanumeric with single hyphens, regex
^[a-z0-9]+(-[a-z0-9]+)*$ description1–1024 chars, specific enough to trigger correctly- Body in markdown, ideally under 500 lines
- Cite the upstream source in
licensefrontmatter when porting
Acknowledgments
The bundled skills are modified upstream works. Most content in skills/ is adapted from skills, commands, or agent definitions written by Anthropic, plus an adaptation of the OpenCode plugin pattern from Jesse Vincent (obra). This repository contributes the OpenCode port, packaging, and additional workflow guidance. Exact sources and Git blobs are recorded in UPSTREAMS.json.
Upstream sources
| Upstream | Project | What we use from it |
|---|---|---|
| Anthropic | claude-plugins-official/code-review | The confidence-filtered parallel-review methodology adapted as code-review |
| Anthropic | claude-plugins-official/feature-dev | The seven-phase workflow and three specialist roles |
| Anthropic | claude-plugins-official/frontend-design | The base frontend-design methodology, substantially extended here |
| Anthropic | claude-code-security-review | The MIT security-review command, translated and extended |
| Anthropic | anthropics/skills/mcp-builder | The base mcp-builder workflow, adapted without its original resources |
| Anthropic | anthropics/skills/skill-creator | The skill-creator workflow, adapted without its original eval tooling |
| Anthropic | claude-plugins-official/claude-md-management | The base project-memory workflows, expanded to cover AGENTS.md |
| Jesse Vincent (obra) | obra/superpowers | The OpenCode plugin pattern (config.skills.paths.push(...)) used in .opencode/plugins/opencode-power-pack.js |
What this repo actually contributes
- The translation of Claude-Code-only artifacts (commands and agents) into the SKILL.md format OpenCode reads natively
- Renaming and adapting
claude-md-improver/revise-claude-mdto cover bothAGENTS.md(OpenCode-native) andCLAUDE.md(compatibility) - Deepening the review skills (
code-review,code-reviewer,security-review) with extra reviewers, multi-pass adversarial analysis, mandatory category coverage, and concrete-PoC requirements — the originals were already strong; the ports try to compensate for the smaller models people sometimes run under OpenCode by being more directive - Bundling everything as a one-line OpenCode plugin, plus generating physical slash command files that inline each skill's full content
Each SKILL.md and generated command marks itself as modified and names its license. See THIRD_PARTY_NOTICES.md for attribution and UPSTREAMS.json for immutable provenance.
If you are one of the upstream authors and you'd like the attribution worded differently — or removed — open an issue and we'll fix it.
License
The wrapper code and original project material are MIT-licensed under LICENSE. Modified skills and command prompts derived from Anthropic's official plugins and skills are Apache-2.0, except security-review, whose upstream is MIT. See THIRD_PARTY_NOTICES.md, UPSTREAMS.json, and LICENSES/ for exact terms and sources.