Back to the catalog

tmux

Remote control tmux sessions for interactive CLIs (python, gdb, etc.) by sending keystrokes and scraping pane output.

Open source Repository Open in the app JSON README (API)

About

Remote control tmux sessions for interactive CLIs (python, gdb, etc.) by sending keystrokes and scraping pane output.

Details

Kind
Agent skills
Topic
Web search, scraping & browser
Publisher
mitsuhiko
Origin
majiayu
Category
ferramentas
Stars
512
Forks
219
Open pull requests
14
Last push
2026-09-04T21:57:10Z
Repository state
ativo
Language
TypeScript
License
Apache-2.0
Added
2026-09-02 18:10:01
Updated
2026-09-02 18:10:01
Origin id
mitsuhiko/agent-stuff/skills/tmux@main

README

# Agent Stuff

Armin's personal [Pi Coding Agent](https://buildwithpi.ai/) package: reusable skills, extensions, prompt commands, themes, and a few supporting utilities that I use across projects.

The package is published to npm as [`mitsupi`](https://www.npmjs.com/package/mitsupi). The Pi package manifest in [`package.json`](package.json) exports:

- [`extensions`](extensions) as Pi extensions
- [`skills`](skills) as agent skills
- [`themes`](themes) as Pi themes
- [`commands`](commands) as prompt commands

Most items are tuned for my workflow and environment, so expect to adjust paths, credentials, or defaults before reusing them elsewhere.

## Prompt Commands

Prompt commands live in [`commands`](commands):

- [`/discuss`](commands/discuss.md) - Planning interviewer mode. It inspects the project first, asks focused questions in short rounds, and stops once the plan is clear enough to implement.

## Skills

Skills live in [`skills`](skills). Each skill has a `SKILL.md` plus any helper scripts it needs.

- [`/anachb`](skills/anachb) - Query Austrian public transport via VOR AnachB: station search, real-time departures, routes, and disruptions.
- [`/apple-mail`](skills/apple-mail) - Search and read Apple Mail's local storage, including raw messages and attachment extraction.
- [`/commit`](skills/commit) - Guidance for making concise git commits with good subjects and bodies.
- [`/frontend-design`](skills/frontend-design) - Create distinctive, production-ready frontend UI with strong visual direction.
- [`/ghidra`](skills/ghidra) - Run Ghidra headless analysis for binaries, functions, strings, symbols, call graphs, and decompilation.
- [`/github`](skills/github) - Use the `gh` CLI for GitHub issues, pull requests, runs, and API queries.
- [`/google-workspace`](skills/google-workspace) - Access Drive, Docs, Calendar, Gmail, Sheets, Slides, Chat, and People APIs through local helper scripts.
- [`/librarian`](skills/librarian) - Cache and refresh remote git repositories under `~/.cache/checkouts/<host>/<org>/<repo>`.
- [`/native-web-search`](skills/native-web-search) - Trigger native web search with concise summaries and source URLs.
- [`/oebb-scotty`](skills/oebb-scotty) - Plan Austrian rail journeys and check ÖBB Scotty station departures, arrivals, trips, and disruptions.
- [`/openscad`](skills/openscad) - Create/render OpenSCAD models, preview angles, extract parameters, validate syntax, and export STL files.
- [`/pi-share`](skills/pi-share) - Fetch and parse shared Pi session transcripts from pi-share URLs.
- [`/sentry`](skills/sentry) - Fetch and analyze Sentry issues, events, transactions, and logs.
- [`/summarize`](skills/summarize) - Convert URLs or local documents to Markdown with `uvx markitdown`, optionally summarizing them.
- [`/tmux`](skills/tmux) - Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
- [`/update-changelog`](skills/update-changelog) - Guidance for updating changelogs with notable user-facing changes.
- [`/uv`](skills/uv) - Prefer `uv` for Python projects, scripts, dependencies, and builds.
- [`/web-browser`](skills/web-browser) - Automate Chrome/Chromium through the Chrome DevTools Protocol.

## Extensions

Pi extensions live in [`extensions`](extensions):

- [`answer.ts`](extensions/answer.ts) - `/answer` plus `ctrl+.` to extract questions from the last assistant message and answer them in an interactive Q&A flow.
- [`btw.ts`](extensions/btw.ts) - `/btw` side-chat popover for quick tangential questions, with thread restore/reset behavior.
- [`continue.ts`](extensions/continue.ts) - `shift+option+enter` sends `continue` only when the agent is stopped.
- [`control.ts`](extensions/control.ts) - Session control sockets, `/control-sessions`, and the `send_to_session` / `list_sessions` tools for communicating with other live Pi sessions.
- [`files.ts`](extensions/files.ts) - `/files` browser with git status and session references, plus shortcuts to browse, reveal, and Quick Look referenced files.
- [`goal.ts`](extensions/goal.ts) - `/goal` long-running objective mode with automatic continuation and the `get_goal`, `create_goal`, and `update_goal` tools.
- [`unified-edit.ts`](extensions/unified-edit.ts) - Replaces `edit` with a single text payload supporting marked row edit scripts and Codex-style patches with preflight validation.
- [`no-sleep.ts`](extensions/no-sleep.ts) - `/no-sleep` macOS `caffeinate` integration to prevent sleep while an agent or session is active.
- [`notify.ts`](extensions/notify.ts) - Native terminal desktop notification when the agent finishes and is ready for input.
- [`prompt-editor.ts`](extensions/prompt-editor.ts) - `/mode`, `ctrl+shift+m`, and `ctrl+space` prompt-mode selector with persistence and shortcuts.
- [`review.ts`](extensions/review.ts) - `/review` and `/end-review` for reviewing uncommitted changes, branches, commits, PRs, or folder snapshots.
- [`session-breakdown.ts`](extensions/session-breakdown.ts) - `/session-breakdown` TUI for 7/30/90-day session usage, token, model, and cost analysis.
- [`split-fork.ts`](extensions/split-fork.ts) - `/split-fork` to branch the current session into a new Pi process in a right-hand Ghostty split.
- [`subagent.ts`](extensions/subagent.ts) - Serial `subagent` tool that runs one observable Pi child at a time in tmux; attach with the printed `pi --attach-subagent …` command.
- [`todos.ts`](extensions/todos.ts) - `/todos` TUI plus `todo` tool for file-backed tasks in `.pi/todos` or `PI_TODO_PATH`.
- [`trust-github-repos.ts`](extensions/trust-github-repos.ts) - Automatically trusts GitHub checkouts owned by `earendil-works` or `mitsuhiko`.
- [`uv.ts`](extensions/uv.ts) - Replaces the bash tool with a `uv`-aware version that injects Python command shims and blocks common non-`uv` workflows.
- [`whimsical.ts`](extensions/whimsical.ts) - Replaces the default thinking/status text with random whimsical phrases.

## Themes

Custom themes live in [`themes`](themes):

- [`dayowl.json`](themes/dayowl.json) - Light Day Owl-inspired theme.
- [`modern-dark.json`](themes/modern-dark.json) - Dark orange/blue-gray theme.
- [`nightowl.json`](themes/nightowl.json) - Night Owl-inspired theme.

## Support Files and Utilities

- [`intercepted-commands`](intercepted-commands) - Shell shims for `pip`, `pip3`, `poetry`, `python`, and `python3`. These are used by [`extensions/uv.ts`](extensions/uv.ts) to nudge agents toward `uv`.
- [`analyze-edits.py`](analyze-edits.py) - `uv run` script for analyzing `edit` tool usage in Pi session JSONL files.
- [`.github/workflows/npm-publish.yml`](.github/workflows/npm-publish.yml) - Publishes the npm package on semver tags when the tag matches `package.json`.

## Development

Install dependencies with npm:

```sh
npm install
```

Release notes for this repository are in [`CHANGELOG.md`](CHANGELOG.md). The package currently relies on Pi to load TypeScript extensions directly from the paths declared in [`package.json`](package.json).

More