~ / rigs / Edmonds-Commerce-Limited / claude-code-hooks-daemon

Edmonds-Commerce-Limited/claude-code-hooks-daemon

Daemon-based hooks system for Claude Code with lazy startup, auto-shutdown, and project-level handler extensibility

↗ GitHub ★ 4 mit updated 10d ago project Claude Code
share on X
ARCHETYPE
Orchestrator
A bench of specialised subagents. The main agent mostly delegates.
CONTEXT TAX · EVERY TURN
~31.8k tokens
Context hog · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit Edmonds-Commerce-Limited/claude-code-hooks-daemon/.claude ./rig-claude-code-hooks-daemon  # 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 Edmonds-Commerce-Limited/claude-code-hooks-daemon/.claude/skills/acceptance-test .claude/skills/acceptance-test
$ npx degit Edmonds-Commerce-Limited/claude-code-hooks-daemon/.claude/skills/configure .claude/skills/configure
$ npx degit Edmonds-Commerce-Limited/claude-code-hooks-daemon/.claude/skills/docs-qa .claude/skills/docs-qa
$ npx degit Edmonds-Commerce-Limited/claude-code-hooks-daemon/.claude/skills/hooks-daemon .claude/skills/hooks-daemon
$ npx degit Edmonds-Commerce-Limited/claude-code-hooks-daemon/.claude/skills/issue-sdlc .claude/skills/issue-sdlc
$ npx degit Edmonds-Commerce-Limited/claude-code-hooks-daemon/.claude/skills/mode .claude/skills/mode
$ npx degit Edmonds-Commerce-Limited/claude-code-hooks-daemon/.claude/skills/release .claude/skills/release
$ curl -fsSL --create-dirs -o .claude/agents/claude-code-changelog-reviewer.md https://raw.githubusercontent.com/Edmonds-Commerce-Limited/claude-code-hooks-daemon/main/.claude/agents/claude-code-changelog-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/Edmonds-Commerce-Limited/claude-code-hooks-daemon/main/.claude/agents/code-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/hooks-daemon-docs-qa.md https://raw.githubusercontent.com/Edmonds-Commerce-Limited/claude-code-hooks-daemon/main/.claude/agents/hooks-daemon-docs-qa.md
$ curl -fsSL --create-dirs -o .claude/agents/hooks-daemon-plan-dedupe-scout.md https://raw.githubusercontent.com/Edmonds-Commerce-Limited/claude-code-hooks-daemon/main/.claude/agents/hooks-daemon-plan-dedupe-scout.md
$ curl -fsSL --create-dirs -o .claude/agents/plan-fact-checker.md https://raw.githubusercontent.com/Edmonds-Commerce-Limited/claude-code-hooks-daemon/main/.claude/agents/plan-fact-checker.md
$ curl -fsSL --create-dirs -o .claude/agents/python-developer.md https://raw.githubusercontent.com/Edmonds-Commerce-Limited/claude-code-hooks-daemon/main/.claude/agents/python-developer.md
$ curl -fsSL --create-dirs -o .claude/agents/qa-fixer.md https://raw.githubusercontent.com/Edmonds-Commerce-Limited/claude-code-hooks-daemon/main/.claude/agents/qa-fixer.md
$ curl -fsSL --create-dirs -o .claude/agents/qa-runner.md https://raw.githubusercontent.com/Edmonds-Commerce-Limited/claude-code-hooks-daemon/main/.claude/agents/qa-runner.md
$ curl -fsSL --create-dirs -o .claude/agents/release-agent.md https://raw.githubusercontent.com/Edmonds-Commerce-Limited/claude-code-hooks-daemon/main/.claude/agents/release-agent.md
$ curl -fsSL --create-dirs -o .claude/agents/security-reviewer.md https://raw.githubusercontent.com/Edmonds-Commerce-Limited/claude-code-hooks-daemon/main/.claude/agents/security-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/transcript-inspector.md https://raw.githubusercontent.com/Edmonds-Commerce-Limited/claude-code-hooks-daemon/main/.claude/agents/transcript-inspector.md

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

