A skill your agent uses when creating animated demos (GIFs) for pull requests or documentation.

MITAuto-check passedAI & LLM Engineering

Install PR Demo

skills CLI
$ npx skills add mikeyobrien/ralph-orchestrator --skill pr-demo -a claude-code

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

GitHub CLI
$ gh skill install mikeyobrien/ralph-orchestrator pr-demo --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/mikeyobrien/ralph-orchestrator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/pr-demo .claude/skills/pr-demo && 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
pr-demo
GitHub stars
3.2k
Token cost
~1.3k tokens
SKILL.md length
307 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when creating animated demos (GIFs) for pull requests or documentation.

  • Works in 6 steps: Script Your Demo (REQUIRED) → Prepare Environment → Record → …
  • Creating animated demos (GIFs) for pull requests
  • SKILL.md covers Overview, Tool Selection, Prerequisites and Workflow, plus 3 more sections
  • Calls jq, brew and cargo; reaches github.com

What it does

PR Demo is an agent skill from mikeyobrien/ralph-orchestrator. Use when creating animated demos (GIFs) for pull requests or documentation. Covers terminal recording with asciinema and conversion to GIF/SVG for GitHub embedding.

Its SKILL.md is about 1.3k 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 AI & LLM Engineering, covering Embeddings and Pull requests. It works with GitHub. The repository describes itself as: An improved implementation of the Ralph Wiggum technique for autonomous AI agent orchestration. The licence is MIT.

When your agent uses it

  • Creating animated demos (GIFs) for pull requests
  • Tasks that involve Embeddings
  • Tasks that involve Pull requests

Example prompts

  • “/pr-demo”

Requirements

  • Node.js

Workflow steps

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

  1. Script Your Demo (REQUIRED)
  2. Prepare Environment
  3. Record
  4. Convert to GIF
  5. Validate (Self-Validation)
  6. Embed in PR

What it can do on your machine

Read from SKILL.md and the folder at commit edc2b32. 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:

    • jq
    • brew
    • cargo
    • npm

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    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

PR Demo loads about 1.3k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 307 words of instructions outside code blocks.

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

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 mikeyobrien/ralph-orchestrator at commit edc2b32, republished under its MIT licence (© mikeyobrien). 307 words, ~1,335 tokens.

