mirror of
https://github.com/obra/superpowers.git
synced 2026-05-07 22:06:07 +08:00
Replace Claude-Code-specific tool names in skill prose, prompt
templates, and OpenCode-facing docs with action-language descriptions
that resolve to each runtime's native tool via the per-platform refs.
Changes by category:
- Prose mentions ("Use TodoWrite to track...", "Use Task tool with
general-purpose type") → action language ("Track each item as a
todo", "Dispatch a general-purpose subagent")
- Prompt template headers (6 files): "Task tool (general-purpose):"
→ "Subagent (general-purpose):" — preserves the type information
without naming Claude Code's specific dispatch tool
- DOT flowchart node labels: "Invoke Skill tool" → "Invoke the
skill"; "Create TodoWrite todo per item" → "Create a todo per
item"
- OpenCode INSTALL.md and docs/README.opencode.md: replace the old
"TodoWrite → todowrite, Task → @mention" mapping (which both
taught a vocabulary skills no longer use AND was wrong about
@mention being a real OpenCode syntax) with an action-language
mapping verified against the installed OpenCode CLI's tool
inventory.
The platform-tools refs landed in Phase B already document each
runtime's resolution; skills now speak in the actions those refs
map. Tool names that genuinely belong only in the per-platform
dispatch section ("In Claude Code: Use the `Skill` tool") and the
Claude-Code-specific Bash run_in_background flag note in
visual-companion remain — those are intentional carve-outs.
163 lines
4.5 KiB
Markdown
163 lines
4.5 KiB
Markdown
# Superpowers for OpenCode
|
|
|
|
Complete guide for using Superpowers with [OpenCode.ai](https://opencode.ai).
|
|
|
|
## Installation
|
|
|
|
Add superpowers to the `plugin` array in your `opencode.json` (global or project-level):
|
|
|
|
```json
|
|
{
|
|
"plugin": ["superpowers@git+https://github.com/obra/superpowers.git"]
|
|
}
|
|
```
|
|
|
|
Restart OpenCode. The plugin installs through OpenCode's plugin manager and
|
|
registers all skills.
|
|
|
|
Verify by asking: "Tell me about your superpowers"
|
|
|
|
OpenCode uses its own plugin install. If you also use Claude Code, Codex, or
|
|
another harness, install Superpowers separately for each one.
|
|
|
|
### Migrating from the old symlink-based install
|
|
|
|
If you previously installed superpowers using `git clone` and symlinks, remove the old setup:
|
|
|
|
```bash
|
|
# Remove old symlinks
|
|
rm -f ~/.config/opencode/plugins/superpowers.js
|
|
rm -rf ~/.config/opencode/skills/superpowers
|
|
|
|
# Optionally remove the cloned repo
|
|
rm -rf ~/.config/opencode/superpowers
|
|
|
|
# Remove skills.paths from opencode.json if you added one for superpowers
|
|
```
|
|
|
|
Then follow the installation steps above.
|
|
|
|
## Usage
|
|
|
|
### Finding Skills
|
|
|
|
Use OpenCode's native `skill` tool to list all available skills:
|
|
|
|
```
|
|
use skill tool to list skills
|
|
```
|
|
|
|
### Loading a Skill
|
|
|
|
```
|
|
use skill tool to load superpowers/brainstorming
|
|
```
|
|
|
|
### Personal Skills
|
|
|
|
Create your own skills in `~/.config/opencode/skills/`:
|
|
|
|
```bash
|
|
mkdir -p ~/.config/opencode/skills/my-skill
|
|
```
|
|
|
|
Create `~/.config/opencode/skills/my-skill/SKILL.md`:
|
|
|
|
```markdown
|
|
---
|
|
name: my-skill
|
|
description: Use when [condition] - [what it does]
|
|
---
|
|
|
|
# My Skill
|
|
|
|
[Your skill content here]
|
|
```
|
|
|
|
### Project Skills
|
|
|
|
Create project-specific skills in `.opencode/skills/` within your project.
|
|
|
|
**Skill Priority:** Project skills > Personal skills > Superpowers skills
|
|
|
|
## Updating
|
|
|
|
OpenCode installs Superpowers through a git-backed package spec. Some OpenCode
|
|
and Bun versions pin that resolved git dependency in a lockfile or cache, so a
|
|
restart may not pick up the newest Superpowers commit. If updates do not appear,
|
|
clear OpenCode's package cache or reinstall the plugin.
|
|
|
|
To pin a specific version, use a branch or tag:
|
|
|
|
```json
|
|
{
|
|
"plugin": ["superpowers@git+https://github.com/obra/superpowers.git#v5.0.3"]
|
|
}
|
|
```
|
|
|
|
## How It Works
|
|
|
|
The plugin does two things:
|
|
|
|
1. **Injects bootstrap context** via the `experimental.chat.system.transform` hook, adding superpowers awareness to every conversation.
|
|
2. **Registers the skills directory** via the `config` hook, so OpenCode discovers all superpowers skills without symlinks or manual config.
|
|
|
|
### Tool Mapping
|
|
|
|
Skills speak in actions rather than naming any one runtime's tools. On OpenCode these resolve to:
|
|
|
|
- "Create a todo" / "mark complete in todo list" → `todowrite`
|
|
- `Subagent (general-purpose):` template → OpenCode's `task` tool with `subagent_type: "general"` (or `"explore"` for codebase exploration)
|
|
- "Invoke a skill" → OpenCode's native `skill` tool
|
|
- "Read a file" / "create a file" / "edit a file" → `read`, `write`, `edit`
|
|
- "Run a shell command" → `bash`
|
|
- "Search file contents" / "find files by name" → `grep`, `glob`
|
|
- "Fetch a URL" / "search the web" → `webfetch`, `websearch`
|
|
|
|
(Verified against the installed OpenCode CLI's tool inventory.)
|
|
|
|
## Troubleshooting
|
|
|
|
### Plugin not loading
|
|
|
|
1. Check OpenCode logs: `opencode run --print-logs "hello" 2>&1 | grep -i superpowers`
|
|
2. Verify the plugin line in your `opencode.json` is correct
|
|
3. Make sure you're running a recent version of OpenCode
|
|
|
|
### Windows install issues
|
|
|
|
Some Windows OpenCode builds have upstream installer issues with git-backed
|
|
plugin specs, including cache paths for `git+https` URLs and Bun not finding
|
|
`git.exe` even when it works in a normal terminal. If OpenCode cannot install
|
|
the plugin, try installing with system npm and pointing OpenCode at the local
|
|
package:
|
|
|
|
```powershell
|
|
npm install superpowers@git+https://github.com/obra/superpowers.git --prefix "$HOME\.config\opencode"
|
|
```
|
|
|
|
Then use the installed package path in `opencode.json`:
|
|
|
|
```json
|
|
{
|
|
"plugin": ["~/.config/opencode/node_modules/superpowers"]
|
|
}
|
|
```
|
|
|
|
### Skills not found
|
|
|
|
1. Use OpenCode's `skill` tool to list available skills
|
|
2. Check that the plugin is loading (see above)
|
|
3. Each skill needs a `SKILL.md` file with valid YAML frontmatter
|
|
|
|
### Bootstrap not appearing
|
|
|
|
1. Check OpenCode version supports `experimental.chat.system.transform` hook
|
|
2. Restart OpenCode after config changes
|
|
|
|
## Getting Help
|
|
|
|
- Report issues: https://github.com/obra/superpowers/issues
|
|
- Main documentation: https://github.com/obra/superpowers
|
|
- OpenCode docs: https://opencode.ai/docs/
|