agentleFS
lordmaculordmacu/nexo-rs/skills/tmux/SKILL.md

tmux

Skill8 starsChanged 7 months agoApache-2.0View on GitHub

Run long-lived commands in detached tmux sessions; send keys; scrape pane output.

69 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use taskflow-inbox-triage, session-logs and 8 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • AtomicBot-aiSkill

    taskflow-inbox-triage

    Also in 6 projects that use this

  • seedprodSkill

    session-logs

    Search and analyze your own session logs (older/parent conversations) using jq.

    Also in 20 projects that use this

  • seedprodSkill

    voice-call

    Start voice calls via the OpenClaw voice-call plugin.

    Also in 18 projects that use this

  • jiulingyunSkill

    BlueBubbles

    为Clawdbot构建或更新BlueBubbles外部通道插件(扩展包,REST发送/探测,webhook入站)。

    Also in 16 projects that use this

  • hkyutongSkill

    openclaw-release-maintainer

    Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.

    Also in 4 projects that use this

  • jiulingyunSkill

    SAG

    具有mac风格say用户体验的ElevenLabs文本转语音。

    Also in 21 projects that use this

  • +4 more from seedprod

The file

We split this skill into the rules it gives an agent

3 rules. 0 are common, 1 is distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 64 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when a command would block the agent loop: dev servers, builds, watchers, SSH sessions, interactive tools.

    line 11
  2. Very specific:

    Use short session names (build, watch-42) — makes operator inspection clean (tmux -S <sock> attach -t build).

    line 55
  3. Very specific:

    After send_keys, wait at least 200–500ms before capture_pane so the pane buffer has the response.

    line 57

“Common” is measured: kept by at least 6 in 10 of the 64 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

tmux

Use this skill when a command would block the agent loop: dev servers, builds, watchers, SSH sessions, interactive tools. The agent creates a detached session, feeds it keystrokes over time, and reads back whatever is visible in the pane.

Use when

  • "Start the build in background and tell me when it's done"
  • "Run the dev server and check for errors every 30s" (pair with heartbeat)
  • "Tail this log" (periodic capture_pane)
  • Interactive CLIs that need stdin (migrations, wizards)

Do not use when

  • A one-shot command — use a normal shell tool if you add one
  • You need PTY reattach / interactive human control
  • Running untrusted code — the session inherits the agent's own shell env

Tools

status

Returns bin path and socket location. Useful to confirm the extension is alive.

new_session { name, command? }

Creates detached session. Names are [A-Za-z0-9_-]{1,64} — anything else returns -32602. Initial command is optional.

send_keys { session, keys, enter? }

Sends literal keys. enter defaults true (appends Enter). Useful for feeding password prompts, REPL input, etc.

capture_pane { session, lines? }

Reads the last N lines of the active pane (1..2000, default 200). Returns one big string under output.

list_sessions

Returns [{name, created_unix, windows}, ...]. Empty when the server isn't running (not an error).

kill_session { session }

Terminates the session. Idempotent-ish: calling twice errors on the second.

Execution guidance

  • Use short session names (build, watch-42) — makes operator inspection clean (tmux -S <sock> attach -t build).
  • After send_keys, wait at least 200–500ms before capture_pane so the pane buffer has the response.
  • capture_pane gives you visible text — ANSI escapes included. If the user only wants "did the build succeed?", grep for strings rather than dumping the whole buffer into the prompt.
  • Kill old sessions explicitly: tmux doesn't auto-reap.
  • The socket lives at $TMUX_REMOTE_SOCKET (default /tmp/agent-rs-tmux.sock); operator can tail with tmux -S /tmp/agent-rs-tmux.sock ls.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.