View Markdown in a tmux Pane
Render a markdown file with the viewmd TUI in a split tmux pane, keeping focus on the current pane.
Steps
Resolve the file.
- If the user gave a path, use it.
- If they named/described content you generated but haven't saved, write it to a file first.
- If nothing was passed, use the conversation: take the most recent substantial markdown-style output you produced (a plan, summary, doc, table, code-heavy answer) and write it verbatim to
/tmp/viewmd-<slug>.md. If the last output wasn't markdown or there's nothing suitable, ask what to view instead of guessing. - Save to a real path when the user wants to keep it, otherwise
/tmp/viewmd-<slug>.md.
Run the helper:
~/.claude/skills/viewmd/viewmd-pane.sh "<file.md>"Report the printed result (which pane it opened/reused) in one sentence. Do not steal focus or read the pane back.
Behavior
- Runs
viewmd <file>in a pane to the right; focus stays where you are. - Target order (all within the caller's window):
- An existing viewmd pane (marked
@viewmd) that is idle or still running viewmd - reused. If that pane has since been used to run your own command, its claim is dropped and it is left alone. - Else an idle sibling pane - a bare shell with nothing running - taken over. Preferring one to the right.
- Else a new pane is split off.
- An existing viewmd pane (marked
- Never touches: the caller's own pane, panes running an app (editor, TUI, another agent), or any shell with a command running - including a previously-marked pane you have reused. Only a bare, idle shell (or our own viewer) is replaced.
- Not in tmux: the script prints the plain
viewmd "<file>"command to run manually instead of splitting.
Notes
viewmdis interactive (quit withq); it must run in its own pane, never inline in this session.- Only pass one file. For a different doc, invoke again.