c8da697a10
- Root: Add Prometheus/Metis/Momus agents, MCP architecture, 82 test files - agents/: Document 7-section delegation and wisdom notepad - auth/: Multi-account load balancing (10 accounts), endpoint fallback - features/: Update background-agent 825 lines, builtin-skills 1230 lines - hooks/: 22+ hooks with event timing details - tools/: sisyphus-task 583 lines, LSP client 632 lines - cli/: config-manager 725 lines, 17+ doctor checks - shared/: Cross-cutting utilities with usage patterns
3.1 KiB
3.1 KiB
HOOKS KNOWLEDGE BASE
OVERVIEW
22+ lifecycle hooks intercepting/modifying agent behavior via PreToolUse, PostToolUse, UserPromptSubmit, and more.
STRUCTURE
hooks/
├── anthropic-context-window-limit-recovery/ # Auto-summarize at token limit (555 lines)
├── sisyphus-orchestrator/ # Main orchestration & agent delegation (677 lines)
├── ralph-loop/ # Self-referential dev loop (364 lines)
├── claude-code-hooks/ # settings.json hook compatibility layer
├── comment-checker/ # Prevents AI slop/excessive comments
├── auto-slash-command/ # Detects and executes /command patterns
├── rules-injector/ # Conditional rules from .claude/rules/
├── directory-agents-injector/ # Auto-injects local AGENTS.md files
├── directory-readme-injector/ # Auto-injects local README.md files
├── preemptive-compaction/ # Triggers summary at 85% usage
├── edit-error-recovery/ # Recovers from tool execution failures
├── thinking-block-validator/ # Ensures valid <thinking> format
├── context-window-monitor.ts # Reminds agents of remaining headroom
├── session-recovery/ # Auto-recovers from session crashes
├── start-work/ # Initializes work sessions (ulw/ulw)
├── think-mode/ # Dynamic thinking budget adjustment
├── background-notification/ # OS notification on task completion
├── todo-continuation-enforcer.ts # Force completion of [ ] items
└── tool-output-truncator.ts # Prevents context bloat from verbose tools
HOOK EVENTS
| Event | Timing | Can Block | Description |
|---|---|---|---|
| PreToolUse | Before tool | Yes | Validate/modify inputs (e.g., directory-agents-injector) |
| PostToolUse | After tool | No | Append context/warnings (e.g., edit-error-recovery) |
| UserPromptSubmit | On prompt | Yes | Filter/modify user input (e.g., keyword-detector) |
| Stop | Session idle | No | Auto-continue tasks (e.g., todo-continuation-enforcer) |
| onSummarize | Compaction | No | State preservation (e.g., compaction-context-injector) |
HOW TO ADD
- Create
src/hooks/name/withindex.tsfactory (e.g.,createMyHook). - Implement
PreToolUse,PostToolUse,UserPromptSubmit,Stop, oronSummarize. - Register in
src/hooks/index.ts.
PATTERNS
- Context Injection: Use
PreToolUseto prepend instructions to tool inputs. - Resilience: Implement
edit-error-recoverystyle logic to retry failed tools. - Telegraphic UI: Use
PostToolUseto add brief warnings without bloating transcript. - Statelessness: Prefer local file storage for state that must persist across sessions.
ANTI-PATTERNS
- Blocking: Avoid blocking tools unless critical (use warnings in
PostToolUseinstead). - Latency: No heavy computation in
PreToolUse; it slows every interaction. - Redundancy: Don't inject the same file multiple times; track state in session storage.
- Prose: Never use verbose prose in hook outputs; keep it technical and brief.