agentleFS
ysamlanysamlan/agent-log-gif/.claude/skills/visual-proof/SKILL.md

visual-proof

Skill9 starsChanged 8 months agoApache-2.0View on GitHub

Document visual output with GIF/image captures and proof-of-work reports. Use after making changes to the rendering pipeline (theme, renderer, animator, spinner) to show what the output looks like. Produces a showboat markdown document with embedded GIF frames and test results. Trigger when making visual changes, when the user asks to "show what it looks like" or "show me the output", or when completing work that changes GIF/video appearance.

3 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions3 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 3

    1. Neko-Catpital-Labs/Invoker★ 20same name
    2. dfrysinger/skills★ 3same name
    3. frankxai/blue-life-commons★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository5 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run the tool on test fixtures and/or real sessions to produce GIFs:

    line 31
  2. Distinctive:

    Document GIF optimization impact:

    line 91

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Visual Proof

Capture and document visual output from agent-log-gif with showboat proof-of-work reports.

Prerequisites

  • showboat CLI available (uvx showboat --version to check)
  • Project tests passing (just test)

How It Works

Generate GIFs from sample sessions, extract representative frames, and assemble a showboat document that proves the output looks correct. Showboat documents are verifiable — uvx showboat verify can re-run the embedded commands to confirm outputs still match.

Standard Proof Workflow

1. Initialize the document

uvx showboat init /workspace/tmp/visual-proof.md "Visual proof: <description of change>"

2. Generate sample output

Run the tool on test fixtures and/or real sessions to produce GIFs:

uvx showboat exec /workspace/tmp/visual-proof.md bash \
  'cd /workspace && uv run agent-log-gif json tests/sample_session.jsonl -o /workspace/tmp/proof-sample.gif --turns 2 2>&1'

For Codex sessions:

uvx showboat exec /workspace/tmp/visual-proof.md bash \
  'cd /workspace && uv run agent-log-gif json tests/sample_codex_session.jsonl -o /workspace/tmp/proof-codex.gif 2>&1'

3. Embed the GIF directly

Showboat's image command works with GIFs — embed the animated output directly so reviewers see the full animation in the markdown:

uvx showboat image /workspace/tmp/visual-proof.md '![Sample session animation](/workspace/tmp/proof-sample.gif)'
uvx showboat note /workspace/tmp/visual-proof.md "2-turn Claude Code session with typing animation and spinner."

For static frame extraction (e.g., before/after comparisons where animation isn't needed), use ffmpeg:

ffmpeg -i /workspace/tmp/proof-sample.gif -vf "select=eq(n\,30)" -frames:v 1 \
  -update 1 /workspace/tmp/proof-frame.png -y 2>/dev/null

4. Add test results as executable proof

uvx showboat exec /workspace/tmp/visual-proof.md bash \
  'cd /workspace && uv run pytest tests/ -q --tb=no 2>&1 | tail -5'

5. Add notes about what changed

uvx showboat note /workspace/tmp/visual-proof.md "Changed the spinner colors to cycle through rainbow palette..."

Before/After Comparison

For changes that affect visual output (theme colors, font size, spacing, title bar):

  1. Generate a GIF on the current branch first, save the frame
  2. Make changes
  3. Generate a new GIF, save the frame
  4. Build a showboat doc with both:
uvx showboat init /workspace/tmp/comparison.md "Before/after: <description>"
uvx showboat image /workspace/tmp/comparison.md '![Before](/workspace/tmp/before-frame.png)'
uvx showboat note /workspace/tmp/comparison.md "Before — <describe>"
uvx showboat image /workspace/tmp/comparison.md '![After](/workspace/tmp/after-frame.png)'
uvx showboat note /workspace/tmp/comparison.md "After — <what changed>"

File Size Proof

Document GIF optimization impact:

uvx showboat exec /workspace/tmp/visual-proof.md bash \
  'cd /workspace && uv run agent-log-gif json tests/sample_session.jsonl -o /workspace/tmp/proof.gif 2>&1 | grep -E "gifsicle|Done"'

Important: Never Edit the Showboat File Directly

Always use uvx showboat CLI commands (init, note, exec, image, pop) to build documents. Never write to or edit the .md file directly — showboat documents are trustworthy because every entry was produced by the CLI. If you make a mistake, use uvx showboat pop <file> to remove the last entry and redo it.

Output Location

Store all proof artifacts in /workspace/tmp/:

  • GIFs: tmp/proof-sample.gif, tmp/proof-codex.gif
  • Frames: tmp/proof-frame.png, tmp/before-frame.png, tmp/after-frame.png
  • Reports: tmp/visual-proof.md, tmp/comparison.md

These are gitignored — they're proof-of-work artifacts, not source files.

When to Use

SituationWhat to capture
Changed theme colors or fontBefore/after frame comparison
Changed animator (typing speed, spinner)GIF from sample session + note about timing
Changed renderer (title bar, viewport)Frame showing the chrome
Changed GIF backend (compression, palette)File size comparison
New format support (MP4, AVIF)Exec showing the format works
Completing any visual taskAppropriate proof from above

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.