← ClaudeAtlas

cast-asciinema-editorlisted

Edit asciinema .cast recordings for demo videos. Trims sections, compresses spinner/thinking animations, speeds up typing, and keeps visual coherence. Use when: the user wants to edit, trim, speed up, or polish a .cast terminal recording.
sridherj/diecast · ★ 3 · Code & Development · score 72
Install: claude install-skill sridherj/diecast
# Asciinema Cast Editor Edit `.cast` terminal recordings into polished demo videos. ## Phase 0: Locate the recording Ask the user for the `.cast` file path. Verify it exists and read the header + last event to get duration and event count. ## Phase 1: Analyze and present content map **1.1** Read all events from the file. Each line after the header is `[timestamp, "o", text]`. **1.2** Strip ANSI escape sequences to extract visible text: ```python def strip_ansi(text): clean = re.sub(r'\x1b\[[0-9;]*[a-zA-Z]', '', text) clean = re.sub(r'\x1b\][^\x07]*\x07', '', clean) clean = re.sub(r'\[[\?0-9;>]*[a-zA-Z]', '', clean) clean = re.sub(r'[\x00-\x08\x0e-\x1f]', '', clean) return clean.strip() ``` **1.3** Window events into ~8s chunks. For each window, collect cleaned text and produce a one-line summary. **1.4** Find all user prompt lines (search for `❯` in cleaned text). **1.5** Present a **numbered content breakdown table** to the user: ``` | # | Time | What's happening | Duration | |---|------------|-------------------------------|----------| | 1 | 0:00-0:12 | Launch command | ~12s | | 2 | 0:12-0:30 | Skill autocomplete | ~18s | | 3 | 0:30-0:50 | User: "find devrel folks" | ~20s | ``` Ask: "Which sections should I cut, compress, or keep?" ## Phase 2: Cut sections For each section the user wants removed, filter events by **original** timestamp range: ```python filtered = [e for e in e