oimiragieo/agent-studio

session-transcript-analyzer

Parses and merges Claude .jsonl transcripts with debug logs to generate a timeline heuristics report of API limits, context overflows, hook blocks, and tool failures.

First seen Mar 22, 2026

Installation

$ npx skills add oimiragieo/agent-studio --skill session-transcript-analyzer

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from oimiragieo/agent-studio · top by installs.

npx skills add oimiragieo/agent-studio

Browse all from oimiragieo/agent-studio

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 40
Default branch main
Open issues 501
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,598 B
  • docs SUMMARY.md 201 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

SKILL.md

Session Transcript Analyzer

<identity> Session Transcript Analyzer Skill - Parses and merges Claude .jsonl transcripts with debug logs to generate a timeline heuristics report of API limits, context overflows, hook blocks, and tool failures. </identity>

<capabilities>

  • Locate Claude Code session transcripts (.jsonl) in ~/.claude/projects/ by session ID or by recency
  • Pair each transcript with its corresponding debug log (.txt) in ~/.claude/debug/
  • Parse JSONL transcript events: count user turns, tool invocations, and tool errors
  • Parse debug log lines: detect router lockdown violations, context-length overflows, and JSON parse failures
  • Generate a structured Markdown report with overview metrics, tool usage summary, and heuristic findings
  • Write report to .tmp/transcript-analysis-<session-prefix>.md or a caller-specified path

</capabilities>

<instructions> <execution_process>

Step 1: Locate the transcript

Determine the target session. Two modes:

  • Explicit session ID: pass --session <uuid> to scan ~/.claude/projects/<project-dir>/ for a .jsonl file whose name contains the UUID.
  • Auto-detect (no --session): scan the project directory (derived from process.cwd()) for the most recently modified .jsonl file. Fall back to a global scan of ~/.claude/projects/ if the project directory does not exist.

Project folder name derivation: replace the drive colon+backslash with --, then replace remaining path separators with -. Example: C:\dev\projects\agent-studioC--dev-projects-agent-studio.

Step 2: Pair with a debug log

Once the session ID is extracted from the transcript filename (<uuid>.jsonl), look for a matching debug log at ~/.claude/debug/<uuid>.txt. If not found, do a prefix/contains scan of the debug directory. Warn but continue if no debug log is found.

Step 3: Parse the JSONL transcript

Read the file line by line. Skip blank or malformed lines. For each valid JSON object:

  • Count user messages: event.type === 'user' where event.message.content[0].type === 'text'
  • Count tool invocations: content blocks with type === 'tool_use'; accumulate per-tool counts in a frequency map
  • Collect tool failures: content blocks with type === 'toolresult' and iserror === true

Step 4: Parse the debug log

Read line by line. Collect lines that match any of:

  • [ERROR] or error: — general errors
  • BLOCKED — hook blocks (router lockdown, creator guard)
  • prompt is too long — context-length API errors
  • SyntaxError: Unterminated string in JSON — hook JSON parse failures

Step 5: Run heuristics and generate report

Build a Markdown report with these sections:

  1. Overview Metrics: user turns, tool invocations, tool errors, debug log error count
  2. Tool Usage Summary: sorted frequency table of tool names
  3. Heuristic Findings (flag each category if count > 0):

- Router Protocol Violations (ROUTER-LOCKDOWN, TASK-CREATE VIOLATION) - Context Length Exceeded (prompt is too long) - Hook JSON Parse Failures (Unterminated string in JSON) - If none triggered: print a clean-system message

  1. Top Tool Failures: first 5 tool_result errors with truncated content (150 chars)

Step 6: Write report

Default output path: .tmp/transcript-analysis-<first-8-chars-of-uuid>.md (create .tmp/ if needed). If --out <path> was supplied, write there instead.

</execution_process>

<best_practices>

  1. Tolerate malformed lines: wrap JSON.parse() in try/catch per line; never abort on a single bad line.
  2. Warn, don't fail, on missing debug log: the transcript alone provides useful metrics; missing debug log loses only heuristic signal.
  3. Truncate tool failure content to 150 chars to keep the report readable; collapse newlines to spaces.
  4. Derive project dir from process.cwd() not from a hardcoded path — supports running from any agent-studio checkout location.
  5. Show only the first 5 tool failures in the report; full data is in the transcript for deeper inspection.

</best_practices> </instructions>

<examples> <usage_example> Analyze the most recent session (auto-detect):

node scripts/analyze-session-transcript.mjs
# or
pnpm debug:analyze

Analyze a specific session by UUID:

node scripts/analyze-session-transcript.mjs --session f1326443-490f-486b-bb67-01c72bf42408

Write report to a custom path:

node scripts/analyze-session-transcript.mjs --out .claude/context/reports/backend/session-analysis-2026-03-10.md

Typical report output structure:

# Session Analysis Report: f1326443-490f-486b-bb67-01c72bf42408

Generated: 2026-03-10T12:00:00.000Z

## Overview Metrics

- **User Turns:** 14
- **Tool Invocations:** 87
- **Tool Errors:** 3
- **Debug Log Errors:** 2

## Tool Usage Summary

- `Read`: 34 times
- `Edit`: 18 times
- `Bash`: 15 times
- `Write`: 12 times
- `TaskUpdate`: 8 times

## Heuristic Findings

### Context Length Exceeded (API Error)

The orchestrator accumulated too many tokens and crashed the API request.
Occurred **1** times.

## Top Tool Failures (from Transcript UI)

- `toolu_01ABC`: File not found: .claude/context/runtime/stale-tasks.json...

</usage_example> </examples>

Search Protocol

For code discovery and search tasks, follow this priority order:

  1. \pnpm search:code "<query>"\ (Primary intent-based search).
  2. \ripgrep\ (for exact keyword/regex matches).
  3. semantic/structural search via code tools if available.

Memory Protocol (MANDATORY)

Before starting: \\\bash cat .claude/context/memory/learnings.md cat .claude/context/memory/decisions.md \\\

After completing:

  • New pattern -> \.claude/context/memory/learnings.md\
  • Issue found -> \.claude/context/memory/issues.md\
  • Decision made -> \.claude/context/memory/decisions.md\

ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.