CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

tui-snapshot-tester

Use when a terminal UI (TUI) app needs tests that catch layout regressions. Captures rendered terminal frames as SVG or text snapshots and diffs them on each run: pytest-textual-snapshot for Textual, insta for Ratatui, teatest for Bubble Tea, ink-testing-library for Ink.

Quality

82%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is testland/tui-snapshot-tester

SKILL.md
Quality
Evals
Security

Quality

Content

67%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-sequenced guide with executable code for all four TUI ecosystems and a strong anti-patterns/limitations treatment. Its weaknesses are recurring citation noise and a quoted definition of snapshot testing that pads the token budget, plus Rust/Go examples that lack imports and review loops spelled out only for Textual.

Suggestions

Drop the Overview blockquote defining snapshot testing and the seven repeated "Per [txt][txt]" preambles; a single 'Source: textual testing guide' note would carry the same attribution at a fraction of the tokens.

Add missing import statements to the Rust (ratatui TestBackend, insta) and Go (tea, teatest, time) examples so every snippet compiles as written.

Briefly mirror the Step 2 first-run review workflow (run → inspect diff → accept with the update flag) in the Ratatui, Go, and Ink sections, or state once that the same loop applies to cargo insta accept / go test -update / jest -u.

DimensionReasoningScore

Conciseness

The body is dense and executable, but pads with a blockquote defining snapshot testing ("Snapshot testing is the process of recording the output of a test, and comparing it against the output from previous runs") — a concept Claude already knows — plus seven repeated "Per [txt][txt]" citation preambles and an explanation that "pilot.press() / pilot.click() / pilot.pause() simulate user input." This recurring (not minor) over-explanation matches anchor 3 rather than anchor 4.

3 / 5

Actionability

Install commands, runnable snap_compare tests, CI YAML, and per-framework update commands are concrete and largely copy-paste ready. Not anchor 5 because the Rust and Go snippets omit import statements (ratatui/TestBackend, tea/ttime), so they don't compile as-is.

4 / 5

Workflow Clarity

Steps 1–9 are clearly sequenced with a human-in-the-loop validation checkpoint for Textual ("Open the report... If the new render is correct, run pytest --snapshot-update") and generalized review discipline in Step 9. Not anchor 5 because the first-run review loop is detailed only for Textual; the Ratatui/Go/Ink sections give update commands without the review step.

4 / 5

Progressive Disclosure

Good section structure (numbered steps, anti-patterns table, limitations, labeled References) with content mostly well placed, matching anchor 4. Not anchor 5 because there are no bundle reference files — the ~250-line body inlines all four framework guides and the anti-pattern detail that could be split into one-level-deep references.

4 / 5

Total

15

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: it opens with an explicit 'Use when' trigger, states concrete capture-and-diff actions in third person, and names the exact tool per ecosystem. The only gaps are a few missing synonyms (screenshot tests, golden files) and unmentioned baseline-update mechanics.

DimensionReasoningScore

Specificity

Concrete actions are stated ("Captures rendered terminal frames as SVG or text snapshots and diffs them on each run") with exact tool mappings for four frameworks. It stops short of anchor 5 because it covers only two core actions and omits parts of the workflow (baseline update, HTML diff review).

4 / 5

Completeness

Explicitly answers both: what ("Captures rendered terminal frames as SVG or text snapshots and diffs them on each run") and when ("Use when a terminal UI (TUI) app needs tests that catch layout regressions") with concrete trigger phrases. Not anchor 4 because the 'when' clause is fully explicit rather than merely present.

5 / 5

Trigger Term Quality

Includes natural terms users would say — "terminal UI (TUI)", "layout regressions", "snapshots" — plus the framework names Textual, Ratatui, Bubble Tea, and Ink. Not anchor 5 because common synonyms like "screenshot tests", "golden files", or "visual regression" are missing.

4 / 5

Distinctiveness Conflict Risk

A clear niche (terminal UI snapshot testing) with distinct triggers — TUI plus four named frameworks — minimizing conflict with browser/screenshot visual-regression skills. The terminal scoping keeps overlap risk minimal, matching anchor 5 rather than the minor-overlap anchor 4.

5 / 5

Total

18

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

testland/qa

Path

plugins/qa-cli-tools/skills/tui-snapshot-tester/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.