Agent skill

Session Replay

by athola in athola/claude-night-market

Converts a Claude Code session JSONL file into an animated GIF terminal replay.

MITAuto-check passedMedia & Creative

Install Session Replay

skills CLI
$ npx skills add athola/claude-night-market --skill session-replay -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install athola/claude-night-market session-replay --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/scribe/skills/session-replay .claude/skills/session-replay && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
session-replay
GitHub stars
341
Token cost
~1.4k tokens
SKILL.md length
565 words
Files
1
Skills in repo
154
Repo updated
First seen
Licence
MIT

At a glance

Converts a Claude Code session JSONL file into an animated GIF terminal replay.

  • Works in 4 steps: Pick a Session (when no path is provided) → Parse the Session → Generate VHS Tape → …
  • Visual evidence from past sessions
  • SKILL.md covers When To Use, When NOT To Use, Integration Points and Workflow, plus 2 more sections
  • Calls go

What it does

Session Replay is an agent skill from athola/claude-night-market. Converts a Claude Code session JSONL file into an animated GIF terminal replay. Use when creating demos or visual evidence from past sessions.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering Social media graphics. The repository describes itself as: 23 Claude Code plugins: TDD enforcement hooks, git/PR workflows, spec-driven development, code review, project lifecycle, fix-from-error, maintenance automation, context… The licence is MIT.

When your agent uses it

  • Visual evidence from past sessions
  • Tasks that involve Social media graphics

Example prompts

  • “Use the session-replay skill to convert a Claude Code session JSONL file into an animated GIF terminal replay”
  • “/session-replay”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Pick a Session (when no path is provided)
  2. Parse the Session
  3. Generate VHS Tape
  4. Render GIF

What it can do on your machine

Read from SKILL.md and the folder at commit 9f3eb00. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Session Replay loads about 1.4k tokens when it runs. Until then it costs about 39 tokens; SKILL.md has 565 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~39
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from athola/claude-night-market at commit 9f3eb00, republished under its MIT licence (© athola). 565 words, ~1,426 tokens.

