feat(superpowers): vendor the 7 wired skills at v6.4.1, drop the plugin

plugins.lock.json gains a superpowers entry (obra/superpowers @ 5bf4e78,
path skills, per-skill file lists, always_on) that lib/vendor-skills.sh
fetches byte-for-byte: brainstorming, writing-plans,
subagent-driven-development, test-driven-development,
requesting-code-review, using-git-worktrees, writing-skills. install-plugins
STEP 8e vendors it, update-all refreshes it at the pin, link.sh links the
seven, .gitignore ignores them. The plugin is no longer installed or
protected: its 8 other skills duplicated personal flows and its
SessionStart injection cost ~900 tokens per start, clear and compact.
detect_superpowers is one file test on the linked skill; doctor and
session-start stop charging the injection. doctor-vendored gains an
always_on class (third lock column) so always-on externals are
link-checked instead of reported parked.
This commit is contained in:
bastien
2026-09-28 14:54:52 +02:00
parent c39c0e1045
commit 18f8c898f8
12 changed files with 170 additions and 68 deletions
+5 -5
View File
@@ -223,9 +223,9 @@ else
fi
if detect_superpowers; then
pass "Superpowers plugin detected"
pass "superpowers skills linked (brainstorming found); per-skill check under Vendored skills"
else
fail "Superpowers not detected — orchestrators (/init-project, /ship-feature) will fail"
fail "superpowers skills not linked — run: make plugin && make link"
fi
if detect_context7; then
@@ -417,10 +417,10 @@ SKILL_DESC_TOKENS=$((SKILL_DESC_CHARS / 4))
# Plugin passive cost estimates (tokens) — session-start injections and
# hook prompts that never show up as a skill description above. gstack,
# context7 (find-docs) and graphifyy dropped 2026-09-28 (skill-catalog
# prune): their skills sit under ~/.claude/skills and are already counted
# by the stats above — a separate constant here double-counted them.
# prune); superpowers dropped the same day (tier 2, vendored instead):
# their skills sit under ~/.claude/skills and are already counted by the
# stats above — a separate constant here double-counted them.
PLUGIN_TOKENS=0
if detect_superpowers 2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 1500)); fi
if detect_uiux_pro_max 2>/dev/null; then PLUGIN_TOKENS=$((PLUGIN_TOKENS + 670)); fi
TOTAL_TOKENS=$((CLAUDE_MD_TOKENS + SKILL_DESC_TOKENS + PLUGIN_TOKENS))