foxctl-tmux

Route collaborative room traffic across tmux and zellij panes with deterministic headers.

3|Updated Apr 14, 2026
One-click install
npx skills add https://github.com/joshka0/foxctl --skill foxctl-tmux
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: foxctl-tmux
Source: https://github.com/joshka0/foxctl/tree/main/configs/skills-pack/foxctl-tmux
Command: npx skills add https://github.com/joshka0/foxctl --skill foxctl-tmux

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

foxctl-tmux resolves confusion during collaborative agent sessions by mapping legacy room viewing and tmux mux commands to the current room viewer layer, ensuring operators route room traffic correctly across tmux/zellij panes.

Core Features & Use Cases

  • Compatibility alias: Treat foxctl-tmux as the historical entry point while steering users to the current foxctl-room-view and foxctl-room-agent skills for viewer and participant behavior, respectively.
  • Correct pane binding: Clarifies that zellij or tmux panes must be explicitly bound to room membership (not inferred from shared session names), including repair flows via rebind when panes move.
  • Stable message format: Enforces a deterministic header format for send operations so replies remain parseable and human-readable without relying on fragile prose.
  • Safe context promotion guidance: Recommends promoting derived facts only (e.g., via ContextWiki/Obsidian flow) rather than raw pane dumps after reviewing tmux exchanges.

Use case: you reopen an existing zellij session and need to ensure each pane is properly joined to the correct room/role so agents can exchange messages and produce durable knowledge reliably.

Quick Start

Ask foxctl-tmux to show the correct pane-to-room binding steps for your current tmux or zellij setup and how to send a review message using the tmux-bridge format.

Frequently Asked Questions about foxctl-tmux

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I bind tmux or zellij panes to a specific agent room?

To bind panes to a specific agent room, you must explicitly assign room membership using designated variables rather than inferring it from shared session names. This ensures agents can correctly route collaborative traffic and exchange messages reliably.

Why are my agent messages not routing correctly across tmux panes?

Agent messages fail to route correctly across tmux panes when deterministic send header formatting is missing or pane bindings are broken. You need to enforce consistent message headers and run explicit pane join checks to restore parseable traffic.

Can I use a shared tmux session name to infer room membership for agents?

No, you cannot use a shared tmux session name to infer room membership. Panes must be explicitly bound to room roles using ROOM, ACTOR, ROLE, PANE, and SESSION variables to ensure correct message delivery and agent orchestration.

What is the best way to repair pane bindings when reopening an existing zellij session?

The best way to repair pane bindings in an existing zellij session is to run explicit rebind checks based on session variables. This restores correct routing for collaborative room traffic if panes have moved or detached.

How do I save tmux agent interactions to a durable knowledge base?

To save tmux agent interactions durably, you should promote derived facts only through a ContextWiki or Obsidian flow rather than storing raw pane dumps. This filters relevant information after reviewing tmux exchanges for reliable knowledge retention.

Does foxctl-tmux work with zellij for multi-agent orchestration?

Yes, foxctl-tmux works with zellij by providing a legacy compatibility layer that maps historical mux commands to the current room viewer layer. It ensures collaborative room traffic routes correctly across both tmux and zellij panes.