Hook fix — Stop and PreToolUse
v0.1.1 fixed the packaging so hooks registered with Claude Code's hook loader. But stop.sh and pre-tool-use.sh still read environment variables (CLAUDE_TRANSCRIPT_PATH, CLAUDE_TOOL_NAME) — Claude Code actually passes hook input as JSON on stdin with fields transcript_path, tool_name, etc.
v0.1.2 fixes both scripts to parse stdin JSON via jq (with python3 fallback).
Hook status — all green
| Hook | Status |
|---|---|
| UserPromptSubmit (signal-detector) | ✅ fires (since v0.1.1) |
| Stop (synthesis) | ✅ now fires (fixed in v0.1.2) |
| PreToolUse (think-first) | ✅ now fires (fixed in v0.1.2) |
Benchmark (v0.1.1 numbers, n=3 per cell)
| Task | Baseline | Plugin | Δ |
|---|---|---|---|
| 01-fizzbuzz | 27.8±1.4s | 16.6±2.1s | -40% |
| 02-bug-fix-surgical | 17.8±2.2s | 14.7±0.7s | -18% |
| 03-refactor-restraint | 25.6±3.1s | 26.9±8.8s | +5% (noise) |
100% pass rate. Diff sizes identical. Full methodology in BENCHMARK.md.
Upgrade
claude plugins update claude-mind