hoangsonww/hook-diagnostics
> Diagnose Claude Code hook installation, delivery, and ingestion issues. Checks hook configuration, connectivity, event flow, and identifies common problems. Use when events are not appearing in the dashboard.
npx skills add https://github.com/hoangsonww/Claude-Code-Agent-Monitor --skill hook-diagnostics
Diagnose hook integration issues between Claude Code and the Agent Monitor.
The user provides: $ARGUMENTS
This may be:
Run diagnostic checks in this order:
Verify hooks are installed in Claude Code settings:
# Check if hooks exist in Claude Code settings
cat ~/.claude/settings.json | jq '.hooks // empty'
Verify:
PreToolUse, PostToolUse, Stop, SubagentStop, Notification, SessionStart, SessionEndTest that the dashboard API is reachable:
curl -sf http://localhost:4820/api/health
Verify:
Check the hook handler script:
# Verify handler exists and is executable
ls -la <handler-path>
# Syntax check
node --check <handler-path>
Send a test event and verify it arrives:
echo '{"hook_type":"test","session_id":"diag-test","data":{}}' | \
curl -sf -X POST http://localhost:4820/api/hooks/event \
-H 'Content-Type: application/json' -d @-
Verify the database is writable and events are persisted:
curl -sf http://localhost:4820/api/stats
curl -sf http://localhost:4820/api/events?limit=5
Check if events are flowing:
Present as a diagnostic report with:
Hook Diagnostics Report
━━━━━━━━━━━━━━━━━━━━━━
✅ Hook Installation .............. PASS
✅ Dashboard Connectivity ......... PASS
✅ Handler Script ................. PASS
⚠️ Event Delivery ................ WARN (slow)
✅ Database ....................... PASS
❌ Recent Event Flow .............. FAIL (no events in 2h)
━━━━━━━━━━━━━━━━━━━━━━
Overall: 5/6 checks passed
For each failed or warning check, include:
Take hoangsonww/hook-diagnostics from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.