transcript-condenser
Condenses Claude Code session transcripts into readable summaries by filtering metadata, system notifications, and command artifacts. Use when the user wants to review, analyze, or understand what happened in a Claude Code session, view tool usage patterns, or export session data. Triggers when user mentions "analyze session", "review transcript", "condense logs", "what tools did I use", or similar workflow analysis requests.
When & Why to Use This Skill
The Transcript Condenser skill enhances Claude Code session management by transforming verbose, noise-heavy log files into concise, human-readable summaries. It effectively filters out metadata, system notifications, and command artifacts, allowing developers to gain clear insights into agent behavior, tool usage patterns, and workflow history. By providing structured Markdown or JSON outputs, it serves as a vital tool for auditing, reporting, and optimizing AI-assisted development sessions.
Use Cases
- Quick Session Review: Generate a high-level timeline of a previous coding session to recall specific architectural decisions and changes without parsing raw log files.
- Tool Usage Analytics: Analyze statistics on which tools (e.g., Read, Write, Shell) were most frequently invoked to identify workflow bottlenecks or patterns.
- Subagent Interaction Tracking: Monitor and audit the frequency and outcomes of subagent calls to ensure complex tasks are being delegated correctly.
- Automated Progress Reporting: Batch process multiple session transcripts into standardized Markdown reports for team updates or project documentation.
- Data Export for Evaluation: Convert session data into machine-parseable JSON format to integrate with external observability platforms or custom evaluation frameworks.
| name | transcript-condenser |
|---|---|
| description | Condenses Claude Code session transcripts into readable summaries by filtering metadata, system notifications, and command artifacts. Use when the user wants to review, analyze, or understand what happened in a Claude Code session, view tool usage patterns, or export session data. Triggers when user mentions "analyze session", "review transcript", "condense logs", "what tools did I use", or similar workflow analysis requests. |
Transcript Condenser Skill
Condenses verbose Claude Code session transcripts from .claude/logs/ into human-readable summaries.
When to Use This Skill
Claude should invoke this skill when the user:
- Wants to review what happened in a Claude Code session
- Asks about tool usage patterns or statistics
- Mentions analyzing transcripts or logs
- Wants to understand workflow from a past session
- Requests session summaries or reports
- Needs to export session data for analysis
Key Capabilities
Output Formats
- Markdown (default): Human-readable timeline with session metadata and summary statistics
- JSON: Machine-parseable format for automated analysis or integration
Verbosity Levels
- Minimal: Condensed view showing only key events and outcomes
- Standard (default): Balanced detail with truncated long messages
- Detailed: Full content including all tool parameters and complete messages
Filtering Options
- Tool-only view: Show only assistant messages that used tools
- Subagent-only view: Show only subagent invocations and interactions
- System message stripping: Remove system notifications (enabled by default)
Batch Processing
- Process entire directories of transcripts
- Automatically generate output files with consistent naming
- Progress reporting for multiple files
Usage Examples
Basic Usage
# Condense a single transcript to markdown (stdout)
node .claude/skills/transcript-condenser/condense-transcript.js <transcript-file>
# Save condensed version to file
node .claude/skills/transcript-condenser/condense-transcript.js <transcript-file> --output=summary.md
Format Options
# Output as JSON for automated analysis
node .claude/skills/transcript-condenser/condense-transcript.js <transcript-file> --format=json --output=session.json
Verbosity Control
# Minimal output (quick overview)
node .claude/skills/transcript-condenser/condense-transcript.js <transcript-file> --verbosity=minimal
# Detailed output (full content)
node .claude/skills/transcript-condenser/condense-transcript.js <transcript-file> --verbosity=detailed
Filtered Views
# Show only tool usage
node .claude/skills/transcript-condenser/condense-transcript.js <transcript-file> --only-tools
# Show only subagent interactions
node .claude/skills/transcript-condenser/condense-transcript.js <transcript-file> --only-subagents
Batch Processing
# Process all transcripts in a directory
node .claude/skills/transcript-condenser/condense-transcript.js logs/20251017/ --output-dir=condensed/
# Batch process with specific format
node .claude/skills/transcript-condenser/condense-transcript.js logs/20251017/ --output-dir=condensed/ --format=json
Output Structure
Markdown Format
The markdown output includes:
- Session Metadata: ID, date, branch, duration, working directory, version
- Timeline: Chronological event list with timestamps (relative to session start)
- Summary Statistics: Tool usage counts, subagent calls, files modified, errors/warnings
JSON Format
The JSON output provides structured data:
{
"session": {
"id": "abc123",
"date": "2025-10-17",
"branch": "main",
"duration": "5m 23s",
...
},
"timeline": [
{
"time": "00:00:15",
"type": "user",
"content": "...",
...
}
],
"summary": {
"toolsUsed": { "Read": 3, "Write": 2 },
"filesModified": 3,
...
}
}
Automatic Filtering
The script automatically removes noise:
- Meta messages (
isMeta: true) - Hook notifications
- Command clear messages
- Empty stdout
- System reminders (can be disabled with
--no-system)
Common Use Cases
Quick Session Review: "What did I do in my last session?"
- Use minimal verbosity for fast overview
Tool Usage Analysis: "Which tools did I use most?"
- Use
--only-toolsflag
- Use
Subagent Tracking: "How many times did I call the backend-architect?"
- Use
--only-subagentsflag
- Use
Batch Reporting: "Generate reports for all sessions this week"
- Use batch processing with output directory
Data Export: "Export session data for analysis"
- Use JSON format for programmatic access
Tips for Claude
- Locate transcript files in
.claude/logs/YYYYMMDD/directories - Transcript filenames follow pattern:
transcript_[subagent_]<sessionId>_<date>_<time>.json - Suggest appropriate verbosity level based on user's request:
- "Quick look" → minimal
- "Detailed analysis" → detailed
- General review → standard (default)
- For batch processing, create output directory if it doesn't exist
- Always show the output file path when saving to a file
Command Reference
node .claude/skills/transcript-condenser/condense-transcript.js <input> [options]
Arguments:
input Path to transcript file or directory
Options:
--format=<type> Output format: "markdown" (default) or "json"
--output=<file> Output file (default: stdout)
--output-dir=<dir> Output directory for batch processing
--verbosity=<level> Level: "minimal", "standard" (default), "detailed"
--only-tools Show only tool usage
--only-subagents Show only subagent interactions
--no-system Strip all system messages
--include-usage Include token usage statistics
--help, -h Show help message
Requirements
- Node.js 18.0.0 or higher
- No external dependencies (uses built-in Node.js modules only)