~ / rigs / shanraisshan / claude-code-hooks

shanraisshan/claude-code-hooks

claude code hooks - adding voice on each hook

↗ GitHub ★ 551 mit updated 4mo ago project Claude CodeCodex
share on X
ARCHETYPE
Automator
Hooks on every lifecycle event: format, lint, notify, log.
CONTEXT TAX · EVERY TURN
~3.5k tokens
Moderate · 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
$ claude mcp add elicit -- npx -y @blizzy/mcp-elicit
$ npx degit shanraisshan/claude-code-hooks/.claude ./rig-claude-code-hooks  # 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.

$ claude mcp add elicit -- npx -y @blizzy/mcp-elicit
$ curl -fsSL --create-dirs -o .claude/agents/claude-code-hook-agent.md https://raw.githubusercontent.com/shanraisshan/claude-code-hooks/main/.claude/agents/claude-code-hook-agent.md
$ curl -fsSL --create-dirs -o .claude/agents/claude-code-test-agent.md https://raw.githubusercontent.com/shanraisshan/claude-code-hooks/main/.claude/agents/claude-code-test-agent.md
$ curl -fsSL --create-dirs -o .claude/agents/workflow-changelog-agent.md https://raw.githubusercontent.com/shanraisshan/claude-code-hooks/main/.claude/agents/workflows/workflow-changelog-agent.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": "python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py"
          },
          {
            "type": "command",
            "command": "python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/demo-hooks.py"
          }
        ]
      }
    ]
  }
}

MCP servers (1)

serversourceest. tokens
@blizzy/mcp-elicit · "elicit" npm 2.5k

Subagents (3)

claude-code-hook-agent
model: opus
Plays agent-specific sounds for the 6 hooks that actually fire in agent sessions
claude-code-test-agent—
workflow-changelog-agent
model: opus
Research agent that fetches Claude Code docs, reads local repo files, and analyzes changelog drift for the hooks project

Hooks (60)

eventmatcherruns
PreToolUse*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PermissionRequest*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PostToolUse*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PostToolUseFailure*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PostToolBatch*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
UserPromptSubmit*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
UserPromptExpansion*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
Notification*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
MessageDisplay*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
Stop*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
SubagentStart*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
SubagentStop*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PreCompact*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PostCompact*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
SessionStart*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
SessionEnd*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
Setup*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
TeammateIdle*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
TaskCreated*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
TaskCompleted*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
ConfigChange*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
WorktreeCreate*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
InstructionsLoaded*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
WorktreeRemove*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
Elicitation*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
ElicitationResult*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
StopFailure*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
CwdChanged*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
FileChanged.envrc|.env|.env.localpython3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py
PermissionDenied*python3 ${CLAUDE_PROJECT_DIR}/.claude/hooks/scripts/hooks.py

Slash commands (3)

/commit/workflows/workflow-add-hook/workflows/workflow-changelog

Similar rigs

copied ✓