Yesterday, I released an update to Superpowers.

This update extracts skills into a standalone git repository that you can fork and manage locally to add, customize skills, and share skills. Claude decided this was big enough to become 2.0. You can read the release notes here

And the whole thing might already be obsolete.

skill activation

This post was going to be mostly about the updates that make it easier to create and share skills with this new version of Superpowers. But as I started to put it together, I was reading through a bug report from a Superpowers user who had helpfully incldued a debug log from claude --debug.

That log included this snippet:

[DEBUG] Loading skills from directories: managed=/Library/Application Support/ClaudeCode/.claude/skills, user=/Users/name/.claude/skills, project=/Users/name/Projects/project/.claude/skills
[DEBUG] Loaded 0 skills total (managed: 0, user: 0, project: 0)
[DEBUG] Loaded 4 commands from plugin superpowers default directory
[DEBUG] Total plugin commands loaded: 4
[DEBUG] Total plugin skills loaded: 0

So, you might think that the problem being reported was that no skills were loaded. But the bug report was about something completely different.

The "problem" here is that those log messages aren't from Superpowers.

When I moved Superpowers' skills into ~/.claude/skills (where they had resided until last week!) and restarted claude, I got this debugging output:

[DEBUG] Slash commands included in SlashCommand tool: /Brainstorming Ideas Into Designs, /Collision-Zone Thinking, /Condition-Based Waiting, /Defense-in-Depth Validation, /Dispatching Parallel Agents, /Executing Plans, /Finishing a Development Branch, /Gardening Skills Wiki, /Inversion Exercise, /Meta-Pattern Recognition, /Preserving Productive Tensions, /Pulling Updates from Skills Repository, /Code Review Reception, /Remembering Conversations, /Requesting Code Review, /Root Cause Tracing, /Scale Game, /Sharing Skills, /Simplification Cascades, /Subagent-Driven Development, /Systematic Debugging, /Test-Driven Development (TDD), /Testing Anti-Patterns, /Testing Skills With Subagents, /Tracing Knowledge Lineages, /Using Git Worktrees, /Getting Started with Skills, /Verification Before Completion, /When Stuck - Problem-Solving Dispatch, /Writing Plans, /Writing Skills, /Brainstorming Ideas Into Designs, /Collision-Zone Thinking, /Condition-Based Waiting, /Defense-in-Depth Validation, /Dispatching Parallel Agents, /Executing Plans, /Finishing a Development Branch, /Gardening Skills Wiki, /Inversion Exercise, /Meta-Pattern Recognition, /Preserving Productive Tensions, /Pulling Updates from Skills Repository, /Code Review Reception, /Remembering Conversations, /Requesting Code Review, /Root Cause Tracing, /Scale Game, /Sharing Skills

It's pulling the 'name' field of the YAML header and making it a SlashCommand. This seems a lot cleverer and more reliable than what I designed.

It appears that skills turn into SlashCommands and claude believes it can automatically activate them.

I haven't yet been able to get it to kick off skills running autonomously. Every time Claude thinks it can do that, it tries to run a slash command for a skill and gets an error. I don't know if my SKILL.md skills aren't quite in the right format for Claude's native skills system or if some part of this new functionality hasn't yet been pushed live.

The most difficult part of Superpowers has definitely been the "bootstrap" that gets Claude to use skills autonomously.

I'm low-key excited that I might not have to maintain that going forward.