Agent skill
cli-tmux
Use tmux to run and test our interactive CLI/TUI end-to-end. Includes how to start, send keys, capture output, and cleanly stop (double Ctrl+C).
Install this agent skill to your Project
npx add-skill https://github.com/nibzard/skills-kit/tree/main/skills/tmux/skills/tmux
SKILL.md
cli-tmux skill: run & test the CLI using tmux
Use this skill when
- The user asks to test the CLI end-to-end and it is interactive (TUI prompts, key navigation).
- A command needs a real TTY or long-running process (dev server) that should keep running while we do other tasks.
Golden rules
- Prefer
scripts/tmuxctl.shover raw tmux commands for repeatability. - Use an isolated tmux server socket so we don't interfere with the user's real tmux sessions.
- Use a predictable session name:
agent-cli. - Always capture pane output after each interaction and summarize it before proceeding.
- Always clean up: stop the TUI and kill the session at the end (unless the user wants it left running).
tmuxctl.sh wrapper (preferred)
Prefer scripts/tmuxctl.sh over raw tmux commands for repeatability:
scripts/tmuxctl.sh start- Create new tmux sessionscripts/tmuxctl.sh run ./bin/ourcli- Run command in the sessionscripts/tmuxctl.sh keys Down Down C-m- Send keystrokesscripts/tmuxctl.sh capture- Capture pane outputscripts/tmuxctl.sh stop- Stop the TUI (double Ctrl+C)scripts/tmuxctl.sh kill- Kill the session
Our CLI/TUI specifics
- To exit the TUI, send double Ctrl+C:
C-cthenC-c. - If double Ctrl+C doesn't exit, fallback to killing the tmux pane/session.
Standard tmux setup (isolated socket)
- Socket path:
.tmp/tmux-agent.sock - Session:
agent-cli - Pane target:
agent-cli:0.0
Create session (if missing)
- Ensure
.tmp/exists. - Start detached session in repo root:
tmux -S .tmp/tmux-agent.sock new-session -d -s agent-cli -c "$PWD"
Start the CLI
- Send the run command (replace with our real command):
- Example:
./bin/ourcliORpnpm ourcliORgo run ./cmd/ourcli
- Example:
- Use:
tmux -S .tmp/tmux-agent.sock send-keys -t agent-cli:0.0 "<COMMAND HERE>" C-m
Interact
- Send keys as needed:
- Enter:
C-m - Up/Down:
Up/Down - Quit:
C-c C-c(double)
- Enter:
Capture output (after each step)
tmux -S .tmp/tmux-agent.sock capture-pane -t agent-cli:0.0 -p
End-to-end CLI test recipe
- Start session (or reuse if running).
- Launch CLI command.
- Capture initial screen and confirm expected prompt/state.
- Perform the requested flows (send keys + capture after each step).
- Exit TUI with
C-c C-c, capture output to confirm exit. - Kill session (unless user asked to keep it).
Cleanup
- Preferred:
- Send
C-c C-c, thentmux ... kill-session -t agent-cli
- Send
- If tmux is wedged:
tmux -S .tmp/tmux-agent.sock kill-server
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
brand-illustrator
Generate Builder Methods hand-drawn line art illustrations (icons, scenes, periphery) with a single accent color (Coral/Teal/Indigo/Amber). Use for blog headers, thumbnails, course graphics, social posts, and on-brand UI/tech metaphors.
brand-illustrator
Generate Builder Methods hand-drawn line art illustrations (icons, scenes, periphery) with a single accent color (Coral/Teal/Indigo/Amber). Use for blog headers, thumbnails, course graphics, social posts, and on-brand UI/tech metaphors.
pentest-toolkit
AI-Powered Security Testing Toolkit - Professional penetration testing scripts for discovering vulnerabilities, analyzing application structure, and generating context-aware security tests. All scripts return structured JSON for agent consumption.
pentest-toolkit
AI-Powered Security Testing Toolkit - Professional penetration testing scripts for discovering vulnerabilities, analyzing application structure, and generating context-aware security tests. All scripts return structured JSON for agent consumption.
marimo
Assistant for creating, editing, and debugging reactive Python notebooks with marimo. Use when you need to build marimo notebooks, debug reactive execution, add interactive UI elements, or convert traditional notebooks to marimo format. Provides code patterns, utility functions, and best practices for marimo development.
marimo
Assistant for creating, editing, and debugging reactive Python notebooks with marimo. Use when you need to build marimo notebooks, debug reactive execution, add interactive UI elements, or convert traditional notebooks to marimo format. Provides code patterns, utility functions, and best practices for marimo development.
Didn't find tool you were looking for?