~ / rigs / disler / claude-code-hooks-multi-agent-observability

disler/claude-code-hooks-multi-agent-observability

Real-time monitoring for Claude Code agents through simple hook event tracking.

↗ GitHub ★ 1,543 no license updated 8mo ago project Claude CodeCodexCursorGemini CLI
share on X
ARCHETYPE
Orchestrator
A bench of specialised subagents. The main agent mostly delegates.
CONTEXT TAX · EVERY TURN
~1.5k tokens
Featherweight · median rig: 2.3k · breakdown
GUARDRAILS
2/5
Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit disler/claude-code-hooks-multi-agent-observability/.claude ./rig-claude-code-hooks-multi-agent-observability  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

$ npx degit disler/claude-code-hooks-multi-agent-observability/.claude/skills/create-worktree-skill .claude/skills/create-worktree-skill
$ npx degit disler/claude-code-hooks-multi-agent-observability/.claude/skills/meta-skill .claude/skills/meta-skill
$ npx degit disler/claude-code-hooks-multi-agent-observability/.claude/skills/video-processor .claude/skills/video-processor
$ npx degit disler/claude-code-hooks-multi-agent-observability/.claude/skills/worktree-manager-skill .claude/skills/worktree-manager-skill
$ curl -fsSL --create-dirs -o .claude/agents/create_worktree_subagent.md https://raw.githubusercontent.com/disler/claude-code-hooks-multi-agent-observability/main/.claude/agents/create_worktree_subagent.md
$ curl -fsSL --create-dirs -o .claude/agents/docs-scraper.md https://raw.githubusercontent.com/disler/claude-code-hooks-multi-agent-observability/main/.claude/agents/docs-scraper.md
$ curl -fsSL --create-dirs -o .claude/agents/fetch-docs-haiku45.md https://raw.githubusercontent.com/disler/claude-code-hooks-multi-agent-observability/main/.claude/agents/fetch-docs-haiku45.md
$ curl -fsSL --create-dirs -o .claude/agents/fetch-docs-sonnet45.md https://raw.githubusercontent.com/disler/claude-code-hooks-multi-agent-observability/main/.claude/agents/fetch-docs-sonnet45.md
$ curl -fsSL --create-dirs -o .claude/agents/meta-agent.md https://raw.githubusercontent.com/disler/claude-code-hooks-multi-agent-observability/main/.claude/agents/meta-agent.md
$ curl -fsSL --create-dirs -o .claude/agents/scout-report-suggest-fast.md https://raw.githubusercontent.com/disler/claude-code-hooks-multi-agent-observability/main/.claude/agents/scout-report-suggest-fast.md
$ curl -fsSL --create-dirs -o .claude/agents/scout-report-suggest.md https://raw.githubusercontent.com/disler/claude-code-hooks-multi-agent-observability/main/.claude/agents/scout-report-suggest.md
$ curl -fsSL --create-dirs -o .claude/agents/builder.md https://raw.githubusercontent.com/disler/claude-code-hooks-multi-agent-observability/main/.claude/agents/team/builder.md
$ curl -fsSL --create-dirs -o .claude/agents/validator.md https://raw.githubusercontent.com/disler/claude-code-hooks-multi-agent-observability/main/.claude/agents/team/validator.md

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "uv run $CLAUDE_PROJECT_DIR/.claude/hooks/pre_tool_use.py"
          },
          {
            "type": "command",
            "command": "uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type PreToolUse --summarize"
          },
          {
            "type": "command",
            "command": "uv run .claude/hooks/pre_tool_use.py"
          },
          {
            "type": "command",
            "command": "uv run .claude/hooks/send_event.py --source-app demo-agent --event-type PreToolUse --summarize"
          }
        ]
      }
    ]
  }
}

Skills (4)

Subagents (9)

create-worktree-subagent
model: sonnet
Use when the user explicitly asks for a SUBAGENT to create a worktree. If the user does not mention "subagent" or explicitly request subagent delegation, do NOT trigger this. Only use when user says t
docs-scraper
model: haiku
Documentation scraping specialist. Use proactively to fetch and save documentation from URLs as properly formatted markdown files.
fetch-docs-haiku45
model: haiku
Fetch and save documentation from URLs using Haiku 4.5 model. Use for benchmarking documentation retrieval tasks.
fetch-docs-sonnet45
model: sonnet
Fetch and save documentation from URLs using Sonnet 4.5 model. Use for benchmarking documentation retrieval tasks.
meta-agent
model: opus
Generates a new, complete Claude Code sub-agent configuration file from a user's description. Use this to create new agents. Use this Proactively when the user asks you to create a new sub agent.
scout-report-suggest-fast
model: haiku
Use proactively to quickly scout codebase issues, identify problem locations, and suggest resolutions. Specialist for read-only analysis and reporting without making changes.
scout-report-suggestUse proactively to scout codebase issues, identify problem locations, and suggest resolutions. Specialist for read-only analysis and reporting without making changes.
builder
model: opus
Generic engineering agent that executes ONE task at a time. Use when work needs to be done - writing code, creating files, implementing features.
validator
model: opus
Read-only validation agent that checks if a task was completed successfully. Use after a builder finishes to verify work meets acceptance criteria.

Hooks (37)

eventmatcherruns
PreToolUse*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/pre_tool_use.py
PreToolUse*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type PreToolUse --summarize
PostToolUse*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/post_tool_use.py
PostToolUse*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type PostToolUse --summarize
Notification*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/notification.py
Notification*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type Notification --summarize
Stop*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/stop.py --chat
Stop*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type Stop --add-chat
SubagentStop*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/subagent_stop.py
SubagentStop*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type SubagentStop
PreCompact*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/pre_compact.py
PreCompact*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type PreCompact
UserPromptSubmit*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/user_prompt_submit.py --log-only --store-last-prompt --name-agent
UserPromptSubmit*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type UserPromptSubmit --summarize
SessionStart*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/session_start.py
SessionStart*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type SessionStart
SessionEnd*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/session_end.py
SessionEnd*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type SessionEnd
PermissionRequest*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/permission_request.py
PermissionRequest*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type PermissionRequest --summarize
PostToolUseFailure*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/post_tool_use_failure.py
PostToolUseFailure*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type PostToolUseFailure --summarize
SubagentStart*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/subagent_start.py
SubagentStart*uv run $CLAUDE_PROJECT_DIR/.claude/hooks/send_event.py --source-app cc-hook-multi-agent-obvs --event-type SubagentStart
PreToolUse*uv run .claude/hooks/pre_tool_use.py
PreToolUse*uv run .claude/hooks/send_event.py --source-app demo-agent --event-type PreToolUse --summarize
PostToolUse*uv run .claude/hooks/post_tool_use.py
PostToolUse*uv run .claude/hooks/send_event.py --source-app demo-agent --event-type PostToolUse --summarize
Notification*uv run .claude/hooks/notification.py --notify
Notification*uv run .claude/hooks/send_event.py --source-app demo-agent --event-type Notification --summarize

Slash commands (15)

/bench/find_and_summarize/bench/load_ai_docs/bench/plan_new_feature/build/convert_paths_absolute/create_worktree_prompt/list_worktrees_prompt/load_ai_docs/plan_w_team/prime/quick-plan/remove_worktree_prompt/start/t_metaprompt_workflow/convert_paths_absolute

Cursor rules (1)

use-bun-instead-of-node-vite-npm-pnpm

Similar rigs

copied ✓