Agent skill

Terminal UI Automation

by pproenca in pproenca/agent-tui

Drives terminal UI apps from the command line for testing, demos and scripted interactions, using a run, screenshot, act, wait loop.

MITAuto-check passedTesting & QA

Install Terminal UI Automation

skills CLI
$ npx skills add pproenca/agent-tui --skill agent-tui -a claude-code

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

GitHub CLI
$ gh skill install pproenca/agent-tui agent-tui --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/pproenca/agent-tui.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/agent-tui .claude/skills/agent-tui && 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
agent-tui
GitHub stars
118
Token cost
~1k tokens
SKILL.md length
428 words
Files
15 (incl. references)
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Drives terminal UI apps from the command line for testing, demos and scripted interactions, using a run, screenshot, act, wait loop.

  • Works in 7 steps: Run the app with agent-tui run and… → Take a fresh snapshot with agent-tui… → Decide the next action based on the… → …
  • Automating a CLI or TUI workflow for regression testing
  • SKILL.md covers Quick start, Core workflow, Reliability rules and Legacy migration, plus 3 more sections
  • Calls npm, pnpm and bun

What it does

After installing through npm, pnpm, bun, an install script or cargo, a session starts with `agent-tui run`, which returns a session ID. The core loop then takes a fresh screenshot, decides the next move, acts with `press`, `type` or `scroll`, and synchronizes with `wait --assert` or `wait --stable` before repeating, ending with `agent-tui kill --yes` to clean up.

The reliability rules call for re-snapshotting after any action that could change the screen and never acting on a screen that is still changing, verifying outcomes with an assertion instead of assuming success. A legacy migration section lists older command forms, such as `agent-tui input` or `agent-tui action <selector> click`, that still parse but print a deprecation notice to stderr and are slated for removal, in favor of `type` and `press Enter`.

When your agent uses it

  • Automating a CLI or TUI workflow for regression testing
  • Extracting structured text from a running terminal application
  • Scripting an interaction with a terminal app for a demo

Example prompts

  • “Write an agent-tui script that logs into our TUI app and checks the dashboard.”
  • “Automate pressing through this terminal wizard and assert the final text.”
  • “Record a scripted demo of our CLI tool using agent-tui.”

Requirements

  • agent-tui installed via npm, cargo or the install script

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Run the app with agent-tui run and capture session_id from JSON output.
  2. Take a fresh snapshot with agent-tui screenshot or agent-tui screenshot --format json.
  3. Decide the next action based on the latest snapshot.
  4. Act with press, type, or scroll.
  5. Synchronize with wait --assert or wait --stable.
  6. Repeat from step 2 until the task finishes.
  7. Clean up with agent-tui kill --yes.

What it can do on your machine

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

    • npm
    • pnpm
    • bun
    • curl
    • sh
    • cargo

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

  • Network

    No URLs in SKILL.md. Its commands use npm, pnpm and curl, which can reach the network depending on how they are called.

    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

Terminal UI Automation loads about 1k tokens when it runs, and up to ~5.1k if it reads all its reference files. Until then it costs about 100 tokens; SKILL.md has 428 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.1k

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 pproenca/agent-tui at commit 8bf76c4, republished under its MIT licence (© pproenca). 428 words, ~1,027 tokens.

Download SKILL.mdSave it as .claude/skills/agent-tui/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.
name
agent-tui
description
Automate terminal UI (TUI) apps with agent-tui for testing, inspection, demos, and scripted interactions. Use when automating CLI/TUI flows, regression testing terminal apps, verifying interactive behavior, or extracting structured text from terminal UIs. Also use when asked what agent-tui is, how it works, or to demo it. Do not use for web browsers, GUI apps, or non-terminal interfaces.

agent-tui

Quick start

  • Verify install: agent-tui --version
  • Install with npm i -g agent-tui (or pnpm add -g agent-tui, bun add -g agent-tui).
  • Alternate install: curl -fsSL https://raw.githubusercontent.com/pproenca/agent-tui/master/install.sh -o /tmp/agent-tui-install.sh && sh /tmp/agent-tui-install.sh or cargo install --git https://github.com/pproenca/agent-tui.git --path cli/crates/agent-tui.
  • If you used the install script, ensure ~/.local/bin is on your PATH.
  • Start a session: agent-tui run --format json <command> -- <args...>
  • Observe: agent-tui screenshot --format json
  • Act: agent-tui press Enter, agent-tui type "text", or agent-tui scroll down
  • Wait or verify: agent-tui wait "Expected text" --assert or agent-tui wait --stable
  • Cleanup: agent-tui kill --yes

