Skip to content
Back to skills

Cli Control

ASecurity

Verify terminal-hosted CLI or TUI behavior with repeatable local evidence. Use for output, prompts, interactive input, signals, hangs, resizing, startup, exit status, or terminal restoration; not for browser, desktop, or Electron interfaces, which belong to ui-control.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
developmentrust

Works with

  • terminal
  • cli

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add yarlson/yarstack --skill cli-control --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cli Control?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cli Control
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/yarlson-cli-control/badge)](https://www.skillsdirectory.com/skills/yarlson-cli-control)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cli-control
description: Verify terminal-hosted CLI or TUI behavior with repeatable local evidence. Use for output, prompts, interactive input, signals, hangs, resizing, startup, exit status, or terminal restoration; not for browser, desktop, or Electron interfaces, which belong to ui-control.
---

# CLI Control

Gather reproducible evidence from a terminal-hosted interface without changing production behavior.

## Workflow

1. Identify the command, the working directory, the terminal conditions, and the observable contract.
2. Choose the method. Run ordinary output and exit-status checks directly or through the repository's tests. A command run through a pipe has no terminal, and many programs then skip prompts, colors, or line editing, so piped output does not prove terminal behavior. Use a pseudo-terminal for prompts, interactive input, signals, resizing, hangs, or restoration.
3. Bound every run with the host's command timeout or `timeout`, so a hang becomes evidence instead of a stuck session.
4. Prefer an existing trusted harness. Otherwise use `tmux` as the pseudo-terminal:

   ```sh
   tmux new-session -d -s probe -x 120 -y 40
   tmux set-option -t probe remain-on-exit on
   tmux respawn-pane -k -t probe '<command>'
   tmux capture-pane -t probe -p          # read the screen
   tmux send-keys -t probe 'text' Enter   # type; C-c sends SIGINT
   tmux resize-window -t probe -x 80 -y 24
   tmux display -p -t probe '#{pane_dead} #{pane_dead_status}'   # exit status
   tmux kill-session -t probe
   ```

   Wait for a state by polling `capture-pane` for the expected text with a bounded number of attempts, not by fixed sleeps.
5. Drive one action at a time, and capture the smallest transcript or measurement that proves or disproves the behavior.
6. Check interrupts, cleanup, exit status, hangs, and terminal restoration only where they matter to the contract.
7. Clean up only the sessions, processes, and files that this workflow created.

Keep verification read-only unless the parent task separately authorizes implementation. Use `behavior-implement` and `test-design` for fixes or regression tests. Do not send credentials or destructive commands, keep sensitive transcripts, or leave one-off harness code in the repository.

## Result

Report the command and conditions, the observed output and exit status, the evidence, and any blocker or limitation.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.