Skip to content
Agentmart
Submit a tool

fleet-protocol

CORE SKILL — self-healing communication invariant, channel priority, repair escalation, idle productivity, secrets protection, and background healing agents

Skill by supportersimulator

IndexedMIT★ 2
Write a review

Chalk Labs

Need help deploying fleet-protocol?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/supportersimulator-fleet-protocol

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

CORE SKILL — self-healing communication invariant, channel priority, repair escalation, idle productivity, secrets protection, and background healing agents

Use cases: security, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/fleet-protocol

What's inside

Skill name
fleet-protocol
Description
CORE SKILL — self-healing communication invariant, channel priority, repair escalation, idle productivity, secrets protection, and background healing agents
License
MIT
Instructions
526 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Agent Skills spec issues

  • body: 526 lines (spec recommends under 500)

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Fleet Protocol

The self-healing communication invariant. Every machine installing multi-fleet gets this automatically. This skill defines HOW the fleet communicates, heals, and stays productive. All other fleet skills operate within this protocol.

**Invariant**: Messages ALWAYS deliver. If the ideal channel fails, the next one fires. If a non-ideal channel succeeds, the protocol heals the broken ones. No silent failures. No stuck states.

## Channel Priority Sequence

Every message tries channels in strict priority order. Each channel gets **30 seconds max** before the next one fires. First success wins.

```
P0: Cloud RemoteTrigger  (<5s)   -- cross-network, works through NAT/firewalls
P1: NATS pub/sub         (<2s)   -- real-time, bidirectional, lowest latency
P2: HTTP direct          (<3s)   -- peer-to-peer daemon API, no central dependency
P3: Chief relay          (<5s)   -- queues for offline nodes, central routing
P4: Seed file            (<5s)   -- write to target's seed dir (local or SSH)
P5: SSH direct           (<10s)  -- reliable, works through most firewalls
P6: Wake-on-LAN          (<60s)  -- wake sleeping machines, then retry P0-P5
P7: Git push             (<30s)  -- guaranteed eventual delivery via commit
```

### Channel characteristics

| Channel | Latency | Bidirectional | Works offline | Requires |
|---------|---------|---------------|---------------|----------|
| P0 Cloud | <5s | Yes | No | Internet + API key |
| P1 NATS | <100ms | Yes | No | NATS server running |
| P2 HTTP | <1s | Request/response | No | Target daemon on :8855 |
| P3 Chief | 1-2s | Via relay | Queues | Chief node online |
| P4 Seed | Next prompt | No | Partial | SSH or local access |
| P5 SSH | 2-5s | Command exec | No | SSH keys configured |
| P6 WoL | 10-60s | No | Wake only | LAN access + MAC addr |
| P7 Git | Async | No | Eventual | Shared git repo |

### 30-second rule

Each channel gets exactly 30 seconds. This is enforced in `send_with_fallback()`:

```python
# From tools/fleet_nerve_nats.py — simplified
async def send_with_fallback(self, target: str, message: dict) -> dict:
    """Try all channels in priority order. 30s max per channel."""
    channels = [
        ("P0_cloud",  self._send_p0_cloud),
        ("P1_nats",   self._send_p1_nats),
        ("P2_http",   self._send_p2_http),
        ("P3_chief",  self._send_p3_chief),
        ("P4_seed",   self._send_p4_seed),
        ("P5_ssh",    self._send_p5_ssh),
        ("P6_wol",    self._send_p6_wol),
        ("P7_git",    self._send_p7_git),
    ]

    errors = []
    for name, handler in channels:
        try:
            result = await asyncio.wait_for(handler(target, message), timeout=30.0)
            if result.get("delivered"):
                # If we fell back past P2, trigger self-healing
                if name >= "P3_chief":
                    failed = [e["channel"] for e in errors]
                    asyncio.create_task(
                        self.repair_with_escalation(target, failed)
                    )
                return {"delivered": True, "channel": name, "id": message["id"]}
        except (asyncio.TimeoutError, Exception) as e:
            errors.append({"channel": name, "error": str(e)})

    return {"delivered": False, "errors": errors}
```

### When each channel is used

| Scenario | Primary | Fallback |
|----------|---------|----------|
| Both nodes on same LAN, daemons running | P1 NATS | P2 HTTP |
| Target behind NAT, no VPN | P0 Cloud | P3 Chief |
| Target daemon down, SSH works | P5 SSH | P4 Seed |
| Target machine sleeping | P6 WoL | then retry P0-P5 |
| All real-time channels dead | P7 Git | eventual delivery |

## User Input Injection is LAST PRIORITY ONLY

**NEVER type into the user's Claude Code session input as a first action.** Keystroke injection via `osascript` disrupts the user's flow, may corrupt their in-progress typing, and feels invasive.

### Preferred delivery order (for reaching a Claude session)

```
1. NATS → daemon receives → injects as seed file (silent, next prompt)
2. HTTP → POST to daemon /message endpoint (silent, next prompt)
3. Seed file → SSH write to ~/.fleet-messages/<node>/ (silent, next prompt)
4. osascript keystroke → ABSOLUTE LAST RESORT (disruptive, may lose user input)
```

**Keystroke injection rules:**
- Only after ALL other channels have failed (P0 through P5)
- Only for `alert` type messages (never for `context` or `task`)
- Only when the target session appears idle (no keystrokes in >60s)
- Must prefix injected text with `[FLEET ALERT]` so the user knows it was injected
- Log the injection to the fleet dashboard as a `warn` event

```bash
# BAD — never do this as first action
osascript -e 'tell application "System Events" to keystroke "/fleet-read"'

# GOOD — deliver via daemon, session reads on next prompt
curl -sf -X POST http://127.0.0.1:8855/message \
  -H "Content-Type: application/json" \
  -d '{"type":"context","from":"mac2","to":"mac1","payload":{"subject":"FYI","body":"..."}}'
```

## Self-Healing Invariant

**When a message succeeds on a non-ideal channel (P3+), the protocol MUST heal the broken channels.** This is not optional. A fleet that degrades without repairing is a fleet that will eventually go dark.

### What triggers self-healing

Any delivery that falls back past P2 HTTP. If P0/P1/P2 were all available, the message would have used them. Falling back means something is broken.

From supportersimulator/multi-fleet, MIT.

More from supportersimulator/multi-fleet

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Apr 5, 2026 (7 months ago)
Last release
Apr 18, 2026 (6 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from supportersimulator

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get fleet-protocol running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying fleet-protocol?

CallGet help
Cite this page

fleet-protocol skill. Agent Mart. https://agentmart.dev/skills/supportersimulator-fleet-protocol (last updated 2026-10-24)