Download SKILL.mdSave it as .claude/skills/session-replay/SKILL.md (or your agent's skills folder).
name
session-replay
description
Converts a Claude Code session JSONL file into an animated GIF terminal replay. Use when creating demos or visual evidence from past sessions.
globs
**/*.jsonl
alwaysApply
false
category
artifact-generation
tags
recording, demo, session-capture, gif, terminal, replay
complexity
medium
model_hint
standard
estimated_tokens
1500
progressive_loading
false
dependencies
scry:vhs-recording

Session Replay

Turn a Claude Code session JSONL file into an animated GIF that plays back the conversation as typed terminal output.

The skill orchestrates three steps: parse the session file into turns, generate a VHS tape from those turns, and hand off to scry for GIF rendering.

When To Use

  • Creating demos of development workflows
  • Adding visual evidence to pull requests
  • Sharing session highlights to Slack or GitHub
  • Embedding session replays in tutorials

When NOT To Use

  • Writing blog posts from sessions (use scribe:session-to-post)
  • Generating API documentation (use scribe:doc-generator)
  • Recording live terminal commands (use scry:vhs-recording directly)

Integration Points

NeedSkillWhat it adds
GIF renderingscry:vhs-recordingConverts VHS tape to animated GIF
Tutorial embeddingscribe:tech-tutorialEmbed GIF in tutorial markdown
PR preparationsanctum:prepare-prAttach replay as PR evidence

Workflow

Step 0: Pick a Session (when no path is provided)

When the user invokes /session-replay without a path argument, use scribe.session_parser.list_sessions() to discover recent session files from ~/.claude/projects/.

The function returns a list of SessionInfo objects sorted by modification time (most recent first), each containing:

  • path: full path to the .jsonl file
  • modified: mtime timestamp
  • first_user_message: preview of the first human message
  • turn_count: number of user turns in the session
  • project_name: parent directory name

Present the list to the user as a numbered menu:

Recent sessions:
 1. [my-project] "implement auth module" (8 turns, 2h ago)
 2. [api-server] "fix rate limiting bug" (3 turns, 5h ago)
 3. [docs-site]  "update installation guide" (12 turns, 1d ago)

Ask the user to pick a number. Use the selected session's path for the remaining steps.

If list_sessions returns an empty list, report that no sessions were found and suggest providing a path directly.

Step 1: Parse the Session

Use scribe.session_parser.parse_session() to read the JSONL file. The parser:

  • Extracts user and assistant turns
  • Skips sidechain (subagent) records
  • Collapses tool calls into readable summaries
  • Wraps text at the configured column width
  • Truncates long responses at the configured row count

Apply filters based on user options:

  • --turns selects specific turn ranges (e.g. 1-5)
  • --show controls which layers appear: user, assistant, tools, thinking (thinking is excluded by default)
Show full SKILL.md (246 more words)Show less
Step 2: Generate VHS Tape

Use scribe.tape_generator.generate_tape() to convert the parsed turns into a VHS tape file. The generator:

  • Creates the Output directive and Set commands
  • Types user messages at 30ms/char with $ prefix
  • Types assistant responses at 15ms/char
  • Types tool summaries at 100ms with two-space indent
  • Adds 1.5s pauses between turns
  • Holds the final frame for 3s
  • Scales all timing by the --speed multiplier
  • Truncates when --max-duration is exceeded

Write the tape to a temp file: {tempdir}/session-replay-{timestamp}.tape

Step 3: Render GIF

Invoke Skill(scry:vhs-recording) with the tape file path. Scry validates the tape, runs VHS, and produces the GIF at the path specified in the Output directive.

After successful rendering, delete the temp tape file.

Error Handling
ErrorAction
VHS not installedReport: install via go install github.com/charmbracelet/vhs@latest
Tape syntax errorReport VHS error output. Likely a string escaping bug.
GIF generation failsReport VHS error. Suggest --turns 1-5 to reduce scope.
Scry skill not foundReport: scry plugin required for GIF rendering.

Example

bash
# Pick from recent sessions interactively
/session-replay

# Replay a specific file directly
/session-replay ~/.claude/projects/my-project/abc123.jsonl

# First 5 turns only, faster playback
/session-replay --turns 1-5 --speed 1.5

# Show only the conversation, no tool calls
/session-replay --show user,assistant --output demo.gif

Output (interactive picker):

Recent sessions:
 1. [my-project] "implement auth module" (8 turns, 2h ago)
 2. [api-server] "fix rate limiting bug" (3 turns, 5h ago)
 3. [docs-site]  "update installation guide" (12 turns, 1d ago)

Pick a session [1-3]: 1

Parsed 42 turns from session (12 user, 15 assistant, 15 tools)
Generated tape: /tmp/session-replay-1711234567.tape
Rendering GIF via scry...
Done: session-replay.gif (18s, 960x540)

Exit Criteria

  • VHS tape file written to {tempdir}/session-replay-{timestamp}.tape before rendering is attempted
  • GIF produced at the path specified in the tape's Output directive and its size reported (duration, dimensions)
  • Temp tape file deleted after the GIF renders successfully
  • If VHS is not installed, error reported with the install command go install github.com/charmbracelet/vhs@latest rather than silently failing
  • If no JSONL path is given and list_sessions() returns empty, user is told no sessions were found and directed to provide a path directly

© athola, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/scribe/skills/session-replay of athola/claude-night-market.

Open the folder on GitHubat commit 9f3eb00

Compare with similar skills

Session Replay next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Session Replay compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Session Replay this skillathola/claude-night-market341—~1.4kAutomated safety check: PassMIT
OneWorks 3D Avatar Designeroneworks-ai/avatar251—~1.7kAutomated safety check: PassMIT
Nuxt Og Image Skilldharlan-zw/requestindexing.com396—~2.4kAutomated safety check: PassMIT
Cover Skillkangarooking/kangarooking-skills661—~2.9kAutomated safety check: PassNone
Multi Surface Renderyonatangross/orchestkit290—~4kAutomated safety check: PassMIT
Brand and Design Toolkitnextlevelbuilder/ui-ux-pro-max-skill134k1 repos~3.5kAutomated safety check: PassMIT

Similar skills

  • OneWorks 3D Avatar Designer

    oneworks-ai/avatar

    Creates, refines and exports editable OneWorks 3D geometric avatars for mascots, bots or agents, keeping one shared scene state across preview, share link and export.

    251 GitHub stars~1.7k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Nuxt Og Image Skilld

    harlan-zw/requestindexing.com

    ALWAYS use when writing code importing "nuxt-og-image". An agent skill from harlan-zw/requestindexing.com.

    396 GitHub stars~2.4k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Cover Skill

    kangarooking/kangarooking-skills

    A skill your agent uses for the owner's personal creator-content thumbnails and covers for short video, Bilibili, Douyin, WeChat, or similar platforms from a title, summary, established real…

    661 GitHub stars~2.9k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Multi Surface Render

    yonatangross/orchestkit

    Multi-surface rendering with json-render — one JSON spec produces React web, Next.js, React Native, Ink terminal UIs, PDFs, emails, Remotion videos, OG images, and 3D scenes.

    290 GitHub stars~4k tokensUpdated today
    Media & CreativeAuto-check passed
  • Brand and Design Toolkit

    nextlevelbuilder/ui-ux-pro-max-skill

    Bundles design tasks behind one skill: brand identity, tokens, UI styling, logos, corporate identity mockups, slides, banners, icons and social images.

    134k GitHub starsUsed in 1 repo~3.5k tokens
    Media & CreativeAuto-check passed
  • Slack GIF Creator

    anthropics/skills

    Official

    Provides Slack size and frame limits, Python animation helpers and validators for building animated GIFs sized for emoji and messages.

    180k GitHub starsUsed in 29 repos~2k tokens
    Media & CreativeAuto-check passed

More from athola/claude-night-market

All 154 skills in this repo
  • Night Market Diagnostics Toolkit

    athola/claude-night-market

    Run and interpret repo diagnostic scripts (ratchets, validators, token stats).

    341 GitHub stars~3.4k tokensUpdated 3 days ago
    Auto-check passed
  • Skills Eval

    athola/claude-night-market

    Evaluate Claude skill quality through auditing. An agent skill from athola/claude-night-market.

    341 GitHub stars~1.6k tokensUpdated 3 days ago
    Auto-check passed
  • Agent Teams

    athola/claude-night-market

    Coordinates Claude agent teams via filesystem protocol. An agent skill from athola/claude-night-market.

    341 GitHub stars~2.5k tokensUpdated 3 days ago
    Auto-check passed
  • Delegation Core

    athola/claude-night-market

    Delegates execution to eight CLIs (Gemini, Qwen, MiniMax, GLM, Muse, Codex, OpenCode, Glimmer).

    341 GitHub stars~2.5k tokensUpdated 3 days ago
    Auto-check passed
  • Elegant Code

    athola/claude-night-market

    Guide minimal code via a decision ladder with full safety, edge, and negative-case coverage.

    341 GitHub stars~2.1k tokensUpdated 3 days ago
    Auto-check passed
  • Skill Library Mission

    athola/claude-night-market

    Build a project skill library in .claude/skills/ via discovery, parallel authoring, and review.

    341 GitHub stars~1.6k tokensUpdated 3 days ago
    Auto-check passed

Questions about Session Replay

What does Session Replay do?

Converts a Claude Code session JSONL file into an animated GIF terminal replay. Session Replay is an agent skill from athola/claude-night-market. Converts a Claude Code session JSONL file into an animated GIF terminal replay.

When should I use Session Replay?

Session Replay fits situations like: visual evidence from past sessions; tasks that involve Social media graphics.

How do I install Session Replay in Claude Code?

Run `npx skills add athola/claude-night-market --skill session-replay -a claude-code`. Or copy the skill folder (plugins/scribe/skills/session-replay in athola/claude-night-market) into .claude/skills/session-replay in your project. Claude Code loads it when a task matches its description.

How do I install Session Replay in Codex?

Run `npx skills add athola/claude-night-market --skill session-replay -a codex`. Or copy the skill folder (plugins/scribe/skills/session-replay in athola/claude-night-market) into .agents/skills/session-replay in your project. Codex loads it when a task matches its description.

Can I use Session Replay in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add athola/claude-night-market --skill session-replay -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/session-replay, .gemini/skills/session-replay, .github/skills/session-replay and .opencode/skills/session-replay in your project.

What does Session Replay need to run?

Going by SKILL.md and its folder, Session Replay needs the command-line tools its instructions call (go).

Does Session Replay access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Session Replay safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Session Replay use?

Session Replay is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Session Replay use?

About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Session Replay?

Skills that share tags, products or a category with Session Replay: OneWorks 3D Avatar Designer (oneworks-ai/avatar, 251 stars), Nuxt Og Image Skilld (harlan-zw/requestindexing.com, 396 stars), Cover Skill (kangarooking/kangarooking-skills, 661 stars) and Multi Surface Render (yonatangross/orchestkit, 290 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Session Replay?

athola (a GitHub user) maintains it in athola/claude-night-market, which has 341 GitHub stars. The repository holds 154 skills in this directory. The repository was last updated on October 6, 2026.

Source: athola/claude-night-market on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.