Environment
| Field |
Value |
| Superpowers version |
5.0.4 |
| Harness (Claude Code, Cursor, etc.) |
OpenCode |
| Harness version |
|
| Model |
openai/gpt-5.4 |
| OS + shell |
macOS (darwin) |
Is this a Superpowers issue or a platform issue?
What happened?
OpenCode skill path handling is internally inconsistent after the auto-register change. The plugin now loads bundled skills from the installed package path (for example node_modules/superpowers/skills), but the bootstrap text still tells users that Superpowers skills live in ~/.config/opencode/skills/superpowers/, and the OpenCode tests were still checking ~/.config/opencode/superpowers/skills.
This leaves three different paths presented as the source of truth:
- Runtime plugin behavior: package-local
skills/
- Bootstrap help text:
~/.config/opencode/skills/superpowers/
- Tests:
~/.config/opencode/superpowers/skills
That makes debugging installation issues and maintaining the OpenCode integration unnecessarily confusing.
Steps to reproduce
- Install Superpowers in OpenCode using the current plugin-based installation flow.
- Inspect
.opencode/plugins/superpowers.js and note that runtime registration uses path.resolve(__dirname, '../../skills').
- Start OpenCode with Superpowers enabled and inspect the injected bootstrap text; it reports
~/.config/opencode/skills/superpowers/ as the skills location.
- Inspect
tests/opencode/test-plugin-loading.sh and tests/opencode/test-priority.sh; they check ~/.config/opencode/superpowers/skills instead.
Expected behavior
OpenCode runtime behavior, user-facing bootstrap text, and OpenCode tests should all describe and validate the same skills path model.
Actual behavior
They describe three different path models at once, even though the real runtime source is the bundled package skills/ directory.
Debug log or conversation transcript
Relevant implementation evidence:
.opencode/plugins/superpowers.js:51 registers the runtime skills directory with path.resolve(__dirname, '../../skills')
.opencode/plugins/superpowers.js:72 reports ~/.config/opencode/skills/superpowers/ in bootstrap text
tests/opencode/test-plugin-loading.sh:35 and tests/opencode/test-plugin-loading.sh:45 check ~/.config/opencode/superpowers/skills
tests/opencode/test-priority.sh:21 and tests/opencode/test-priority.sh:68 also assume ~/.config/opencode/superpowers/skills
Related history:
#328 includes a user report noting that the plugin message and actual skill location did not match
#339 reports OpenCode skill installation/path confusion
#343 is another OpenCode path/documentation inconsistency (plugin vs plugins)
#753 changed OpenCode to auto-register bundled skills, which appears to be where the current runtime/documentation split was introduced
Environment
Is this a Superpowers issue or a platform issue?
What happened?
OpenCode skill path handling is internally inconsistent after the auto-register change. The plugin now loads bundled skills from the installed package path (for example
node_modules/superpowers/skills), but the bootstrap text still tells users that Superpowers skills live in~/.config/opencode/skills/superpowers/, and the OpenCode tests were still checking~/.config/opencode/superpowers/skills.This leaves three different paths presented as the source of truth:
skills/~/.config/opencode/skills/superpowers/~/.config/opencode/superpowers/skillsThat makes debugging installation issues and maintaining the OpenCode integration unnecessarily confusing.
Steps to reproduce
.opencode/plugins/superpowers.jsand note that runtime registration usespath.resolve(__dirname, '../../skills').~/.config/opencode/skills/superpowers/as the skills location.tests/opencode/test-plugin-loading.shandtests/opencode/test-priority.sh; they check~/.config/opencode/superpowers/skillsinstead.Expected behavior
OpenCode runtime behavior, user-facing bootstrap text, and OpenCode tests should all describe and validate the same skills path model.
Actual behavior
They describe three different path models at once, even though the real runtime source is the bundled package
skills/directory.Debug log or conversation transcript
Relevant implementation evidence:
.opencode/plugins/superpowers.js:51registers the runtime skills directory withpath.resolve(__dirname, '../../skills').opencode/plugins/superpowers.js:72reports~/.config/opencode/skills/superpowers/in bootstrap texttests/opencode/test-plugin-loading.sh:35andtests/opencode/test-plugin-loading.sh:45check~/.config/opencode/superpowers/skillstests/opencode/test-priority.sh:21andtests/opencode/test-priority.sh:68also assume~/.config/opencode/superpowers/skillsRelated history:
#328includes a user report noting that the plugin message and actual skill location did not match#339reports OpenCode skill installation/path confusion#343is another OpenCode path/documentation inconsistency (pluginvsplugins)#753changed OpenCode to auto-register bundled skills, which appears to be where the current runtime/documentation split was introduced