Source profileQuality 93/100

terrylica/cc-skills/plugins/asciinema-tools/skills/asciinema-player/SKILL.md

asciinema-player

Play .cast terminal recordings in iTerm2. TRIGGERS - asciinema play, .cast file, play recording, recording playback.

Source repository stars
62
Declared platforms
0
Static risk flags
0
Last source update
2026-08-24
Source checked
2026-08-25

Decision brief

What it does: where it fits

Play terminal session recordings (.cast files) in a dedicated iTerm2 window with full playback controls. Opens a clean window (bypasses default arrangements) for distraction-free viewing.

Best for

  • Playing back .cast recordings in iTerm2
  • Reviewing session recordings without browser limitations
  • Handling large recordings (100MB) that crash browser players

Not for

  • "Device not configured" error
  • Recording plays too fast/slow

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/terrylica/cc-skills --skill "plugins/asciinema-tools/skills/asciinema-player"
Safe inspection promptEditorial

Inspect the Agent Skill "asciinema-player" from https://github.com/terrylica/cc-skills/blob/a5f847b22ee5afa35677e446973a903d098cd1d4/plugins/asciinema-tools/skills/asciinema-player/SKILL.md at commit a5f847b22ee5afa35677e446973a903d098cd1d4. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow Phases (ALL MANDATORY)

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

    IMPORTANT: All phases are MANDATORY. Do NOT skip any phase. AskUserQuestion MUST be used at each decision point.Purpose: Verify iTerm2 and asciinema are installed.
  2. 02

    Phase 0: Preflight Checks

    Purpose: Verify iTerm2 and asciinema are installed.

    Purpose: Verify iTerm2 and asciinema are installed.
  3. 03

    Step 0.1: Check Dependencies

    Review the “Step 0.1: Check Dependencies” section in the pinned source before continuing.

    Review and apply the “Step 0.1: Check Dependencies” source section.
  4. 04

    Step 0.2: Report Status and Ask for Installation

    MANDATORY AskUserQuestion if any dependency is missing:

    MANDATORY AskUserQuestion if any dependency is missing:
  5. 05

    Step 0.3: Install Missing Dependencies (if confirmed)

    Review the “Step 0.3: Install Missing Dependencies (if confirmed)” section in the pinned source before continuing.

    Review and apply the “Step 0.3: Install Missing Dependencies (if confirmed)” source section.

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score93/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars62SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
terrylica/cc-skills
Skill path
plugins/asciinema-tools/skills/asciinema-player/SKILL.md
Commit
a5f847b22ee5afa35677e446973a903d098cd1d4
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

asciinema-player

Play terminal session recordings (.cast files) in a dedicated iTerm2 window with full playback controls. Opens a clean window (bypasses default arrangements) for distraction-free viewing.

Platform: macOS only (requires iTerm2)

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:

  • Playing back .cast recordings in iTerm2
  • Reviewing session recordings without browser limitations
  • Handling large recordings (>100MB) that crash browser players
  • Demoing or reviewing terminal sessions

Why iTerm2 Instead of Browser?

AspectBrowser PlayeriTerm2 CLI
Large files (>100MB)Crashes (memory limit)Streams from disk
Memory usage2-4GB for 700MB fileMinimal
Startup timeSlow (download + parse)Instant
Native feelWeb-basedTrue terminal

Decision: iTerm2 CLI is the only reliable method for large recordings.


Requirements

ComponentRequiredInstallation
iTerm2Yesbrew install --cask iterm2
asciinema CLIYesbrew install asciinema

Note: This skill is macOS-only. Linux users should run asciinema play directly in their terminal.


Workflow Phases (ALL MANDATORY)

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

Phase 0: Preflight Checks

Purpose: Verify iTerm2 and asciinema are installed.

Step 0.1: Check Dependencies

# Check iTerm2 is installed
ls -d /Applications/iTerm.app 2>/dev/null && echo "iTerm2: OK" || echo "iTerm2: MISSING"

# Check asciinema CLI
which asciinema && asciinema --version

Step 0.2: Report Status and Ask for Installation

MANDATORY AskUserQuestion if any dependency is missing:

