v4.1.0

obra/superpowersv4.1.0Jan 23, 2026by obra

AI Summary

Minor release with breaking changes to OpenCode integration and significant Windows compatibility fixes. Switched to native skills system and resolved long-standing agent reset and Windows installation issues.

Key Highlights

  • Switched to OpenCode's native skill tool instead of custom use_skill/find_skills
  • Fixed agent reset on session start using experimental.chat.system.transform hook
  • Fixed Windows installation by removing skills-core.js dependency
  • Fixed Claude Code 2.1.x Windows hook execution with updated hooks.json approach
  • Added .gitattributes to enforce LF line endings for shell scripts

Breaking Changes

  • Skills must now be symlinked to ~/.config/opencode/skills/superpowers/ instead of using custom tools

New Features

  • Native skills system integration with OpenCode
  • Comprehensive Windows installation docs for cmd.exe, PowerShell, and Git Bash
  • Proper symlink vs junction documentation for Windows platforms

Full Release Notes

## Breaking Changes

**OpenCode: Switched to native skills system**

Superpowers for OpenCode now uses OpenCode's native `skill` tool instead of custom `use_skill`/`find_skills` tools. This is a cleaner integration that works with OpenCode's built-in skill discovery.

**Migration required:** Skills must be symlinked to `~/.config/opencode/skills/superpowers/` (see updated installation docs).

## Fixes

**OpenCode: Fixed agent reset on session start (#226)**

The previous bootstrap injection method using `session.prompt({ noReply: true })` caused OpenCode to reset the selected agent to "build" on first message. Now uses `experimental.chat.system.transform` hook which modifies the system prompt directly without side effects.

**OpenCode: Fixed Windows installation (#232)**

- Removed dependency on `skills-core.js` (eliminates broken relative imports when file is copied instead of symlinked)
- Added comprehensive Windows installation docs for cmd.exe, PowerShell, and Git Bash
- Documented proper symlink vs junction usage for each platform

**Claude Code: Fixed Windows hook execution for Claude Code 2.1.x**

Claude Code 2.1.x changed how hooks execute on Windows: it now auto-detects `.sh` files in commands and prepends `bash `. This broke the polyglot wrapper pattern because `bash "run-hook.cmd" session-start.sh` tries to execute the .cmd file as a bash script.

Fix: hooks.json now calls session-start.sh directly. Claude Code 2.1.x handles the bash invocation automatically. Also added .gitattributes to enforce LF line endings for shell scripts (fixes CRLF issues on Windows checkout).