← ClaudeAtlas

op-hookslisted

Use when wiring an automatic, scripted behavior to a Claude Code event (typecheck after edit, block commit on test fail, notify on long completion), editing settings.json (global or project), troubleshooting why a hook didn't fire, or setting up the starter automation set for a new machine. For the hook-vs-CLAUDE.md-vs-skill decision ("from now on, when X, do Y" — where should it live?), op-persistence 12a is the front door. Routes to chapter 14 (hooks and automation) of Achron Spine.
TimTGelhard/ACHRON-spine · ★ 1 · AI & Automation · score 74
Install: claude install-skill TimTGelhard/ACHRON-spine
# op-hooks — automation via settings.json Hooks are how the *harness* enforces automatic behavior. Not Claude. Not CLAUDE.md. The harness runs them deterministically on events. ## Index | Question / situation | Atomic file | |---|---| | Where do settings live — global / project / local? Cascade rules? | `~/.achron-spine/chapters/persistence/14a-settings-cascade.md` | | What should I actually hook? Starter set, anti-hooks, verifying | `~/.achron-spine/chapters/persistence/14b-hook-recipes.md` | | What hooks does Achron Spine ship out of the box? | `~/.claude/settings.json` (read directly) — or have the user run `/spine` for a formatted view (its Hooks section) | ## Spine-shipped hooks (default install) | Script | Event | What it does | |---|---|---| | `block-env-staging.sh` | `PreToolUse` (Bash · `if Bash(git add*)`) | Blocks staging `.env*` files; surfaces the path it caught | | `block-env-commit.sh` | `PreToolUse` (Bash · `if Bash(git commit*)`) | Backstop for the above — blocks the commit itself if a `.env*` slipped past staging | | `notify-long-task.sh` | `Notification` | Desktop notification (macOS `osascript`, Linux `notify-send`, fallback terminal bell) when a turn waits on the user | | `spine-writeback.sh` | `Stop` | Heartbeat on each turn into the active section plan, cross-session-note cue capture, long-session signal | | `typecheck-after-edit.sh` | `PostToolUse` — **opt-in via `/onboard --deep`** | Runs the project's typechecker (TS / Python / Go / Rust / C# /