plugins/tmux-tools/skills/tmux-aware/SKILL.md
This skill should be used when the user asks to "start a service in tmux", "check tmux pane output", "manage background processes", or "run a server in a pane". Automatically activates when running in a TMUX session (detected by SessionStart hook). Not for one-off commands that do not need a persistent pane.
npx skillsauth add sjungling/sjungling-claude-plugins tmux-awareInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When running inside a TMUX session, manage services in dedicated panes without cluttering the current view. All Claude-created panes go in a dedicated "claude-controlled" window.
For the visual workflow diagram, see ./references/workflow.mmd.
When the user asks to start a service (e.g., "start the API server"):
# List windows, look for claude-controlled
tmux list-windows -F '#{window_index}:#{window_name}' | grep ':claude-controlled$'
# Create the claude-controlled window
tmux new-window -n "claude-controlled"
# If claude-controlled window already has panes, split it
tmux split-window -t claude-controlled -v
# Name the pane after the service
tmux select-pane -t claude-controlled -T "api-server"
tmux send-keys -t "claude-controlled:0.api-server" "npm run dev" Enter
sleep 2
tmux capture-pane -t "claude-controlled:0.api-server" -p -S -20
Check the output for errors. Report success or detected issues.
claude-controlled (all Claude-created panes go here)api-server, redis, vite-dev, postgres)When the user asks to interact with a process (e.g., "check the redis logs"):
tmux list-panes -a -F '#{window_name}:#{pane_index}:#{pane_title}'
Look for exact or partial match (e.g., "redis" matches pane titled "redis" or "redis-server").
Interact with it:
# Capture output
tmux capture-pane -t "window:pane" -p -S -50
# Send command (e.g., restart)
tmux send-keys -t "window:pane" C-c # Stop first
tmux send-keys -t "window:pane" "redis-server" Enter # Restart
List available panes and ask:
I couldn't find a pane named 'redis'. Here's what I see:
- [0:main] pane 0: "zsh"
- [1:dev] pane 0: "vim"
- [2:claude-controlled] pane 0: "api-server"
Which one should I use, or should I create a new one?
Use capture-pane to read recent output:
# Last 50 lines
tmux capture-pane -t "pane-target" -p -S -50
# Last 100 lines (for more context)
tmux capture-pane -t "pane-target" -p -S -100
After sending commands, capture output and look for common error patterns:
Error:, ERROR, error:Exception, exceptionFailed, FAILED, failedCannot, cannotReport issues proactively: "Started the server but detected an error: [snippet]"
# Send Ctrl+C to stop
tmux send-keys -t "pane-target" C-c
# Verify it stopped
sleep 1
tmux capture-pane -t "pane-target" -p -S -10
When running multiple services:
-v) for side-by-side logstmux select-layout -t claude-controlled even-vertical to rebalanceFor the full command reference (window/pane management, sending commands, capturing output, target syntax), see ./references/commands.md.
User: "Start a Redis server"
tmux split-window -t claude-controlled -vtmux select-pane -T "redis"tmux send-keys -t "claude-controlled:redis" "redis-server" Entersleep 2 && tmux capture-pane -t "claude-controlled:redis" -p -S -20User: "Check if Redis is still running"
tmux capture-pane -t "claude-controlled:redis" -p -S -30git status, ls)When the user's task is complete:
tmux kill-window -t claude-controlleddevelopment
This skill should be used when the user asks to "write a README", "create API documentation", "draft release notes", "write a tutorial", "structure documentation", or "review docs for clarity". Automatically activates when working with .md files in docs/ directories, README files, or when discussing documentation structure, style guides, or content organization. Not for creative/marketing writing, academic papers, code comments/docstrings, or internal chat.
testing
This skill should be used when the user asks to "generate a PDF from markdown", "create a printable book", "convert documentation to PDF", or "export chapters as a PDF". Automatically activates when producing a PDF from a directory of ordered markdown chapters using pandoc and weasyprint. Not for single-file markdown-to-PDF conversion or non-documentation use cases.
documentation
This skill should be used when the user asks to "manage Obsidian vault", "create a daily note", "move notes without breaking links", "search vault content", or "organize Obsidian notes". Automatically activates when working with Obsidian vaults, markdown notes with [[wiki-links]], daily notes, templates, or tags. Not for general markdown editing outside Obsidian vaults.
development
This skill should be used when the user asks to "build an iOS app", "create a SwiftUI view", "fix Xcode build errors", "implement Core Data", "design app architecture", or "optimize Swift performance". Automatically activates when working with .swift files, Xcode projects (.xcodeproj, .xcworkspace), SwiftUI interfaces, or Apple platform frameworks (UIKit, Core Data, Combine, WidgetKit, App Intents). Not for cross-platform frameworks (React Native, Flutter), non-Apple platforms, or backend server development.