Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add zebbern/icron --skill tmuxgit clone --depth 1 https://github.com/zebbern/icronWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zebbern/icron/tmux)<a href="https://agentmods.dev/skills/zebbern/icron/tmux"><img src="https://agentmods.dev/badge/skills/zebbern/icron/tmux/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zebbern/icron/tmux"><img src="https://agentmods.dev/badge/skills/zebbern/icron/tmux.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00022 | $0.01261 |
| Opus 5.5 | $0.00009 | $0.00504 |
| Sonnet 5.5 | $0.00004 | $0.00252 |
| Haiku 4.5 | $0.00002 | $0.00126 |
Grade A, and why
tmux scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
84% identical to tmux — 16 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.
tmux Skill
Use tmux only when you need an interactive TTY. Prefer exec background mode for long-running, non-interactive tasks.
Quickstart (isolated socket, exec tool)
SOCKET_DIR="${icron_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/icron-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/icron.sock"
SESSION=icron-python
tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'PYTHON_BASIC_REPL=1 python3 -q' Enter
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
After starting a session, always print monitor commands:
To monitor:
tmux -S "$SOCKET" attach -t "$SESSION"
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
Socket convention
- Use
icron_TMUX_SOCKET_DIRenvironment variable. - Default socket path:
"$icron_TMUX_SOCKET_DIR/icron.sock".
Targeting panes and naming
- Target format:
session:window.pane(defaults to:0.0). - Keep names short; avoid spaces.
- Inspect:
tmux -S "$SOCKET" list-sessions,tmux -S "$SOCKET" list-panes -a.
Finding sessions
- List sessions on your socket:
{baseDir}/scripts/find-sessions.sh -S "$SOCKET". - Scan all sockets:
{baseDir}/scripts/find-sessions.sh --all(usesicron_TMUX_SOCKET_DIR).
Sending input safely
- Prefer literal sends:
tmux -S "$SOCKET" send-keys -t target -l -- "$cmd". - Control keys:
tmux -S "$SOCKET" send-keys -t target C-c.
Watching output
- Capture recent history:
tmux -S "$SOCKET" capture-pane -p -J -t target -S -200. - Wait for prompts:
{baseDir}/scripts/wait-for-text.sh -t session:0.0 -p 'pattern'. - Attaching is OK; detach with
Ctrl+b d.
Spawning processes
- For python REPLs, set
PYTHON_BASIC_REPL=1(non-basic REPL breaks send-keys flows).
Windows / WSL
- tmux is supported on macOS/Linux. On Windows, use WSL and install tmux inside WSL.
- This skill is gated to
darwin/linuxand requirestmuxon PATH.
Orchestrating Coding Agents (Codex, Claude Code)
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 122 lines · 22 tokens per session scan A 762ff3d659c7
tmux is a skill published in the GitHub repository zebbern/icron (4 stars, last pushed 8mo ago), licensed MIT. It adds 22 tokens to every session and 1,261 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 84% identical to tmux, differing in 16 lines, and is treated as a copy.
Other skills, from other repositories
kungfu-agent-onboarding
Use when a user asks to understand, start, inspect, extend, or safely operate installed Kungfu; verify the installed pack, select one intent route, personalize the explanation, and propose one smallest safe next action.
cmux
Optional, only for cmux users: tabs, splits, parallel agents, workplace driver, restoring lost workspaces from layout snapshots. Trigger: "new tab", "split pane", "parallel agent", "workspaces lost", "restore cmux layout". Trap: "tab" = surface, not workspace.
bridge-greeting
Context-aware terminal greeting (MOTD) for Bridge instances: renders a per-instance logo, palette, today's calendar and the "Doing" board, resolved from which org folder the terminal opened in. Includes gen-logo.py (ANSI-Shadow generator). Trigger: "/bridge-greeting", "terminal greeting", "motd", "startup logo"…
briefing
Daily briefing from your own profile (workflow/briefings/ .yaml: sections, trackers incl. GitHub/Jira/GitLab/ADO/Linear, inbox rules): inbox first, then steer the day (approve, defer, drop, open agent tabs). /briefing picks a profile. Trigger: "/briefing", "briefing", "good morning", "daily standup", "what needs me"…
mail-draft
Drafts outgoing email and never sends: Markdown to mail-safe HTML themed from DESIGN.md, footers from identity/mail-footers/, occasions from workflow/mail-profiles/, recipients from mandants, preflight checks; Apple Mail, Outlook or .eml. Trigger: "draft an email", "mail to", "email draft", "mail footer", "email…
tmux
Optional, only for tmux users: the workplace driver that lets scripts/workplace.py and the cockpit steer agent tabs in tmux, inside any terminal app (iTerm, Terminal, Ghostty, VS Code). Trigger: "tmux driver", "workplace with tmux", "agent tabs in tmux", "cockpit without cmux".