-
-
Notifications
You must be signed in to change notification settings - Fork 6k
Description
Feature request: opt-in mode that disables auto-triggering
Problem
Installing Superpowers changes Claude Code's default behavior globally. The SessionStart hook injects the using-superpowers meta-skill into every session, mandating skill checks before any response. There's no way to keep skills available via slash commands while leaving Claude's default behavior intact. Users who want to evaluate Superpowers incrementally — or only use it for specific workflows — must manually edit session-start after each install/update.
Proposal
Add a SUPERPOWERS_MODE environment variable checked at the top of hooks/session-start:
auto(default): Current behavior. Full context injection, skills auto-trigger.explicit: No meta-skill injection. Slash commands (/superpowers:brainstorm, etc.) still work since they're registered independently by the plugin system.
# Top of hooks/session-start
if [ "${SUPERPOWERS_MODE}" = "explicit" ]; then
cat <<EOF
{
"additional_context": "Superpowers skills available via /superpowers: commands.",
"hookSpecificOutput": {
"hookEventName": "SessionStart",
"additionalContext": "Superpowers skills available via /superpowers: commands."
}
}
EOF
exit 0
fiUsage: export SUPERPOWERS_MODE=explicit in shell profile, or SUPERPOWERS_MODE=explicit claude per-session.
Why this is sufficient
Slash commands and auto-triggering are already separate mechanisms. Disabling the hook injection leaves all /superpowers:* commands functional. No other code changes needed.