{
  "permissions": {
    "deny": [
      "Edit(//tmp/**)",
      "Edit(//var/tmp/**)",
      "Edit(//dev/shm/**)"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-tool-use"
          }
        ]
      }
    ]
  }
}

Skills (7)

Subagents (11)

claude-code-changelog-reviewer
model: sonnet
Review the Claude Code changelog between two versions and classify each change that touches what the daemon does as adopt / redundant / conflict / no impact. Read-only apart from its report file.
code-reviewer
model: opus
Expert code review with zero tolerance for shortcuts. Analyzes real quality issues: dead code, confusion, TDD discipline, violations of engineering principles.
hooks-daemon-docs-qa
model: opus
Read-only documentation-SSoT auditor. Scans a project's documentation corpus (and, per its comment-hunt mandate, verbose source-code comment blocks that function as documentation) for conflicting trut
hooks-daemon-plan-dedupe-scout
model: haiku
Before a new plan is filed, check whether an existing plan already covers the same work. Read-only; reports candidates with reasons, never a verdict.
plan-fact-checker
model: sonnet
Fact-check a plan (or a plan diff) against the current repository. Itemises every claim the text makes about the codebase, tries to disprove each with searches and reads, and reports VERIFIED / REFUTE
python-developer
model: sonnet
Implement Python code with strict adherence to project standards. Handles development, refactoring, and fixes using TDD, full type safety, and comprehensive testing.
qa-fixer
model: sonnet
Fix QA failures from qa-runner results. Resolves issues using proper fixes (never suppressions), maintains QA pattern documentation.
qa-runner
model: haiku
Scope-deciding QA agent. Reads the change set (a branch/worktree or a range), picks the targeted checks per CLAUDE/QA.md, runs them and reports VERDICT, SCOPE, REASONING and FAILURES. Read-only; never
release-agent
model: sonnet
Prepare release files including version updates, changelog generation, and release notes. Validates prerequisites and prepares for Opus review. Does NOT commit or publish.
security-reviewer
model: opus
Read-only security reviewer for this repository, dispatched one CHECK at a time by the security-review routines. Given a check id from CLAUDE/Routine/00001-security-review-full/CHECKS.md and an interv
transcript-inspector
model: sonnet
Specialist agent for diagnosing stop hook failures by reading Claude Code session transcripts. Use when the stop hook is not blocking as expected, Claude keeps stopping without required explanation, o

Hooks (30)

eventmatcherruns
PreToolUse*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/pre-tool-use
PostToolUse*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/post-tool-use
SessionStart*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/session-start
PermissionRequest*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/permission-request
Notification*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/notification
UserPromptSubmit*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/user-prompt-submit
Stop*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/stop
SubagentStop*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/subagent-stop
PreCompact*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/pre-compact
SessionEnd*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/session-end
Setup*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/setup
PermissionDenied*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/permission-denied
CwdChanged*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/cwd-changed
WorktreeCreate*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/worktree-create
WorktreeRemove*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/worktree-remove
UserPromptExpansion*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/user-prompt-expansion
PostToolUseFailure*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/post-tool-use-failure
PostToolBatch*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/post-tool-batch
SubagentStart*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/subagent-start
TaskCreated*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/task-created
TaskCompleted*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/task-completed
StopFailure*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/stop-failure
TeammateIdle*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/teammate-idle
InstructionsLoaded*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/instructions-loaded
ConfigChange*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/config-change
FileChanged*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/file-changed
PostCompact*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/post-compact
Elicitation*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/elicitation
ElicitationResult*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/elicitation-result
MessageDisplay*bash "$CLAUDE_PROJECT_DIR"/.claude/hooks/message-display

Permissions

deny (3)
Edit(//tmp/**)
Edit(//var/tmp/**)
Edit(//dev/shm/**)
ask (0)
—
allow (0)
—

Similar rigs

copied ✓