Ensure accessibility in UI components including semantic HTML, ARIA attributes, keyboard navigation, and WCAG 2.2 AA compliance.
日本語の概要は準備中です。原文の説明を表示しています。
Structured debug log analysis for Claude Code sessions — auto-discovers most recent log, runs reducer, extracts error patterns, correlates with full log, produces observability report. Fills 5 identified gaps: hook error body capture, agent identity, file path tracking, stall correlation, success visibility.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Mode: Cognitive/Prompt-Driven — No standalone utility script; use via agent context.
Structured workflow for extracting actionable signal from Claude Code session debug logs. Use during reflection cycles, incident response, or when diagnosing agent failures.
The scripts/reduce-debug-log.mjs script auto-detects the most recent log when no file argument is provided. It copies the log to .tmp/ and produces a reduced version there.
Two modes are available:
Auto mode (recommended): Let pnpm debug:reduce find and process the most recent log automatically.
Manual mode: Provide a specific session UUID or log file path.
IMPORTANT: Always find the most recent log dynamically. NEVER hardcode session UUIDs.
# Auto-detect most recent log, copy to .tmp/, reduce in place
cd /c/dev/projects/agent-studio && node scripts/reduce-debug-log.mjs 2>&1
# The script prints:
# Auto-detected debug log: /home/user/.claude/debug/{session-uuid}.txt
# Copied to: .tmp/{session-uuid}.txt
# Original: N lines -> kept (issue-like): M -> ... -> after dedupe: K
# Output: .tmp/{session-uuid}-reduced.txt
Capture the output paths from the script output for subsequent steps.
# List recent debug logs sorted by modification time (most recent first)
ls -t "$HOME/.claude/debug/"*.txt 2>/dev/null | head -5
# Or on Windows (Git Bash):
ls -t "$USERPROFILE/.claude/debug/"*.txt 2>/dev/null | head -5
Pick the target log path, then:
# Copy to temp (never operate on the original)
mkdir -p .claude/context/tmp
cp "$HOME/.claude/debug/{session-uuid}.txt" ".claude/context/tmp/debug-session-copy.txt"
# Run reducer with explicit output path
node scripts/reduce-debug-log.mjs \
".claude/context/tmp/debug-session-copy.txt" \
--output ".claude/context/tmp/debug-session-reduced.txt"
# Check sizes
wc -l ".claude/context/tmp/debug-session-copy.txt"
wc -l ".claude/context/tmp/debug-session-reduced.txt"
Expected: reduced file is 1-5% of original line count (98%+ noise removed).
Calculate what was filtered out to understand the filter quality:
ORIGINAL_LINES=$(wc -l < ".claude/context/tmp/debug-session-copy.txt")
REDUCED_LINES=$(wc -l < ".claude/context/tmp/debug-session-reduced.txt")
echo "Original: $ORIGINAL_LINES lines | Reduced: $REDUCED_LINES lines"
echo "Kept: $(echo "scale=1; $REDUCED_LINES * 100 / $ORIGINAL_LINES" | bc)%"
Note any anomalies — e.g., if reduction is less than 90%, the session had unusually many errors.
Read .claude/context/tmp/debug-session-reduced.txt in full.
For each line in the reduced log, classify into:
| Category | Signal Pattern | Action |
|---|---|---|
| Hook Block (Write) | PreToolUse:Write + block | Count; find triggering agent + file path |
| Hook Block (TaskUpdate) | PreToolUse:TaskUpdate + burst | Count; find looping agent |
| Read Miss | File does not exist or placeholder text | Count; list missing files |
| Token Overflow | FileTooLargeError or token limit | Count; identify large files |
| Streaming Stall | Gap > 60s between log entries | Sum duration; note what preceded stall |
| Agent Drop | TaskUpdate not called or agent returned without completion | List by task ID |
| Tool Error | EISDIR, ENOENT, sibling tool call errored | Categorize by tool |
For the top 3 most frequent error categories:
# Use the full copy (not the original, not the reduced)
grep -n "PreToolUse:Write" ".claude/context/tmp/debug-session-copy.txt" | head -30
grep -n "File does not exist" ".claude/context/tmp/debug-session-copy.txt" | head -30
grep -n "timeout" ".claude/context/tmp/debug-session-copy.txt" -i | head -30
After analysis, clean up the working copy (keep the reduced file for the report if needed):
rm -f ".claude/context/tmp/debug-session-copy.txt"
# Optionally keep the reduced file for reference; delete when done
# rm -f ".claude/context/tmp/debug-session-reduced.txt"
Write to .claude/context/reports/reflections/debug-log-analysis-{YYYY-MM-DD}.md:
<!-- Agent: reflection-agent | Skill: debug-log-analysis | Session: {YYYY-MM-DD} -->
# Debug Log Analysis — {YYYY-MM-DD}
**Source log:** {path to original log — auto-detected or provided}
**Session UUID:** {session-uuid extracted from filename}
**Log statistics:**
- Original: {N} lines / {bytes} bytes
- Reduced: {M} lines / {bytes} bytes
- Reduction ratio: {X}%
**Analysis timestamp:** {ISO-8601}
## Error Summary
| Category | Count | Severity | Root Cause |
| ------------------ | ----- | -------- | ---------- |
| Hook Block (Write) | N | CRITICAL | ... |
| Read Miss | N | HIGH | ... |
| ... | | | |
## Top 3 Deep Dives
### 1. {Most frequent error}
**Frequency:** N occurrences
**First occurrence:** line {N}, timestamp {T}
**Context:** {what the agent was doing}
**Root cause:** {why it happened}
**Fix:** {concrete recommendation}
### 2. ...
### 3. ...
## Observability Gaps Found
List any gaps where the log entry doesn't have enough info to diagnose the error.
## Recommendations
- [ ] Immediate P0: {fix}
- [ ] P1: {fix}
- [ ] P2: {fix}
These gaps exist in the current debug log format:
Hook rejection body not logged — When unified-creator-guard.cjs blocks a Write, the rejection reason is not captured in the debug log. You see PreToolUse:Write blocked but not WHY.
process.stderr output separately; or read the hook source to infer the rule that fired.Agent identity missing from error lines — Error lines don't include which spawned agent caused the error.
Read failure file path omitted — File does not exist lines don't always include the file path.
Streaming stalls unattributed — A 5+ minute stall appears as a timestamp gap with no context.
No success logging — Only failures are prominent. Successful tool calls produce minimal log entries.
Reflection agents should invoke this skill for HIGH-priority reflection requests:
// In reflection agent, for high-priority triggers:
if (priority === 'high' && debugLogPath) {
Skill({ skill: 'debug-log-analysis' });
// Include findings in reflection report
}
.claude/context/memory/issues.md — patterns not written to memory will recur invisibly across sessions.| Anti-Pattern | Why It Fails | Correct Approach |
|---|---|---|
| Grepping the original log file directly | Modifies timestamps, corrupts forensic artifact, no rollback | Always copy first: cp debug.txt .claude/context/tmp/debug-{date}.txt |
| Reading the full unreduced log | 98%+ noise-to-signal ratio; analysis takes hours and misses patterns | Run reduce-debug-log.mjs first; work from the reduced output |
| Reporting root cause from single grep hit | Single matches are often false positives from unrelated tool calls | Read ±10 lines of context for every match before concluding root cause |
| Informal verbal summary instead of report | Reflection agent can't parse informal summaries into memory entries | Write the full structured markdown report to .claude/context/reports/reflections/ |
| Skipping memory writes after analysis | Error patterns recur invisibly; no institutional learning | Write every new pattern to issues.md or learnings.md before task complete |
After completing:
.claude/context/memory/issues.md.claude/context/memory/issues.md.claude/context/memory/learnings.mdASSUME INTERRUPTION: If it's not in memory, it didn't happen.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Ensure accessibility in UI components including semantic HTML, ARIA attributes, keyboard navigation, and WCAG 2.2 AA compliance.
日本語の概要は準備中です。原文の説明を表示しています。
Use when you want to improve response quality through meta-cognitive reasoning. Applies 15+ reasoning methods to reconsider and refine initial outputs.
日本語の概要は準備中です。原文の説明を表示しています。
N-round opposing-stance debates for trade-off analysis. Assigns pro/con roles to agents, runs structured debate rounds with quality scoring, and produces a moderator synthesis with confidence-rated recommendation. Generalizable to architecture, technology, security, and design decisions.
日本語の概要は準備中です。原文の説明を表示しています。
Force adversarial code review stance that eliminates confirmation bias — reviewer must find issues or re-analyze
日本語の概要は準備中です。原文の説明を表示しています。
Creates specialized AI agents on-demand when no existing agent matches a request. Use when the Router cannot find a suitable agent for a task. Enables self-evolution by generating persistent agents.
日本語の概要は準備中です。原文の説明を表示しています。
LLM-as-judge evaluation framework with 5-dimension rubric (accuracy, groundedness, coherence, completeness, helpfulness) for scoring AI-generated content quality with weighted composite scores and evidence citations
日本語の概要は準備中です。原文の説明を表示しています。