添加 claude code game studios 到项目
This commit is contained in:
29
.claude/hooks/log-agent.sh
Normal file
29
.claude/hooks/log-agent.sh
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
# Claude Code SubagentStart hook: Log agent invocations for audit trail
|
||||
# Tracks which agents are being used and when
|
||||
#
|
||||
# Input schema (SubagentStart) — per Claude Code hooks reference:
|
||||
# { "session_id": "...", "agent_id": "agent-abc123", "agent_type": "Explore", ... }
|
||||
#
|
||||
# The agent name is in `agent_type`, NOT `agent_name`. Reading `.agent_name`
|
||||
# returns null on every invocation, so the fallback "unknown" is always used
|
||||
# and the audit trail captures nothing useful.
|
||||
|
||||
INPUT=$(cat)
|
||||
|
||||
# Parse agent name -- use jq if available, fall back to grep
|
||||
if command -v jq >/dev/null 2>&1; then
|
||||
AGENT_NAME=$(echo "$INPUT" | jq -r '.agent_type // "unknown"' 2>/dev/null)
|
||||
else
|
||||
AGENT_NAME=$(echo "$INPUT" | grep -oE '"agent_type"[[:space:]]*:[[:space:]]*"[^"]*"' | sed 's/"agent_type"[[:space:]]*:[[:space:]]*"//;s/"$//')
|
||||
[ -z "$AGENT_NAME" ] && AGENT_NAME="unknown"
|
||||
fi
|
||||
|
||||
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||
SESSION_LOG_DIR="production/session-logs"
|
||||
|
||||
mkdir -p "$SESSION_LOG_DIR" 2>/dev/null
|
||||
|
||||
echo "$TIMESTAMP | Agent invoked: $AGENT_NAME" >> "$SESSION_LOG_DIR/agent-audit.log" 2>/dev/null
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user