Question: "Required dependencies are missing. Install them?"
Header: "Setup"
Options:
  - Label: "Install all (Recommended)"
    Description: "Will install: {list of missing: iTerm2, asciinema}"
  - Label: "Cancel"
    Description: "Abort - cannot proceed without dependencies"

Step 0.3: Install Missing Dependencies (if confirmed)

# Install iTerm2
brew install --cask iterm2

# Install asciinema CLI
brew install asciinema

Phase 1: File Selection (MANDATORY)

Purpose: Discover and select the recording to play.

Step 1.1: Discover Recordings

# Search for .cast files in common locations
fd -e cast . --max-depth 5 2>/dev/null | head -20

# Also check common locations
ls -lh ~/scripts/tmp/*.cast 2>/dev/null
ls -lh ~/.local/share/asciinema/*.cast 2>/dev/null
ls -lh ./tmp/*.cast 2>/dev/null

Step 1.2: Get File Info

# Get file size and line count for selected file
ls -lh {file_path}
wc -l {file_path}

Step 1.3: Present File Selection (MANDATORY AskUserQuestion)

If user provided path directly, confirm:

Question: "Play this recording?"
Header: "Confirm"
Options:
  - Label: "Yes, play {filename}"
    Description: "{size}, {line_count} events"
  - Label: "Choose different file"
    Description: "Browse for other recordings"

If no path provided, discover and present options:

Question: "Which recording would you like to play?"
Header: "Recording"
Options:
  - Label: "{filename} ({size})"
    Description: "{line_count} events"
  - ... (up to 4 most recent)

Phase 2: Playback Settings (MANDATORY)

Purpose: Configure playback options before launching iTerm2.

Step 2.1: Ask Playback Speed (MANDATORY AskUserQuestion)

Question: "Select playback speed:"
Header: "Speed"
Options:
  - Label: "2x (fast)"
    Description: "Good for review, see everything"
  - Label: "6x (very fast)"
    Description: "Quick scan of long sessions"
  - Label: "16x (ultra fast)"
    Description: "Rapid skim for 700MB+ files"
  - Label: "Custom"
    Description: "Enter your own speed multiplier"

If "Custom" selected, ask for speed value (use Other option for numeric input).

Step 2.2: Ask Additional Options (MANDATORY AskUserQuestion)

Question: "Select additional playback options:"
Header: "Options"
multiSelect: true
Options:
  - Label: "Limit idle time (2s)"
    Description: "Cap pauses to 2 seconds max (recommended)"
  - Label: "Loop playback"
    Description: "Restart automatically when finished"
  - Label: "Resize terminal"
    Description: "Match terminal size to recording dimensions"
  - Label: "Pause on markers"
    Description: "Auto-pause at marked points (for demos)"

Phase 3: Launch in iTerm2

Purpose: Open clean iTerm2 window and start playback.

Step 3.1: Build Command

Construct the asciinema play command based on user selections:

# Example with all options
asciinema play -s 6 -i 2 -l -r /path/to/recording.cast

Option flags:

  • -s {speed} - Playback speed
  • -i 2 - Idle time limit (if selected)
  • -l - Loop (if selected)
  • -r - Resize terminal (if selected)
  • -m - Pause on markers (if selected)

Step 3.2: Launch iTerm2 Window

Use AppleScript to open a clean window (bypasses default arrangements):

osascript -e 'tell application "iTerm2"
    create window with default profile
    tell current window
        tell current session
            write text "asciinema play -s {speed} {options} {file_path}"
        end tell
    end tell
end tell'

Step 3.3: Display Controls Reference

## Playback Started

**Recording:** `{filename}`
**Speed:** {speed}x
**Options:** {options_summary}

### Keyboard Controls

| Key      | Action                            |
| -------- | --------------------------------- |
| `Space`  | Pause / Resume                    |
| `Ctrl+C` | Stop playback                     |
| `.`      | Step forward (when paused)        |
| `]`      | Skip to next marker (when paused) |

### Tips

- Press `Space` to pause anytime
- Use `.` to step through frame by frame
- `Ctrl+C` to exit when done

TodoWrite Task Template (MANDATORY)

Load this template into TodoWrite before starting:

1. [Preflight] Check iTerm2 installed
2. [Preflight] Check asciinema CLI installed
3. [Preflight] AskUserQuestion: install missing deps (if needed)
4. [Preflight] Install dependencies (if confirmed)
5. [Selection] Get file info (size, events)
6. [Selection] AskUserQuestion: confirm file selection
7. [Settings] AskUserQuestion: playback speed
8. [Settings] AskUserQuestion: additional options (multi-select)
9. [Launch] Build asciinema play command
10. [Launch] Execute AppleScript to open iTerm2
11. [Launch] Display controls reference

CLI Options Reference

OptionFlagValuesDescription
Speed-s0.5, 1, 2, 6, 16...Playback speed multiplier
Idle limit-iseconds (e.g., 2)Cap idle/pause time
Loop-l(flag)Continuous loop
Resize-r(flag)Match terminal to recording size
Markers-m(flag)Auto-pause at markers
Quiet-q(flag)Suppress info messages

AppleScript Reference

Open Clean iTerm2 Window (No Default Arrangement)

tell application "iTerm2"
    create window with default profile
    tell current window
        tell current session
            write text "your command here"
        end tell
    end tell
end tell

Why this works: create window with default profile creates a fresh window, bypassing any saved window arrangements.

One-liner for Bash

osascript -e 'tell application "iTerm2"
    create window with default profile
    tell current window
        tell current session
            write text "asciinema play -s 6 -i 2 /path/to/file.cast"
        end tell
    end tell
end tell'

Troubleshooting

"Device not configured" error

Cause: Running asciinema play from a non-TTY context (e.g., Claude Code's Bash tool)

Fix: Use AppleScript to open a real iTerm2 window (this skill does this automatically)

Recording plays too fast/slow

Fix: Use the speed AskUserQuestion to select appropriate speed:

  • 2x for careful review
  • 6x for quick scan
  • 16x for ultra-fast skim of very long recordings

iTerm2 not opening

Cause: iTerm2 not installed or AppleScript permissions not granted

Fix:

  1. Install iTerm2: brew install --cask iterm2
  2. Grant permissions: System Settings → Privacy & Security → Automation → Allow Terminal/Claude to control iTerm2

Large file (>500MB) considerations

The CLI player streams from disk, so file size doesn't cause memory issues. However:

  • Very long recordings may benefit from higher speeds (6x, 16x)
  • Use -i 2 to skip idle time
  • Consider splitting very long recordings

Post-Change Checklist

After modifying this skill:

  1. Preflight checks verify iTerm2 and asciinema
  2. AskUserQuestion phases use proper multiSelect where applicable
  3. AppleScript uses heredoc wrapper for bash compatibility
  4. Speed options match CLI capability (-s flag)
  5. TodoWrite template matches actual workflow phases

Reference Documentation

Post-Execution Reflection

After this skill completes, reflect before closing the task:

  1. Locate yourself. — Find this SKILL.md's canonical path before editing.
  2. What failed? — Fix the instruction that caused it.
  3. What worked better than expected? — Promote to recommended practice.
  4. What drifted? — Fix any script, reference, or dependency that no longer matches reality.
  5. Log it. — Evolution-log entry with trigger, fix, and evidence.

Do NOT defer. The next invocation inherits whatever you leave behind.

Frequently asked questions

What to verify before installation and use

What does the asciinema-player source document cover?

Play terminal session recordings (.cast files) in a dedicated iTerm2 window with full playback controls. Opens a clean window (bypasses default arrangements) for distraction-free viewing.

How do I install asciinema-player?

The source record exposes this install command: npx skills add https://github.com/terrylica/cc-skills --skill "plugins/asciinema-tools/skills/asciinema-player". Inspect the command and pinned source before running it.

Alternatives

Compare before choosing

Computed 10029,034

garrytan/gbrain

bulk-ingestion

End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.

Computed 10024,921

alirezarezvani/claude-skills

app-store-optimization

App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

Computed 10015,122

wanshuiyin/Auto-claude-code-research-in-sleep

citation-audit

Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.

Computed 10014,671

prowler-cloud/prowler

postgresql-indexing

PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance