一键导入
tmux-cli-testing
Test interactive CLI applications using tmux sessions. Simple shell script helper for testing terminal apps.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Test interactive CLI applications using tmux sessions. Simple shell script helper for testing terminal apps.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generate a standalone HTML report from a markdown file with d2 diagrams, SVGs, and syntax-highlighted code blocks. Use when the user asks for a report, a visual writeup, or a document with diagrams.
Interact with GitLab REST API using GITLAB_TOKEN - use for TODOs, repositories, CI/pipelines, MRs, issues, and other API queries
GitLab Development Kit is a folder and set of utilities that contain most of the GitLab production systems. This skill is useful for testing with local GitLab deployment and when researching how feature works in the GitLab monolith, AIGW, workhorse and other services
CRUD GitLab issues,MRs,pipelines,jobs,epics,issue comments
my projects — gitlab namespace and ID, where they live on the local drive. Use whenever a question references a project by name, alias, or path, or when you need to locate a repo locally. Keywords - project, repo, where does X live, local path, gitlab-lsp, glab, cli, vscode extension, note, task, duo cli, dotfiles.
code changes review, use this skill any time I ask you to review a change
| name | tmux-cli-testing |
| description | Test interactive CLI applications using tmux sessions. Simple shell script helper for testing terminal apps. |
Test any interactive CLI app using tmux sessions and shell scripts.
#!/usr/bin/env bash
source ./scripts/tmux_test_helper.sh
trap cleanup_test EXIT
# Start app
start_test "your-command" "arg1" "arg2"
# Wait for ready state
wait_for "expected pattern" 30
# Interact
send_line "input text"
send_key enter
# Verify
output=$(get_output)
echo "$output" | grep "expected result"
# Cleanup (automatic via trap)
start_test [--cwd DIR] COMMAND [ARGS...] - Start app in tmux session (optionally in DIR)cleanup_test - Kill session (use with trap cleanup_test EXIT)is_session_alive - Check if session is runningattach_session - Debug interactively (Ctrl+B then D to detach)send_line TEXT - Send text + Entersend_text TEXT - Send text without Entersend_key KEY - Send special key (enter, escape, tab, up, down, left, right, ctrl-c, ctrl-d, etc.) or any single printable character (?, /, @, etc.)get_output - Get visible terminal output (ANSI codes stripped)get_full_output - Get full scrollback output (includes content that scrolled off screen)get_raw_output - Get output with ANSI codes (for color testing)wait_for PATTERN [TIMEOUT] - Wait for pattern to appear (default 30s timeout)wait_for_absent PATTERN [TIMEOUT] - Wait for pattern to disappear (useful for spinners/loading states)list_test_sessions - Show active test sessionskill_all_test_sessions - Clean up orphaned sessionslog_info MSG, log_success MSG, log_error MSG, log_warn MSG - Logging#!/usr/bin/env bash
source ./scripts/tmux_test_helper.sh
trap cleanup_test EXIT
start_test "duo"
wait_for "Type your message here" 40
send_line "What is 2+2?"
wait_for "Duo is thinking" 5
sleep 5
output=$(get_output)
if echo "$output" | grep -q "4"; then
log_success "Duo answered correctly"
fi
When tests fail:
attach_session # See live terminal
get_output | less # Scroll through output
Timeout errors automatically show current terminal output for debugging.