Interact with tmux-based TDD environments. Use when running tests in tmux panes, checking test output, parsing test failures, or orchestrating TDD workflows. Works with any language (Rust, Python, JavaScript, Go, etc). Read test output directly from tmux panes.
/plugin marketplace add ianphil/my-skills/plugin install all-skills@ian-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Orchestrate Test-Driven Development in a tmux environment by reading test output directly from panes. Language agnostic.
┌────────────────┬────────────────┐
│ │ │
│ Pane 0.0 │ Pane 0.1 │
│ Claude Code │ Test Runner │
│ │ │
└────────────────┴────────────────┘
Capture output directly from the test pane:
tmux capture-pane -t 0.1 -p -S -50
Options:
-t 0.1: Target pane (test runner)-p: Print to stdout-S -50: Last 50 lines (use -S - for full history)Look for pass/fail patterns based on the language:
Rust (cargo test):
test result: ok. 6 passed; 0 failed
test result: FAILED. 4 passed; 2 failed
error[E0425]: cannot find value `x` in this scope
Python (pytest):
6 passed in 0.12s
2 failed, 4 passed in 0.15s
FAILED tests/test_app.py::test_add - AssertionError
E assert 4 == 5
JavaScript (jest/vitest):
Tests: 6 passed, 6 total
Tests: 2 failed, 4 passed, 6 total
FAIL src/app.test.js
✕ should add numbers (5 ms)
Go (go test):
ok mypackage 0.005s
FAIL mypackage 0.005s
--- FAIL: TestAdd (0.00s)
app_test.go:10: expected 5, got 4
Edit the source files to fix failures. If using a watch mode, tests will automatically re-run.
Wait for tests to re-run, then capture pane again:
tmux capture-pane -t 0.1 -p -S -30
# Run command in test pane
tmux send-keys -t 0.1 "your-test-command" C-m
# Stop running process
tmux send-keys -t 0.1 C-c
| Language | Watch Mode | Single Run |
|---|---|---|
| Rust | cargo watch -x test | cargo test |
| Python | ptw or pytest-watch | pytest |
| JavaScript | jest --watch or vitest | jest or npm test |
| Go | gotestsum --watch | go test ./... |
| Ruby | guard | rspec |
| Task | Command |
|---|---|
| Read test output | tmux capture-pane -t 0.1 -p -S -50 |
| Full history | tmux capture-pane -t 0.1 -p -S - |
| Send command | tmux send-keys -t 0.1 "command" C-m |
| Stop process | tmux send-keys -t 0.1 C-c |
| List panes | tmux list-panes |
Always check test status before and after making changes.
Empty pane output?
tmux capture-pane -t 0.1 -p -S -5Can't connect to pane?
tmux list-sessionstmux list-panes