Core workflow

Current automation loop: run -> screenshot -> press/type/scroll -> wait -> kill --yes.

  1. Run the app with agent-tui run and capture session_id from JSON output.
  2. Take a fresh snapshot with agent-tui screenshot or agent-tui screenshot --format json.
  3. Decide the next action based on the latest snapshot.
  4. Act with press, type, or scroll.
  5. Synchronize with wait --assert or wait --stable.
  6. Repeat from step 2 until the task finishes.
  7. Clean up with agent-tui kill --yes.

Reliability rules

  • Re-snapshot after every action that could change the UI.
  • Never act on a changing screen; wait for stability first.
  • Verify outcomes with wait --assert instead of assuming success.
  • Always end automation runs with kill --yes or sessions cleanup --yes.

Legacy migration

Use current commands for new scripts. Legacy compatibility forms still parse for old scripts, but each one writes its deprecation notice to stderr, keeps JSON stdout parseable, and is covered by the next-major removal window.

  • agent-tui input "text" -> agent-tui type "text".
  • agent-tui action <selector> click -> agent-tui press Enter.
  • agent-tui action <selector> fill <text> -> agent-tui type "<text>".
  • agent-tui screenshot -e -> agent-tui screenshot.
  • agent-tui screenshot -a -> agent-tui screenshot.
  • agent-tui wait -e <ref> -> agent-tui wait "<text>".
  • agent-tui scroll-into-view <selector> -> agent-tui scroll <direction> [amount] or agent-tui press ...; the compatibility command does not send terminal input.
Show full SKILL.md (125 more words)Show less

Session handling

  • Use --session <id> for every command if more than one session exists.
  • If you lose the session id, run agent-tui sessions and agent-tui sessions show <id>.

Live preview (optional)

  • Ask whether a live preview is desired.
  • Start preview: agent-tui live start --open
  • Stop standalone preview state with agent-tui live stop; daemon-backed preview remains available until agent-tui daemon stop --yes.

Deep-dive references

  • Full CLI coverage and options: references/command-atlas.md
  • JSON output contract: references/output-contract.md
  • End-to-end command sequences: references/flows.md
  • Quick command selection: references/decision-tree.md
  • Session lifecycle and concurrency: references/session-lifecycle.md
  • Assertions and test oracles: references/assertions.md
  • Failure recovery playbook: references/recovery.md
  • Safety and confirmation prompts: references/safety.md
  • Clarification checklist: references/clarifications.md
  • Test plan template: references/test-plan.md
  • Demo script: references/demo.md
  • User prompt templates: references/prompt-templates.md
  • Minimal command sets by use case: references/use-cases.md
  • Explorer/replay automation skill: ../tui-explorer/SKILL.md

© pproenca, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 14 other files (references) in skills/agent-tui of pproenca/agent-tui.

  • SKILL.md
  • agents/openai.yaml
  • references/assertions.md
  • references/clarifications.md
  • references/command-atlas.md
  • references/decision-tree.md
  • references/demo.md
  • references/flows.md
  • references/output-contract.md
  • references/prompt-templates.md
  • references/recovery.md
  • references/safety.md
  • references/session-lifecycle.md
  • references/test-plan.md
  • references/use-cases.md

Open the folder on GitHubat commit 8bf76c4

Compare with similar skills

Terminal UI Automation 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.

Terminal UI Automation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Terminal UI Automation this skillpproenca/agent-tui118—~1kAutomated safety check: PassMIT
Codex Coding Pluginstyler-ai/ProjectAtlas438—~1.8kAutomated safety check: PassMIT
Run Shuntpleaseai/shunt251—~2.6kAutomated safety check: PassApache-2.0
Warp UI Testing with Computer Usewarpdotdev/warp65k1 repos~1kAutomated safety check: PassAGPL-3.0
TUI Change Verification for Warpwarpdotdev/warp65k1 repos~5.5kAutomated safety check: NotesAGPL-3.0
Codewhale Dogfood Installcodewhale-hq/Codewhale41k—~1.3kAutomated safety check: PassMIT

