ainb-fleetdaemon

Solid

Long-running watcher that scans every claude session every 5s and auto-sends `continue` to any session whose recent tmux pane buffer matches a known API-error regex (rate_limited, overloaded_error, internal_server_error, request_timeout, socket_hang_up, fetch_failed, ECONNRESET). Use this when you want unattended recovery from transient API failures across the fleet.

AI & Automation 18 stars 6 forks Updated today MIT

Install

View on GitHub

Quality Score: 78/100

Stars 20%
43
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# ainb fleet:daemon > **Superseded by [`/ainb-fleet:atc`](../atc/SKILL.md) for managed fleets.** ATC > absorbs this daemon's job — its ERR playbook does the same auto-`continue`, but > **with a per-session retry cap + escalate-on-exhaustion** that this daemon > lacks (see the sharp edge below). Prefer `ainb fleet atc setup <name>` for > unattended supervision. The daemon stays for unmanaged one-off recovery; do > **not** run it against sessions an ATC instance already manages — they race. Background watcher. Reads each session's tmux pane (`capture-pane`) and auto-continues sessions hitting API errors via `tmux send-keys`. It does **not** register as a peer — it is purely tmux-driven (broker health is checked only to print an informational line). ## Run ```bash ainb fleet daemon # quiet ainb fleet daemon --verbose # log every detection + send ``` For real background use: ```bash nohup ainb fleet daemon --verbose > ~/.ainb-fleet.log 2>&1 & ``` ## What it does each tick (every 5s) 1. Re-discover all sessions (ainb + peers + jobs, merged + deduped). 2. For each tmux-bearing session: `tmux capture-pane -p -S -80` (last 80 lines). 3. Run the API-error regex set over the buffer. 4. If a match fires AND the (session_id, pattern, snippet-tail) dedupe key hasn't been seen yet → send `continue` to that session via the standard route (tmux-first by default — see `AINB_FLEET_TRANSPORT`). ## Detected error patterns | name | regex | |---|---| | `...

Details

Author
stevengonsalvez
Repository
stevengonsalvez/agents-in-a-box
Created
1 years ago
Last Updated
today
Language
Rust
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

ainb-fleet

Fleet orchestration overview — the `ainb fleet ...` Rust subcommand namespace for driving every claude session on the host. Routes to the sub-skills (standup / broadcast / sequence / needs / daemon / atc). Invoke this for an at-a-glance map of what fleet can do; reach for the specific sub-skill for the verb you want.

18 Updated today
stevengonsalvez
AI & Automation Solid

ainb-fleetatc

ATC (Air Traffic Control) — the persistent orchestrating brain of the fleet. A plain `ainb` Claude session running a generated CLAUDE.md policy, woken on an OS-timer heartbeat (default 15 min) built from the LLM-free `fleet needs` read — which is itself HOOKS-PRIMARY (event-sourced): ATC learns ASK/WAIT/IDLE from the materialized `current_state` table, not by scraping panes, with a tmux fallback for non-Claude agents. `atc setup` installs the global Claude Code hooks into ~/.claude/settings.json. It auto-clears the safe/blocked sessions via the fleet verbs (confident ASK → broadcast; ERR → continue within a retry cap) and escalates the uncertain ones to the phone bridge. Supersedes the `daemon` skill for managed fleets. Use to provision / inspect / tear down an ATC instance.

18 Updated today
stevengonsalvez
AI & Automation Solid

ainb-fleetdaemons

Runtime-health view of the four fleet daemons — phone bridge, notifyd, ATC, and the fleet auto-continue daemon — in one table. Each row reports state (running / stopped / unknown), pid, uptime, last activity, error count, and a HEALTH reason that distinguishes a clean stop from a crash (stale heartbeat) or a pid-recycle. Use this when you need to answer "are my background daemons actually alive?" — not just installed, but serving. Default output: a fixed-width text table. Pass --format json for tooling.

18 Updated today
stevengonsalvez