Agent skill
transcript-analysis
This skill should be used when analyzing Claude Code session transcripts, reviewing agent performance, finding anti-patterns or tool misuse, detecting user frustration signals, mining workflow patterns, running kaizen analysis, debugging agent behavior, or performing session forensics. Provides JSONL schema (kaizen-analysis get_transcript_jsonl_schema or MCP resource kaizen://session-log/schema or references/jsonl-schema.md), arbitrary DuckDB SQL over JSONL via kaizen-duckdb execute_query, cookbook query patterns, 10 analysis dimensions, and PM4Py process mining methodology.
Install this agent skill to your Project
npx add-skill https://github.com/Jamie-BitFlight/claude_skills/tree/main/plugins/agentskill-kaizen/skills/transcript-analysis
SKILL.md
Transcript Analysis
Analyze Claude Code JSONL session transcripts to detect anti-patterns, inefficiencies, user frustration, and workflow improvement opportunities.
Data Location
Find transcripts under ~/.claude/projects/ in project-specific directories named after the project path (with hyphens replacing slashes).
DuckDB’s role: Load the full field/path reference from kaizen-analysis via get_transcript_jsonl_schema or MCP resources/read kaizen://session-log/schema, then use kaizen-duckdb execute_query to run any DuckDB SQL over those files (see DuckDB Query Patterns for examples and the arbitrary-query workflow). Session history stays in JSONL on disk. Path rules for the DuckDB MCP (absolute paths, no ~ in SQL).
~/.claude/projects/{project-key}/
├── {uuid}.jsonl # Main session transcripts
├── agent-{id}.jsonl # Orphan agent transcripts
└── {uuid}/
├── subagents/
│ └── agent-{id}.jsonl # Subagent transcripts
└── tool-results/
└── {tool-use-id}.txt # Async task outputs
JSONL Record Types
Each JSONL line is a JSON object discriminated by the type field.
Primary record types for analysis:
assistant— LLM response turns containing tool calls and textuser— Human input and tool resultssystem— Metadata events (stop_hook_summary, turn_duration, compact_boundary, api_error, local_command)progress— Hook execution and subagent streamingfile-history-snapshot— File edit trackingsummary— Session title/summary
For full schema details including JSON structures for each record type, see JSONL Schema Reference.
Signal Catalog
Ten analysis dimensions, each with extraction methodology.
1. Tool Misuse Detection
Extract from assistant.message.content[] where name == "Bash". Parse input.command for file-operation patterns that should use built-in tools. For SQL extraction queries, see DuckDB Query Patterns.
Parse tool_use blocks for Bash commands matching:
grep→ should use Grep toolfind -name→ should use Glob toolcat,head,tail→ should use Read toolls→ should use Glob or Bash(ls) with descriptionsed,awk→ should use Edit tool
Exclude legitimate uses in pipelines (git ... | grep, uv run ... | head).
2. Repeated Errors
Extract from tool results where is_error: true. Classify error types:
- "File has not been read yet" — Edit-before-Read anti-pattern
- "String to replace not found" — stale Edit target
- "User denied tool use" — permission/trust issue
- Pre-commit hook failures (exit code 1)
- Missing binary / command not found
3. User Frustration Signals
Extract from user records where toolUseResult is absent. Match patterns:
[Request interrupted by user]— Ctrl+C[Request interrupted by user for tool use]— tool denial- Direct corrections — "No,", "Don't", "Stop", "Why did you", "wrong", "incorrect"
Filter out system-generated content (XML tags, session continuation messages, skill injections).
4. Missing Tooling Opportunities
Identify repeated multi-step manual workflows across sessions via tool-sequence trigram analysis. High-frequency trigrams like Bash → Bash → Bash or Read → Read → Read suggest missing scripts or skills.
5. Subagent Delegation Patterns
Extract from Task tool_use blocks. Track subagent_type, description, model. Flag when general-purpose is used where a specialized agent exists.
6. Shortest Path Analysis
Compare successful vs failed attempts at the same goal. Measure tool-call count between goal statement (user turn) and successful outcome (final assistant turn). High variance across sessions for similar goals indicates wasted steps.
7. Red Herring Detection
Track investigation branches that get abandoned. Signal: a sequence of Read/Grep/Bash calls on a topic followed by compact_boundary or direction change without resolution. Cross-session frequency of the same abandoned paths reveals systematic red herrings.
8. System Process Interruptions
Extract system.compact_boundary, system.api_error, and hook-related progress events. Map their position relative to active work to identify when system processes derailed correct execution paths.
9. Missing Hooks
Identify manual corrections that recur across sessions. When the same correction appears 3+ times, it is a candidate for automated prevention via PreToolUse hook (deny + redirect) or SubagentStart hook (inject context).
10. DuckDB SQL Querying
Use kaizen-analysis get_transcript_jsonl_schema or resource kaizen://session-log/schema for the full path reference, then kaizen-duckdb execute_query for any SQL over JSONL (read_ndjson_auto with absolute paths). You are not limited to the cookbook queries.
For the arbitrary-query workflow and examples, see DuckDB Query Patterns.
Process Mining Methodology
Use the kaizen-analysis MCP server tools for analyses SQL cannot express:
extract_tool_sequences— Convert JSONL → ordered tool-call arrays per sessiondiscover_process_model— PM4Py Heuristic Miner on tool-call event logscheck_conformance— Compare sessions against a reference process modelfind_frequent_patterns— PrefixSpan sequential pattern miningdetect_frustration_signals— NLP extraction from user turnscluster_sessions— Trace clustering by behavioral similarity
Analysis Workflow
flowchart TD
Start([Receive analysis task]) --> Scope{Scope defined?}
Scope -->|--project flag| Project[Filter to project transcripts]
Scope -->|No flag| Default[Use current project]
Project --> Discover[SQL — count sessions, date range, record types]
Default --> Discover
Discover --> Dimensions{Which dimensions?}
Dimensions -->|All| RunAll[Run all 10 dimensions]
Dimensions -->|Specified| RunSelected[Run selected dimensions]
RunAll --> Aggregate[Aggregate findings]
RunSelected --> Aggregate
Aggregate --> Write[Write to .planning/kaizen/analysis-DATE.md]
Output Format
Write analysis findings to .planning/kaizen/ as structured markdown with:
- Session ID and date for each finding
- Severity (critical / warning / info)
- Evidence — exact JSON field paths and values
- Frequency — how many sessions exhibit the pattern
- Recommendation type — hook, skill patch, agent prompt fix, CLAUDE.md update
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
ccc
This skill should be used when code search is needed (whether explicitly requested or as part of completing a task), when indexing the codebase after changes, or when the user asks about ccc, cocoindex-code, or the codebase index. Trigger phrases include 'search the codebase', 'find code related to', 'update the index', 'ccc', 'cocoindex-code'.
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
delegate
Quick delegation template for sub-agent prompts. Use when assigning work to a sub-agent, before invoking the Agent tool, or when preparing prompts for specialized agents. Provides the WHERE-WHAT-WHY framework. For comprehensive delegation guidance, activate the agent-orchestration how-to-delegate skill.
swarm-spawning
Spawn agents and teammates in Claude Code swarms. Use when choosing between subagents vs teammates, selecting agent types (Explore, Plan, general-purpose, plugin agents), configuring spawn backends (in-process, tmux, iterm2), or setting environment variables for spawned agents.
knowledge-explorer
Manage the research/ knowledge base (KB) of tool and library research entries. Use when browsing KB topics, adding new research entries, updating existing entries with dated revisions, fetching GitHub repo metadata into a draft KB entry, or migrating old-format entries to skill-spec frontmatter. Triggers on tasks like "what do we have on X", "add this to the KB", "update the KB entry for Y", "fetch github info for owner/repo", or "migrate old entries".
design-anti-patterns
Enforce anti-AI UI design rules based on the Uncodixfy methodology. Use when generating HTML, CSS, React, Vue, Svelte, or any frontend UI code. Prevents "Codex UI" — the generic AI aesthetic of soft gradients, floating panels, oversized rounded corners, glassmorphism, hero sections in dashboards, and decorative copy. Applies constraints from Linear/Raycast/Stripe/GitHub design philosophy: functional, honest, human-designed interfaces. Triggers on: UI generation, dashboard building, frontend component creation, CSS styling, landing page design, or any task producing visual interface code.
Didn't find tool you were looking for?