Similar skills

  • Codex Coding Plugin

    styler-ai/ProjectAtlas

    Build, review, or fix ProjectAtlas plugin/runtime installer integration for Codex, Claude Code, and OpenCode, especially version convergence, stale ProjectAtlas cache repair, MCP config generation…

    438 GitHub stars~1.8k tokensUpdated today
    Testing & QAAuto-check passed
  • Run Shunt

    pleaseai/shunt

    Build, launch, and drive shunt — the Claude Code LLM gateway (a Rust/axum Anthropic-Messages proxy).

    251 GitHub stars~2.6k tokensUpdated today
    Testing & QAAuto-check passed
  • Guides visual testing of Warp UI changes by launching the app with an API key and driving it through the computer use tool, with optional mocked state.

    65k GitHub starsUsed in 1 repo~1k tokens
    Testing & QAAuto-check passed
  • Runs Warp's terminal UI for real, drives it with keystrokes and reads the rendered screen back to confirm that a change looks and behaves as intended.

    65k GitHub starsUsed in 1 repo~5.5k tokens
    Testing & QAAuto-check: notes
  • Codewhale Dogfood Install

    codewhale-hq/Codewhale

    Proves a Codewhale change in the real product: a stamped release build, an atomic local install, fresh-shell verification and manual QA that automated gates cannot cover.

    41k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Dpis Hyperos Smoke

    Kwensiu/DPIS

    Run automated DPIS HyperOS device smoke tests for package-specific dp/font emulation or replacement.

    107 GitHub stars~715 tokensUpdated yesterday
    MobileAuto-check passed

More from pproenca/agent-tui

  • TUI Explorer

    pproenca/agent-tui

    Explores a terminal app's navigation with bounded breadth-first search and turns the discovered paths into replayable acceptance tests.

    118 GitHub stars~460 tokensUpdated 2 days ago
    Auto-check passed

Works with

Categories

Questions about Terminal UI Automation

What does Terminal UI Automation do?

Drives terminal UI apps from the command line for testing, demos and scripted interactions, using a run, screenshot, act, wait loop. After installing through npm, pnpm, bun, an install script or cargo, a session starts with `agent-tui run`, which returns a session ID. The core loop then takes a fresh screenshot, decides the next move, acts with `press`, `type` or `scroll`, and synchronizes with `wait --assert` or `wait --stable` before repeating, ending with `agent-tui kill --yes` to clean up.

When should I use Terminal UI Automation?

Terminal UI Automation fits situations like: automating a CLI or TUI workflow for regression testing; extracting structured text from a running terminal application; scripting an interaction with a terminal app for a demo.

How do I install Terminal UI Automation in Claude Code?

Run `npx skills add pproenca/agent-tui --skill agent-tui -a claude-code`. Or copy the skill folder (skills/agent-tui in pproenca/agent-tui) into .claude/skills/agent-tui in your project. Claude Code loads it when a task matches its description.

How do I install Terminal UI Automation in Codex?

Run `npx skills add pproenca/agent-tui --skill agent-tui -a codex`. Or copy the skill folder (skills/agent-tui in pproenca/agent-tui) into .agents/skills/agent-tui in your project. Codex loads it when a task matches its description.

Can I use Terminal UI Automation 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 pproenca/agent-tui --skill agent-tui -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agent-tui, .gemini/skills/agent-tui, .github/skills/agent-tui and .opencode/skills/agent-tui in your project.

What does Terminal UI Automation need to run?

Going by SKILL.md and its folder, Terminal UI Automation needs the command-line tools its instructions call (npm, pnpm, bun, curl, sh and cargo). Our summary lists: agent-tui installed via npm, cargo or the install script.

Does Terminal UI Automation access the network?

SKILL.md contains no URLs. Its commands use npm and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Terminal UI Automation 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 Terminal UI Automation use?

Terminal UI Automation 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 Terminal UI Automation use?

About 1k tokens (SKILL.md is roughly 4.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.1k tokens, read only when the agent opens those files.

What are the alternatives to Terminal UI Automation?

Skills that share tags, products or a category with Terminal UI Automation: Codex Coding Plugin (styler-ai/ProjectAtlas, 438 stars), Run Shunt (pleaseai/shunt, 251 stars), Warp UI Testing with Computer Use (warpdotdev/warp, 65k stars) and TUI Change Verification for Warp (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Terminal UI Automation?

pproenca (a GitHub user) maintains it in pproenca/agent-tui, which has 118 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 4, 2026.

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