Back to list
ianphil

tmux-tdd

by ianphil

0🍴 0📅 Jan 18, 2026

SKILL.md


name: tmux-tdd description: 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.

tmux TDD Skill

Orchestrate Test-Driven Development in a tmux environment by reading test output directly from panes. Language agnostic.

Environment Layout

┌────────────────┬────────────────┐
│                │                │
│   Pane 0.0     │   Pane 0.1     │
│   Claude Code  │   Test Runner  │
│                │                │
└────────────────┴────────────────┘
  • Pane 0.0: Claude Code (where you are)
  • Pane 0.1: Test runner (cargo watch, pytest, jest, go test, etc.)

Instructions

Step 1: Check Current Test Status

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)

Step 2: Parse Test Results

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

Step 3: Make Code Changes

Edit the source files to fix failures. If using a watch mode, tests will automatically re-run.

Step 4: Verify Fix

Wait for tests to re-run, then capture pane again:

tmux capture-pane -t 0.1 -p -S -30

Step 5: Send Commands to Test Pane (if needed)

# 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

Common Test Commands by Language

LanguageWatch ModeSingle Run
Rustcargo watch -x testcargo test
Pythonptw or pytest-watchpytest
JavaScriptjest --watch or vitestjest or npm test
Gogotestsum --watchgo test ./...
Rubyguardrspec

Quick Reference

TaskCommand
Read test outputtmux capture-pane -t 0.1 -p -S -50
Full historytmux capture-pane -t 0.1 -p -S -
Send commandtmux send-keys -t 0.1 "command" C-m
Stop processtmux send-keys -t 0.1 C-c
List panestmux list-panes

TDD Workflow

  1. RED: Write a failing test, verify it fails via pane capture
  2. GREEN: Write minimal code to make it pass
  3. REFACTOR: Clean up while keeping tests green

Always check test status before and after making changes.

Troubleshooting

Empty pane output?

  • Test runner may not be running
  • Check: tmux capture-pane -t 0.1 -p -S -5
  • Restart the test watcher in pane 0.1

Can't connect to pane?

  • Verify tmux session exists: tmux list-sessions
  • List panes: tmux list-panes

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon