Skills

Terminal Screenshot

MUST be used right after changing any CLI color config (delta/bat/themes/lazygit pager)...

Install

npx skills add daymade/claude-code-skills --skill terminal-screenshot -g -a claude-code -y
Category
AI and agents
Updated
3d ago
License
MIT
Context cost
Mediumabout 1,523 tokens
Runs scripts
Yes, review before use

What it does

MUST be used right after changing any CLI color config (delta/bat/themes/lazygit pager), renders the terminal's colored output to a PNG so Claude can actually SEE contrast, alignment, and highlighting instead of raw ANSI codes. Use for delta git diff colors, bat syntax highlighting, starship prompt, eza/ls colors, or ripgrep matches. Trigger phrases: 看终端效果, 终端截图, 验证配色, terminal screenshot.

Terminal Screenshot

Render the colored output of a terminal command into a PNG image, then read that image to judge the result visually.

Why this exists

When a command's output arrives as a tool result, Claude sees plain text plus raw escape codes like \x1b[48;2;92;30;34m, not the rendered colors. That makes it impossible to honestly answer "is the diff's add/remove contrast strong enough?" or "did this theme come out too dark?". Reading hex values is guessing. This skill turns the output into an image so the judgement is based on what a human would actually see on screen.

The method: capture, then render

Two separate steps. Keep them separate, that separation is the whole trick.

Step 1, Capture full-fidelity ANSI to a file

Most CLIs drop or downgrade colors when they detect they're not writing to a real terminal (a pipe or a child process). Force full coloring and save to a .ansi file. The exact flag depends on the tool, recipes below.

The single most important rule: never let the renderer run the command for you. freeze --execute "git diff | delta" looks convenient but produces a degraded result, delta (and lazygit, and anything that probes terminal capabilities) runs inside freeze's child pty, detects a reduced environment, and silently drops its background blocks, line-number column, and header box. Capture in a normal shell first, render second.

Step 2, Render the ANSI file to PNG, then read it

Use the bundled wrapper, which prefers freeze and falls back to a stdlib renderer + headless Chrome:

scripts/render_ansi.sh <input.ansi> <output.png> [background_hex]

Then read the PNG with the Read tool and judge the colors.

Background color must match the real terminal, or a dark theme verified on a white page looks wrong. On macOS with Ghostty:

ghostty +show-config --default | grep '^background'   # e.g. 282c34 (the default)
Read the whole SKILL.md on GitHub

More in AI and agents