From asciinema-tools
Convert .cast recordings to .txt for analysis. TRIGGERS - convert cast, cast to txt, strip ANSI, batch convert.
How this skill is triggered — by the user, by Claude, or both
Slash command
/asciinema-tools:asciinema-converterThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Convert asciinema .cast recordings to clean .txt files for Claude Code analysis. Achieves 950:1 compression (3.8GB -> 4MB) by stripping ANSI codes and JSON structure.
references/anti-patterns.mdreferences/batch-processing.mdreferences/batch-workflow.mdreferences/evolution-log.mdreferences/integration-guide.mdreferences/post-change-checklist.mdreferences/task-templates.mdreferences/workflow-phases.mdtests/converter-integration.batstests/converter.test.tstests/fixtures/simple.casttests/fixtures/with spaces.castConvert asciinema .cast recordings to clean .txt files for Claude Code analysis. Achieves 950:1 compression (3.8GB -> 4MB) by stripping ANSI codes and JSON structure.
Platform: macOS, Linux (requires asciinema CLI v2.4+)
Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.
Use this skill when:
| Format | Size (22h session) | Claude Code Compatible | Searchable |
|---|---|---|---|
| .cast | 3.8GB | No (NDJSON + ANSI) | Via jq |
| .txt | ~4MB | Yes (clean text) | Grep/Read |
Key benefit: Claude Code's Read and Grep tools work directly on .txt output.
| Component | Required | Installation | Notes |
|---|---|---|---|
| asciinema | Yes | brew install asciinema | v2.4+ for convert cmd |
IMPORTANT: All phases are MANDATORY. Do NOT skip any phase. AskUserQuestion MUST be used at each decision point.
| Phase | Purpose | Key Action |
|---|---|---|
| 0 | Preflight check | Verify asciinema CLI v2.4+ |
| 1 | File discovery & selection | AskUserQuestion: file to convert |
| 2 | Output options | AskUserQuestion: conversion opts |
| 3 | Output location | AskUserQuestion: save destination |
| 4 | Execute conversion | asciinema convert -f txt |
| 5 | Timestamp index | Optional [HH:MM:SS] index |
| 6 | Next steps | AskUserQuestion: what's next |
Full implementation details: Workflow Phases
Activated via --batch flag. Converts all .cast files in a directory with organized output.
| Phase | Purpose | Key Action |
|---|---|---|
| 7 | Source selection | AskUserQuestion (skip if --source) |
| 8 | Output organization | AskUserQuestion (skip if --output-dir) |
| 9 | Execute batch | Convert all with progress reporting |
| 10 | Batch next steps | AskUserQuestion: what's next |
Full implementation details: Batch Workflow
iTerm2 auto-logged files follow this format:
{creationTimeString}.{profileName}.{termid}.{iterm2.pid}.{autoLogId}.cast
Example: 20260118_232025.Claude Code.w0t1p1.70C05103-2F29-4B42-8067-BE475DB6126A.68721.4013739999.cast
| Component | Description | Example |
|---|---|---|
| creationTimeString | YYYYMMDD_HHMMSS | 20260118_232025 |
| profileName | iTerm2 profile (may have dots) | Claude Code |
| termid | Window/tab/pane identifier | w0t1p1 |
| iterm2.pid | iTerm2 process UUID | 70C05103-2F29-4B42-8067-BE475DB6126A |
| autoLogId | Session auto-log identifier | 68721.4013739999 |
# Basic conversion
asciinema convert -f txt recording.cast recording.txt
# Check asciinema version
asciinema --version
# Verify convert command exists
asciinema convert --help
| Issue | Cause | Solution |
|---|---|---|
| convert command not found | asciinema too old | Upgrade: brew upgrade asciinema (need v2.4+) |
| asciinema not installed | Missing CLI | brew install asciinema |
| Empty output file | Corrupted .cast input | Verify .cast file has valid NDJSON structure |
| Conversion failed | Invalid cast format | Check header line is valid JSON with jq |
| numfmt not found | macOS missing coreutils | Use raw byte count or brew install coreutils |
| stat syntax error | Linux vs macOS difference | Script handles both; check stat version |
| Batch skipping all files | All .txt already exist | Use --skip-existing=false to reconvert |
| Permission denied on output | Directory not writable | Check output directory permissions |
After this skill completes, check before closing:
Only update if the issue is real and reproducible — not speculative.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
npx claudepluginhub terrylica/cc-skills --plugin asciinema-tools