← ClaudeAtlas

tmuxlisted

Use interactive CLIs (git, python, gdb, etc.) with tmux by sending keystrokes and scraping pane output.
richardkmichael/claude-rodin · ★ 0 · Web & Frontend · score 75
Install: claude install-skill richardkmichael/claude-rodin
# tmux Skill Use tmux as a programmable terminal multiplexer for interactive work. The "Base directory for this skill" path (shown at load time) is needed to run scripts. Use it to construct absolute paths for all script calls. ## Quickstart Always pass `-i ${CLAUDE_SESSION_ID}` when starting sessions. ```bash # Start a server for a purpose (returns JSON with socket/session/target/log) $SKILL_DIR/scripts/start-session.sh -i ${CLAUDE_SESSION_ID} -s python # {"socket": "claude/<id>/python", "session": "claude-python-<id>", "target": "...", "log": "..."} # Send a command and wait for expected output $SKILL_DIR/scripts/send-and-wait.sh -L $SOCKET -t $TARGET -c 'python -q' -p '>>>' -l # Each purpose gets its own server $SKILL_DIR/scripts/start-session.sh -i ${CLAUDE_SESSION_ID} -s git ``` A PostToolUse hook automatically shows the user the log path (and monitor command if `--monitor` was not used) after `start-session.sh` runs. Pass `--monitor` to open an Alacritty window attached to the server. Use `--monitor` when the user asks to watch or says "show me". Do not use it by default. ## Architecture Each `-s` call creates an isolated tmux server via `-L claude/<session-id>/<name>`. Sockets are stored in tmux's default directory (usually `/tmp/tmux-<uid>/`). - Pass `--monitor` to open an Alacritty monitoring window for the server - Stopping a server closes its Alacritty window naturally - All pane output is automatically logged to `${TMPDIR:-/tmp}/claude-tmux-logs/` - Us