Download SKILL.mdSave it as .claude/skills/pr-demo/SKILL.md (or your agent's skills folder).
name
pr-demo
description
Use when creating animated demos (GIFs) for pull requests or documentation. Covers terminal recording with asciinema and conversion to GIF/SVG for GitHub embedding.
metadata.internal
true

PR Demo Creation

Overview

Create polished terminal demos for PRs using asciinema recordings converted to GIF. The workflow: script → record → convert → embed.

Tool Selection

GoalTool ChainOutput
CLI demo for GitHub PRasciinema → aggGIF (< 5MB)
Smaller file neededasciinema → svg-term-cliSVG (< 500KB)
TUI screenshottmux → freezeSVG/PNG

Default choice: asciinema + agg (best compatibility, GitHub renders GIFs natively)

Prerequisites

bash
# Install tools (macOS)
brew install asciinema
cargo install --git https://github.com/asciinema/agg
npm install -g svg-term-cli  # Optional: for SVG output

Workflow

1. Script Your Demo (REQUIRED)

Before recording, write a brief script:

markdown
## Demo: [feature name]
Duration: ~20-30 seconds

1. [0-3s] Show command being typed
2. [3-10s] Command executes, show key output
3. [10-25s] Highlight the "aha moment" - what makes this valuable
4. [25-30s] Clean exit or final state

Keep it short. 20-30 seconds max. Show ONE thing well.

2. Prepare Environment
bash
# Clean terminal state
clear
export PS1='$ '                    # Simple prompt
export TERM=xterm-256color         # Consistent colors
# Hide sensitive info (API keys, paths with usernames)

Terminal size: 100x24 (readable when scaled down)

3. Record
bash
# Record to .cast file
asciinema rec demo.cast --cols 100 --rows 24

# Execute your scripted demo
# Press Ctrl+D or type 'exit' when done

Tips:

  • Type at readable speed (not too fast)
  • Pause briefly after key moments
  • If you make a mistake, start over (editing is harder than re-recording)
4. Convert to GIF
bash
# Basic conversion (recommended)
agg demo.cast demo.gif

# With speed adjustment (1.5x faster)
agg --speed 1.5 demo.cast demo.gif

# With custom font size for readability
agg --font-size 14 demo.cast demo.gif

Alternative - SVG (smaller files):

bash
svg-term --in demo.cast --out demo.svg --window
5. Validate (Self-Validation)

Claude can self-validate demos using three approaches:

A. Automated Checks (run these first)
bash
# Check file size (must be < 5MB for GitHub)
ls -lh demo.gif

# Check recording duration from .cast metadata
head -1 demo.cast | jq '.duration // "check manually"'
B. Visual Validation (LLM-as-judge)

Extract a static frame for Claude to analyze:

bash
# Option 1: Use svg-term to render a specific timestamp (e.g., 15 seconds in)
svg-term --in demo.cast --out demo-preview.svg --at 15000

# Option 2: Use asciinema cat + freeze for a snapshot
asciinema cat demo.cast | head -500 | freeze -o demo-preview.png

# Option 3: Just convert to GIF and use the file directly
# Claude can read GIF files with the Read tool

Then ask Claude to analyze using the Read tool on the image:

Validation prompt:

Analyze this terminal demo screenshot. Check:
1. Is the text readable (not too small/blurry)?
2. Is the command being demonstrated visible?
3. Is there any sensitive info (API keys, /Users/username paths)?
4. Does the terminal look clean (simple prompt, no clutter)?
5. Is the "aha moment" visible - what value does this demo show?

Rate: PASS or FAIL with specific issues.
C. Content Validation (parse .cast file)

The .cast file is JSON lines - validate the content programmatically:

bash
# Check what commands were typed (input events)
grep '"i"' demo.cast | head -20

# Check recording duration
head -1 demo.cast | jq -r '.duration | floor'
# Should be 20-30 seconds

# Look for sensitive patterns
grep -iE '(api.?key|password|secret|/Users/[a-z])' demo.cast && echo "WARNING: Sensitive data found!"
D. Full Validation Checklist

After running the above, verify:

  • File size < 5MB (automated)
  • Duration 20-30 seconds (automated)
  • No sensitive info in .cast (automated)
  • Text readable in preview frame (visual/LLM)
  • Demo shows feature clearly (visual/LLM)
  • Clean terminal appearance (visual/LLM)
6. Embed in PR
markdown
## Demo

![feature demo](./docs/demos/feature-demo.gif)

*Shows: [one-sentence description of what the demo shows]*

Store demos in docs/demos/ or assets/ directory.

Quick Reference

SettingRecommended Value
Duration20-30 seconds
Terminal size100x24
Speed multiplier1.0-1.5x
Target file size< 2MB ideal, < 5MB max
Font size (agg)14-16

Common Mistakes

MistakeFix
Demo too longScript it first, show ONE thing
Text unreadableUse --font-size 14+, terminal 100x24
File too largeUse svg-term-cli instead, or increase speed
Cluttered terminalClean PS1, clear history, hide paths
No context in PRAdd one-line description below GIF

File Organization

docs/demos/
├── feature-name.gif      # The demo
├── feature-name.cast     # Source recording (optional, for re-rendering)
└── README.md             # Recording instructions for future maintainers

© mikeyobrien, 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 .claude/skills/pr-demo of mikeyobrien/ralph-orchestrator.

Open the folder on GitHubat commit edc2b32

Compare with similar skills

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

PR Demo compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PR Demo this skillmikeyobrien/ralph-orchestrator3.2k—~1.3kAutomated safety check: PassMIT
Yas Demo Texttmck-code/yet-another-statusline242—~649Automated safety check: PassBSD-3-Clause
Fix Art IssuesOpenPipe/ART11k—~840Automated safety check: NotesApache-2.0
Michel CLI Demo RecorderPackmindHub/packmind318—~3.4kAutomated safety check: PassApache-2.0
Embeddings via 9Routerdecolua/9router31k—~604Automated safety check: PassMIT
Esmfold2JimLiu/science-skills2284 repos~2.5kAutomated safety check: PassApache-2.0

Similar skills

  • Yas Demo Text

    tmck-code/yet-another-statusline

    Convert make demo/img statusline snapshots into ANSI-stripped plain text for diffing and PR embedding.

    242 GitHub stars~649 tokensUpdated 6 days ago
    AI & LLM EngineeringAuto-check passed
  • Fix Art Issues

    OpenPipe/ART

    Fix a GitHub issue on OpenPipe/ART and open a PR. An agent skill from OpenPipe/ART.

    11k GitHub stars~840 tokensUpdated today
    AI & LLM EngineeringAuto-check: notes
  • Michel CLI Demo Recorder

    PackmindHub/packmind

    Produce proof-of-execution demos of the Packmind CLI (packmind-cli) as terminal-styled images (colors and formatting preserved exactly), for embedding in a GitHub PR.

    318 GitHub stars~3.4k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Embeddings via 9Router

    decolua/9router

    Generates vector embeddings through the 9Router /v1/embeddings endpoint, using models from providers such as OpenAI, Gemini, Mistral and Voyage for RAG and semantic search.

    31k GitHub stars~604 tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check passed
  • Esmfold2

    JimLiu/science-skills

    Biohub ESMFold2 / ESMFold2-Fast all-atom co-folding (Candido et al.

    228 GitHub starsUsed in 4 repos~2.5k tokens
    AI & LLM EngineeringAuto-check passed
  • GitHub Sync Gate

    R6410418/Jackrong-llm-finetuning-guide

    Enforce this repository's local-review-first GitHub sync policy.

    1.7k GitHub stars~316 tokensUpdated 3 mo ago
    DevelopmentAuto-check passed

More from mikeyobrien/ralph-orchestrator

All 16 skills in this repo
  • Ralph Docs

    mikeyobrien/ralph-orchestrator

    Introspect, explain, and improve Ralph Orchestrator using its published llms.txt doc map.

    3.2k GitHub stars~1.5k tokensUpdated 5 days ago
    Auto-check passed
  • Evaluate Presets

    mikeyobrien/ralph-orchestrator

    A skill your agent uses when testing Ralph's hat collection presets, validating preset configurations, or auditing the preset library for bugs and UX issues.

    3.2k GitHub stars~1.8k tokensUpdated 5 days ago
    Auto-check passed
  • Release Bump

    mikeyobrien/ralph-orchestrator

    A skill your agent uses when bumping ralph-orchestrator version for a new release, after fixes are committed and ready to publish

    3.2k GitHub stars~583 tokensUpdated 5 days ago
    Auto-check passed
  • Review PR

    mikeyobrien/ralph-orchestrator

    A skill your agent uses when asked to review a PR, run a code review loop, or invoke the ralph reviewer against a pull request number or GitHub URL

    3.2k GitHub stars~589 tokensUpdated 5 days ago
    Auto-check passed
  • Tui Debug In Pane

    mikeyobrien/ralph-orchestrator

    A skill your agent uses when you need to reproduce or debug TUI rendering issues (garbled output, broken streaming, layout corruption) by running ralph in a tmux split pane and capturing live output.

    3.2k GitHub stars~825 tokensUpdated 5 days ago
    Auto-check passed
  • Ralph Hats

    mikeyobrien/ralph-orchestrator

    Create, inspect, validate, explain, and improve Ralph hat collections.

    3.2k GitHub stars~691 tokensUpdated 5 days ago
    Auto-check passed

Works with

Questions about PR Demo

What does PR Demo do?

A skill your agent uses when creating animated demos (GIFs) for pull requests or documentation. PR Demo is an agent skill from mikeyobrien/ralph-orchestrator. Use when creating animated demos (GIFs) for pull requests or documentation.

When should I use PR Demo?

PR Demo fits situations like: creating animated demos (GIFs) for pull requests; tasks that involve Embeddings; tasks that involve Pull requests.

How do I install PR Demo in Claude Code?

Run `npx skills add mikeyobrien/ralph-orchestrator --skill pr-demo -a claude-code`. Or copy the skill folder (.claude/skills/pr-demo in mikeyobrien/ralph-orchestrator) into .claude/skills/pr-demo in your project. Claude Code loads it when a task matches its description.

How do I install PR Demo in Codex?

Run `npx skills add mikeyobrien/ralph-orchestrator --skill pr-demo -a codex`. Or copy the skill folder (.claude/skills/pr-demo in mikeyobrien/ralph-orchestrator) into .agents/skills/pr-demo in your project. Codex loads it when a task matches its description.

Can I use PR Demo 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 mikeyobrien/ralph-orchestrator --skill pr-demo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-demo, .gemini/skills/pr-demo, .github/skills/pr-demo and .opencode/skills/pr-demo in your project.

What does PR Demo need to run?

Going by SKILL.md and its folder, PR Demo needs the command-line tools its instructions call (jq, brew, cargo and npm). Our summary lists: Node.js.

Does PR Demo access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is PR Demo 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 PR Demo use?

PR Demo 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 PR Demo use?

About 1.3k tokens (SKILL.md is roughly 5.3k 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 PR Demo?

Skills that share tags, products or a category with PR Demo: Yas Demo Text (tmck-code/yet-another-statusline, 242 stars), Fix Art Issues (OpenPipe/ART, 11k stars), Michel CLI Demo Recorder (PackmindHub/packmind, 318 stars) and Embeddings via 9Router (decolua/9router, 31k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PR Demo?

mikeyobrien (a GitHub user) maintains it in mikeyobrien/ralph-orchestrator, which has 3,168 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 5, 2026.

Source: mikeyobrien/ralph-orchestrator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.