asciinema Converter

VerifiedCaution

Convert .cast recordings to clean .txt files for analysis. Strips ANSI codes and JSON structure. Achieves up to 950:1 compression.

Sby Skills Guide Bot
DevelopmentIntermediate
7/24/2026
Claude Code
#asciinema#terminal-recordings#ansi-stripping#batch-conversion#text-extraction

Recommended for

Automated summary

Converts asciinema terminal recordings (.cast) into clean .txt files readable by Claude Code's Read/Grep tools by stripping ANSI codes and the JSON structure.

Strengths

  • Very high compression reported (roughly 950:1, 3.8GB down to ~4MB for a 22h session), making session archives practical to analyze
  • Batch mode converts every .cast in a directory with organized output and progress reporting
  • Understands the iTerm2 auto-log filename format and can optionally emit a [HH:MM:SS] timestamp index
  • Guided workflow using AskUserQuestion at each decision point (file, options, destination)

Limitations

  • Requires the asciinema CLI v2.4+ and only runs on macOS and Linux
  • The .txt output drops timing and original NDJSON structure, so it cannot be replayed in asciinema
  • Heavily interactive with mandatory phases, so it suits supervised use better than unattended CI runs
When to use it

Use it when long asciinema sessions need to become searchable, grep-able text that Claude Code can read without blowing up context.

When not to use it

Avoid it when timings must be preserved or the recording must be replayed, or when asciinema v2.4+ is not available.

Security analysis

Caution
Quality score82/100

The skill performs legitimate local .cast-to-.txt conversion with asciinema and does not contain curl|sh, secret exfiltration, destructive deletion, or obfuscated payloads. Caution is warranted because it grants Bash/Write and includes a self-modification instruction, but the demonstrated behavior is local file processing only.

Findings
  • •Declares Bash and Write, enabling execution of local conversion commands and file creation; no destructive or exfiltration behavior is shown, but these are powerful tools.
  • •The 'Self-Evolving Skill' section instructs the agent to edit its own SKILL.md immediately when issues arise, which is a governance risk because it can modify its own instructions without human review.
  • •Batch mode converts all .cast files in a directory and writes outputs; users should scope output paths to avoid unintended overwrites, though no deletion is instructed.
How this analysis is made

Examples

Convert one recording
Convert ~/recordings/20260118_232025.Claude Code.w0t1p1.cast to a plain .txt file I can grep.
Batch convert a folder
Batch convert every .cast file in ~/recordings into clean .txt output in ~/recordings/txt, and report progress.
Strip ANSI from logs
Strip the ANSI escape codes from this terminal recording so Claude Code can search it for error messages.

name: asciinema-converter description: Convert .cast recordings to .txt for analysis. TRIGGERS - convert cast, cast to txt, strip ANSI, batch convert. allowed-tools: Read, Bash, Glob, Write, AskUserQuestion

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

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.

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 |

Post-Execution Reflection

After this skill completes, check before closing:

  1. Did the command succeed? — If not, fix the instruction or error table that caused the failure.
  2. Did parameters or output change? — If the underlying tool's interface drifted, update Usage examples and Parameters table to match.
  3. Was a workaround needed? — If you had to improvise (different flags, extra steps), update this SKILL.md so the next invocation doesn't need the same workaround.

Only update if the issue is real and reproducible — not speculative.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/asciinema-converter-mryiqgkn/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/asciinema-converter-mryiqgkn' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/asciinema-converter-mryiqgkn/download' --output '.skill-downloads/asciinema-converter-mryiqgkn/SKILL.md.part' && mv '.skill-downloads/asciinema-converter-mryiqgkn/SKILL.md.part' '.skill-downloads/asciinema-converter-mryiqgkn/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): Read, Bash, Glob, Write, AskUserQuestion

Original excerpt: Requirements
ComponentRequiredInstallationNotes
asciinemaYesbrew install asciinemav2.4+ for convert cmd

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/asciinema-converter-mryiqgkn/SKILL.md' && test -s '.skill-downloads/asciinema-converter-mryiqgkn/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/asciinema-converter' && cp -R '.skill-downloads/asciinema-converter-mryiqgkn' '.claude/skills/asciinema-converter'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/asciinema-converter-mryiqgkn'

openskills read 'asciinema-converter-mryiqgkn'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/asciinema-converter-mryiqgkn/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills