fix(install-plugins): gate success messages on real outcomes; drop plugin-dev

- gstack + graphify blocks printed unconditional ok after || warn —
  misleading-success (LRN-071 class). ok now gated on tracked outcome,
  loud warn otherwise.
- plugin-dev install dropped (audit #14): installed 2026-06-23, never
  enabled, pure disk weight; uninstalled from the machine, reinstall
  deliberately if plugin authoring becomes a need.
- Summary block truthfulness: header no longer claims 'start OFF' for
  plugins committed enabled; pr-review-toolkit token estimate ~300 →
  ~2.2k (measured, 6 agent descriptions); ui-ux ~400 → ~780 (measured);
  graphifyy row names the CLI (graphify).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016zA3Qh2Q1QpcGXzXxKeDHR
This commit is contained in:
Bastien Chanot
2026-07-02 14:16:16 +02:00
co-authored by Claude Fable 5
parent 6d72d0adc8
commit 3a9b9e584d
+25 -12
View File
@@ -363,9 +363,10 @@ if [ -d "$GSTACK_DIR" ]; then
gstack_bump_playwright_if_unsupported gstack_bump_playwright_if_unsupported
info "Running GStack setup..." info "Running GStack setup..."
_gstack_setup_ok=0
if [ -x "$GSTACK_DIR/setup" ]; then if [ -x "$GSTACK_DIR/setup" ]; then
if (cd "$GSTACK_DIR" && ./setup); then if (cd "$GSTACK_DIR" && ./setup); then
: # setup succeeded _gstack_setup_ok=1
else else
warn "GStack ./setup failed — check output above" warn "GStack ./setup failed — check output above"
fi fi
@@ -381,9 +382,13 @@ if [ -d "$GSTACK_DIR" ]; then
&& [ "$(bash "$REPO/lib/toggle-external.sh" status gstack 2>/dev/null)" = "enabled" ]; then && [ "$(bash "$REPO/lib/toggle-external.sh" status gstack 2>/dev/null)" = "enabled" ]; then
info "Disabling gstack by default (no context cost until enabled)..." info "Disabling gstack by default (no context cost until enabled)..."
bash "$REPO/lib/toggle-external.sh" disable gstack >/dev/null bash "$REPO/lib/toggle-external.sh" disable gstack >/dev/null
ok "gstack installed, disabled — enable with: bash lib/toggle-external.sh enable gstack" fi
# Success message gated on the real setup outcome — an unconditional ok
# after a `|| warn` reads as success even when setup failed (LRN-071 class).
if [ "$_gstack_setup_ok" -eq 1 ]; then
ok "GStack ready (disabled by default — enable: bash lib/toggle-external.sh enable gstack)"
else else
ok "GStack ready (submodule initialized, symlinks staged)" warn "GStack NOT ready — ./setup did not complete (see warnings above)"
fi fi
# GStack shared infrastructure: bin/ (CLI tools) and browse/dist/ (compiled binary). # GStack shared infrastructure: bin/ (CLI tools) and browse/dist/ (compiled binary).
@@ -526,7 +531,9 @@ enable_plugin "security-guidance" "claude-code-plugins"
# (not in claude-code marketplace — it's a separate repo) # (not in claude-code marketplace — it's a separate repo)
install_plugin "example-skills" "anthropic-agent-skills" install_plugin "example-skills" "anthropic-agent-skills"
install_plugin "pr-review-toolkit" "claude-code-plugins" install_plugin "pr-review-toolkit" "claude-code-plugins"
install_plugin "plugin-dev" "claude-code-plugins" # plugin-dev dropped 2026-07-02 (audit #14): installed 2026-06-23, never
# enabled, pure disk weight — reinstall deliberately if plugin authoring
# becomes a need: claude plugin install plugin-dev@claude-code-plugins
echo "" echo ""
@@ -632,11 +639,18 @@ else
fi fi
fi fi
if command -v graphify &>/dev/null; then if command -v graphify &>/dev/null; then
_graphify_ok=1
info "Running graphify install (dependencies)..." info "Running graphify install (dependencies)..."
graphify install 2>/dev/null || warn "graphify install failed — run manually" graphify install 2>/dev/null || { warn "graphify install failed — run manually"; _graphify_ok=0; }
info "Configuring Claude Code integration..." info "Configuring Claude Code integration..."
graphify claude install 2>/dev/null || warn "graphify claude install failed — run manually" graphify claude install 2>/dev/null || { warn "graphify claude install failed — run manually"; _graphify_ok=0; }
ok "Graphifyy configured for Claude Code" # Success message gated on the real outcome (LRN-071 class: an
# unconditional ok after `|| warn` lies when a step failed).
if [ "$_graphify_ok" -eq 1 ]; then
ok "Graphify configured for Claude Code"
else
warn "Graphify NOT fully configured — re-run the failed step manually"
fi
fi fi
echo "" echo ""
@@ -897,14 +911,13 @@ echo " ✅ security-guidance — PreToolUse security hook (0 tokens) [claud
echo " ✅ rtk — token compression hook (0 tokens)" echo " ✅ rtk — token compression hook (0 tokens)"
echo " ✅ superpowers — brainstorm/plan/implement/debug workflow" echo " ✅ superpowers — brainstorm/plan/implement/debug workflow"
echo "" echo ""
echo " TOGGLE (installed but start OFF — /plugin-check recommends when needed):" echo " TOGGLE (plugin state = settings.json enabledPlugins; skills/CLIs = profiles):"
echo " 🔄 gstack — disabled by default (toggle: lib/toggle-external.sh enable gstack)" echo " 🔄 gstack — disabled by default (toggle: lib/toggle-external.sh enable gstack)"
echo " 🔄 gsd v2 — standalone CLI 'gsd' (gsd-pi, not a Claude Code plugin)" echo " 🔄 gsd v2 — standalone CLI 'gsd' (gsd-pi, not a Claude Code plugin)"
echo " 🔄 plugin-dev — create plugins/skills (~100 tokens) [claude-code-plugins]" echo " 🔄 pr-review-toolkit — /review-pr + 6 PR agents (~2.2k tokens when enabled) [claude-code-plugins]"
echo " 🔄 pr-review-toolkit — /pr-review-toolkit:review-pr (~300 tokens) [claude-code-plugins]" echo " 🔄 ui-ux-pro-max — user scope (~780 tokens when enabled)"
echo " 🔄 ui-ux-pro-max — user scope (~400 tokens)"
echo " 🔄 context7 CLI — ctx7 (npm global, standalone or MCP setup)" echo " 🔄 context7 CLI — ctx7 (npm global, standalone or MCP setup)"
echo " 🔄 graphifyy — codebase knowledge graph (pipx, PreToolUse hook)" echo " 🔄 graphifyy (CLI: graphify) — codebase knowledge graph (pipx, PreToolUse hook)"
echo " 🔄 emil-design-eng — UI polish, animations, component craft (curl → symlink)" echo " 🔄 emil-design-eng — UI polish, animations, component craft (curl → symlink)"
echo " 🔄 frontend-design — distinctive frontend interfaces, anti-AI-slop (anthropic-agent-skills)" echo " 🔄 frontend-design — distinctive frontend interfaces, anti-AI-slop (anthropic-agent-skills)"
echo " 🔄 design-motion-principles — motion/animation design, 3-designer lens (kylezantos)" echo " 🔄 design-motion-principles — motion/animation design, 3-designer lens (kylezantos)"