Skip to content
Back to skills

Ainb Fleet

ASecurity

Fleet orchestration overview — the `ainb fleet ...` Rust subcommand namespace for driving every claude session on the host. Routes to the sub-skills (ainb-spawn / 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.

  • 23 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 3, 2026
ai-agentsrustgoshellbashsql

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add stevengonsalvez/claudecode-bootstrap --skill ainb-fleet --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ainb Fleet?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ainb Fleet
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/stevengonsalvez-ainb-fleet/badge)](https://www.skillsdirectory.com/skills/stevengonsalvez-ainb-fleet)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ainb-fleet
description: |
  Fleet orchestration overview — the `ainb fleet ...` Rust subcommand
  namespace for driving every claude session on the host. Routes to the
  sub-skills (ainb-spawn / 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.
version: "0.1.0"
user-invocable: true
triggers:
  - ainb-fleet
  - fleet
  - jarvis
  - control plane
  - multi-session orchestration
allowed-tools:
  - Bash
---

# ainb fleet — overview

Single Rust binary (`ainb`) provides orchestration verbs across every
claude session running on this host. Each verb has its own colon-namespaced
sub-skill with focused docs.

## Verbs

| sub-skill | what it does |
|---|---|
| [`/ainb-fleet:ainb-spawn`](../ainb-spawn/SKILL.md) | Spawn a session correctly with `ainb run` (always into a worktree, and the `--parent` shapes that silently misfire) |
| [`/ainb-fleet:standup`](../standup/SKILL.md) | List every claude session — merged across ainb · peers · bg jobs |
| [`/ainb-fleet:broadcast`](../broadcast/SKILL.md) | Send one prompt to selected sessions |
| [`/ainb-fleet:sequence`](../sequence/SKILL.md) | Ordered multi-step prompts, ack-gated between steps |
| [`/ainb-fleet:needs`](../needs/SKILL.md) | Show sessions blocked on input / errors / waiting |
| [`/ainb-fleet:atc`](../atc/SKILL.md) | **Air Traffic Control** — the persistent brain: watches the fleet on a heartbeat, auto-clears safe sessions, escalates the rest to your phone |
| [`/ainb-fleet:daemon`](../daemon/SKILL.md) | Background auto-continue watcher (**superseded by ATC** for managed fleets) |

ATC is the orchestrating brain that drives the other verbs on a schedule. The
verbs are its hands/eyes; the [phone bridge](../bridge/SKILL.md) is its voice
to you. Reach for ATC when you want unattended, policy-driven fleet supervision;
reach for the individual verbs for one-off actions.

## Architecture (1-line)

```
discover (ainb + peers + jobs)  ──▶  state read  ──▶  send (tmux-first, broker fallback)
```

## Global flag

`--format json|text|csv|markdown` (default `text`). Prefer `--format json`
when an LLM is the consumer.

## Transport — tmux is primary

Writes (broadcast / sequence / daemon / answer-routing) go out over **tmux
send-keys by default**. The claude-peers broker is opt-in / fallback only,
because in practice it has proven flaky (silent delivery gaps). The primitives
the fleet uses are exactly: `tmux send-keys -l` (write), `tmux capture-pane -p
-S -<n>` (read, incl. scrollback), and the session JSONL transcript
(`~/.claude/projects/<cwd-slug>/<sid>.jsonl`) as ground-truth read.

Select the write channel with `AINB_FLEET_TRANSPORT`:

| value | behaviour |
|---|---|
| unset / `tmux` / `tmux-first` | tmux send-keys first, broker fallback (**default**) |
| `tmux-only` | tmux send-keys only — never touch the broker |
| `peers` / `broker` / `peers-first` | legacy: broker first, tmux fallback |

```
            ┌──────────────┐  tmux send-keys -l   ┌─────────────┐
  send ────▶│ tmux pane?   │─────────────────────▶│  delivered  │
            └──────┬───────┘                       └─────────────┘
                   │ no live pane (or peers-first)
                   ▼
            ┌──────────────┐  broker /send-message ┌─────────────┐
            │ peer + broker│──────────────────────▶│  delivered  │
            │   healthy?   │                        └─────────────┘
            └──────────────┘
```

## Discovery sources

Discovery is independent of the write transport — peers are still *read* for
visibility (PID, `summary`, `WAITING:` markers) even when writes go via tmux.

- **ainb** — every session ainb has spawned via `ainb run`
- **peers** — sessions registered with the claude-peers broker (`~/.claude-peers.db`),
  read directly from its sqlite (no HTTP), so discovery survives a down broker
- **jobs** — bg-session dirs under `~/.claude/jobs/`

Merged + deduped by `cwd` so the same session in two sources collapses
into one record with `sources: ["ainb", "peers"]`.

## Environment overrides

| var | default | use |
|---|---|---|
| `AINB_BIN` | `ainb` | override binary the discover layer shells to (tests) |
| `AINB_FLEET_TRANSPORT` | `tmux-first` | write channel: `tmux` / `tmux-only` / `peers` |
| `AINB_FLEET_PEER_ID` | `ainb-fleet-cp` | from-id used when a write does fall back to the broker |
| `AINB_FLEET_JOBS_DIR` | `~/.claude/jobs` | bg-job scan root |
| `CLAUDE_PEERS_DB` | `~/.claude-peers.db` | broker sqlite path (discovery) |
| `CLAUDE_PEERS_PORT` | `7899` | broker HTTP port (fallback writes only) |

## See also

- `ainb list` — lifecycle-only session list (no peer/jobs enrichment)
- `ainb attach <workspace>` — drop into a session's tmux
- `ainb kill <workspace>` — terminate a single session by exact name

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.