Complete guide for using Superpowers with OpenCode.ai.
Tell OpenCode:
Clone https://github.com/obra/superpowers to ~/.config/opencode/superpowers, then create directory ~/.config/opencode/plugins, then symlink ~/.config/opencode/superpowers/.opencode/plugins/superpowers.js to ~/.config/opencode/plugins/superpowers.js, then symlink ~/.config/opencode/superpowers/skills to ~/.config/opencode/skills/superpowers, then restart opencode.
# 1. Install Superpowers (or update existing)
if [ -d ~/.config/opencode/superpowers ]; then
cd ~/.config/opencode/superpowers && git pull
else
git clone https://github.com/obra/superpowers.git ~/.config/opencode/superpowers
fi
# 2. Create directories
mkdir -p ~/.config/opencode/plugins ~/.config/opencode/skills
# 3. Remove old symlinks/directories if they exist
rm -f ~/.config/opencode/plugins/superpowers.js
rm -rf ~/.config/opencode/skills/superpowers
# 4. Create symlinks
ln -s ~/.config/opencode/superpowers/.opencode/plugins/superpowers.js ~/.config/opencode/plugins/superpowers.js
ln -s ~/.config/opencode/superpowers/skills ~/.config/opencode/skills/superpowers
# 5. Restart OpenCode
ls -l ~/.config/opencode/plugins/superpowers.js
ls -l ~/.config/opencode/skills/superpowers
Both should show symlinks pointing to the superpowers directory.
Prerequisites:
Pick your shell below: Command Prompt | PowerShell | Git Bash
Run as Administrator, or with Developer Mode enabled:
:: 1. Install Superpowers git clone https://github.com/obra/superpowers.git "%USERPROFILE%\.config\opencode\superpowers" :: 2. Create directories mkdir "%USERPROFILE%\.config\opencode\plugins" 2>nul mkdir "%USERPROFILE%\.config\opencode\skills" 2>nul :: 3. Remove existing links (safe for reinstalls) del "%USERPROFILE%\.config\opencode\plugins\superpowers.js" 2>nul rmdir "%USERPROFILE%\.config\opencode\skills\superpowers" 2>nul :: 4. Create plugin symlink (requires Developer Mode or Admin) mklink "%USERPROFILE%\.config\opencode\plugins\superpowers.js" "%USERPROFILE%\.config\opencode\superpowers\.opencode\plugins\superpowers.js" :: 5. Create skills junction (works without special privileges) mklink /J "%USERPROFILE%\.config\opencode\skills\superpowers" "%USERPROFILE%\.config\opencode\superpowers\skills" :: 6. Restart OpenCode
Run as Administrator, or with Developer Mode enabled:
# 1. Install Superpowers git clone https://github.com/obra/superpowers.git "$env:USERPROFILE\.config\opencode\superpowers" # 2. Create directories New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.config\opencode\plugins" New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.config\opencode\skills" # 3. Remove existing links (safe for reinstalls) Remove-Item "$env:USERPROFILE\.config\opencode\plugins\superpowers.js" -Force -ErrorAction SilentlyContinue Remove-Item "$env:USERPROFILE\.config\opencode\skills\superpowers" -Force -ErrorAction SilentlyContinue # 4. Create plugin symlink (requires Developer Mode or Admin) New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE\.config\opencode\plugins\superpowers.js" -Target "$env:USERPROFILE\.config\opencode\superpowers\.opencode\plugins\superpowers.js" # 5. Create skills junction (works without special privileges) New-Item -ItemType Junction -Path "$env:USERPROFILE\.config\opencode\skills\superpowers" -Target "$env:USERPROFILE\.config\opencode\superpowers\skills" # 6. Restart OpenCode
Note: Git Bash's native ln command copies files instead of creating symlinks. Use cmd //c mklink instead (the //c is Git Bash syntax for /c).
# 1. Install Superpowers
git clone https://github.com/obra/superpowers.git ~/.config/opencode/superpowers
# 2. Create directories
mkdir -p ~/.config/opencode/plugins ~/.config/opencode/skills
# 3. Remove existing links (safe for reinstalls)
rm -f ~/.config/opencode/plugins/superpowers.js 2>/dev/null
rm -rf ~/.config/opencode/skills/superpowers 2>/dev/null
# 4. Create plugin symlink (requires Developer Mode or Admin)
cmd //c "mklink \"$(cygpath -w ~/.config/opencode/plugins/superpowers.js)\" \"$(cygpath -w ~/.config/opencode/superpowers/.opencode/plugins/superpowers.js)\""
# 5. Create skills junction (works without special privileges)
cmd //c "mklink /J \"$(cygpath -w ~/.config/opencode/skills/superpowers)\" \"$(cygpath -w ~/.config/opencode/superpowers/skills)\""
# 6. Restart OpenCode
If running OpenCode inside WSL, use the macOS / Linux instructions instead.
Command Prompt:
dir /AL "%USERPROFILE%\.config\opencode\plugins" dir /AL "%USERPROFILE%\.config\opencode\skills"
PowerShell:
Get-ChildItem "$env:USERPROFILE\.config\opencode\plugins" | Where-Object { $_.LinkType } Get-ChildItem "$env:USERPROFILE\.config\opencode\skills" | Where-Object { $_.LinkType }
Look for <SYMLINK> or <JUNCTION> in the output.
"You do not have sufficient privilege" error:
"Cannot create a file when that file already exists":
Symlinks not working after git clone:
git config --global core.symlinks true and re-cloneUse OpenCode's native skill tool to list all available skills:
use skill tool to list skills
Use OpenCode's native skill tool to load a specific skill:
use skill tool to load superpowers/brainstorming
Create your own skills in ~/.config/opencode/skills/:
mkdir -p ~/.config/opencode/skills/my-skill
Create ~/.config/opencode/skills/my-skill/SKILL.md:
---
name: my-skill
description: Use when [condition] - [what it does]
---
# My Skill
[Your skill content here]
Create project-specific skills in your OpenCode project:
# In your OpenCode project
mkdir -p .opencode/skills/my-project-skill
Create .opencode/skills/my-project-skill/SKILL.md:
---
name: my-project-skill
description: Use when [condition] - [what it does]
---
# My Project Skill
[Your skill content here]
OpenCode discovers skills from these locations:
.opencode/skills/) - Highest priority~/.config/opencode/skills/)~/.config/opencode/skills/superpowers/) - via symlinkThe plugin automatically injects superpowers context via the experimental.chat.system.transform hook. This adds the "using-superpowers" skill content to the system prompt on every request.
Superpowers uses OpenCode's native skill tool for skill discovery and loading. Skills are symlinked into ~/.config/opencode/skills/superpowers/ so they appear alongside your personal and project skills.
Skills written for Claude Code are automatically adapted for OpenCode. The bootstrap provides mapping instructions:
TodoWrite → update_planTask with subagents → OpenCode's @mention systemSkill tool → OpenCode's native skill toolLocation: ~/.config/opencode/superpowers/.opencode/plugins/superpowers.js
Components:
experimental.chat.system.transform hook for bootstrap injectionLocation: ~/.config/opencode/skills/superpowers/ (symlink to ~/.config/opencode/superpowers/skills/)
Skills are discovered by OpenCode's native skill system. Each skill has a SKILL.md file with YAML frontmatter.
cd ~/.config/opencode/superpowers
git pull
Restart OpenCode to load the updates.
ls ~/.config/opencode/superpowers/.opencode/plugins/superpowers.jsls -l ~/.config/opencode/plugins/ (macOS/Linux) or dir /AL %USERPROFILE%\.config\opencode\plugins (Windows)opencode run "test" --print-logs --log-level DEBUGls -l ~/.config/opencode/skills/superpowers (should point to superpowers/skills/)skill tool to list available skillsSKILL.md file with valid frontmatterIf you see Cannot find module errors on Windows:
ln -sf copies files instead of creating symlinksmklink /J directory junctions instead (see Windows installation steps)ls ~/.config/opencode/superpowers/skills/using-superpowers/SKILL.mdexperimental.chat.system.transform hookVerify your installation:
# Check plugin loads
opencode run --print-logs "hello" 2>&1 | grep -i superpowers
# Check skills are discoverable
opencode run "use skill tool to list all skills" 2>&1 | grep -i superpowers
# Check bootstrap injection
opencode run "what superpowers do you have?"
The agent should mention having superpowers and be able to list skills from superpowers/.