Structured TUI dogfooding and QA workflow using agent-tty. Use for exploratory testing, bug hunting, release-readiness validation, and UX review of terminal applications.
79
—
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Use this skill when the user wants structured exploratory testing, bug hunting, release-readiness validation, or UX review for a terminal application or TUI.
This workflow assumes the agent-tty core skill is already loaded.
If it is not, load it first with agent-tty skills get agent-tty.
Use this skill as the specialized QA layer on top of the core terminal automation workflow.
Open an agent-tty session when the question needs runtime terminal evidence:
crashes, input routing, focus/navigation behavior, resize behavior, alt-screen or
screen-lifecycle cleanup, animation, transient corruption, or a reviewer-facing
recording of a real interaction.
Prefer source reading, focused unit tests, or layout tests before opening a session for questions about layout math, string width/alignment, style mapping, or static rendering logic. A session can still corroborate the result, but it should not be the first or only instrument for source-answerable questions.
Treat snapshot --format text as searchable terminal text evidence, not as an
authoritative column-width oracle. For CJK, emoji, and other wide-glyph content,
text snapshots serialize the visible characters and can hide width/column
ambiguity. If a text snapshot disagrees with source or layout tests on wide-glyph
alignment, trust the source/tests first and use screenshots as visual
corroboration.
Sessions cost time and setup overhead. Use one when the bug class requires live interaction or reviewable runtime proof, not as the default first move for every visual question.
doctor --json before any screenshot or recording work.run for fast setup commands or scripted launches.type for literal keystroke-by-keystroke text entry that should appear in the session.send-keys for control input such as arrows, Enter, Escape, Ctrl+C, or function-key navigation.wait instead of blind sleeps:
--text when a label, prompt, or status message should appear.--screen-stable-ms when the UI is animating or repainting.--idle-ms when command completion matters more than screen text.snapshot --format text --json for searchable text evidence.screenshot --json when runtime layout, color, cursor, or rendering quality needs visual corroboration.record export --format webm --json when the issue involves navigation, animation, resize behavior, focus handling, or transient corruption.DOGFOOD_HOME="$(mktemp -d)"
agent-tty --home "$DOGFOOD_HOME" doctor --json
SESSION_ID=$(agent-tty --home "$DOGFOOD_HOME" create --json -- /bin/bash | jq -r '.result.sessionId')
agent-tty --home "$DOGFOOD_HOME" run "$SESSION_ID" '<launch-command>' --no-wait --json
agent-tty --home "$DOGFOOD_HOME" wait "$SESSION_ID" --screen-stable-ms 1000 --json
agent-tty --home "$DOGFOOD_HOME" snapshot "$SESSION_ID" --format text --json
agent-tty --home "$DOGFOOD_HOME" screenshot "$SESSION_ID" --json
agent-tty --home "$DOGFOOD_HOME" record export "$SESSION_ID" --format webm --json
agent-tty --home "$DOGFOOD_HOME" destroy "$SESSION_ID" --jsonCollect enough evidence that another reviewer can reproduce the result without guessing:
run, type, or send-keys action.Use consistent labels and notes so findings can be triaged quickly:
Use this structure when handing findings back to the user or a maintainer:
doctor --json passedagent-tty commands and key inputs usedPrefer concise, repeatable repros and artifact-backed findings over narrative descriptions. The goal is a reviewable proof bundle, not just an anecdote.
fae02cb
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.