Agent Skills: asciinema-converter

Convert .cast recordings to .txt for analysis. TRIGGERS - convert cast, cast to txt, strip ANSI, batch convert.

UncategorizedID: terrylica/cc-skills/asciinema-converter

Install this agent skill to your local

pnpm dlx add-skill https://github.com/terrylica/cc-skills/tree/HEAD/plugins/asciinema-tools/skills/asciinema-converter

Skill Files

Browse the full folder contents for asciinema-converter.

Download Skill

Loading file tree…

plugins/asciinema-tools/skills/asciinema-converter/SKILL.md

Skill Metadata

Name
asciinema-converter
Description
Convert .cast recordings to .txt for analysis. TRIGGERS - convert cast, cast to txt, strip ANSI, batch convert.

asciinema-converter

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.

Platform: macOS, Linux (requires asciinema CLI v2.4+)

When to Use This Skill

Use this skill when:

  • Converting .cast recordings to searchable .txt format
  • Preparing recordings for Claude Code Read/Grep tools
  • Batch converting multiple recordings
  • Reducing storage size of session archives
  • Extracting clean text from ANSI-coded terminal output

Why Convert?

| 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.


Requirements

| Component | Required | Installation | Notes | | ------------- | -------- | ------------------------ | --------------------- | | asciinema | Yes | brew install asciinema | v2.4+ for convert cmd |


Workflow Overview

IMPORTANT: All phases are MANDATORY. Do NOT skip any phase. AskUserQuestion MUST be used at each decision point.

Single File Mode (Phases 0-6)

| 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

Batch Mode (Phases 7-10)

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 Filename Format

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 |


CLI Quick Reference

# Basic conversion
asciinema convert -f txt recording.cast recording.txt

# Check asciinema version
asciinema --version

# Verify convert command exists
asciinema convert --help

Reference Documentation

Internal References

External References


Troubleshooting

| 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 |