fleet-ack
Delivery confirmation protocol — ACK tracking, retry on timeout, failure alerting
Skill by supportersimulator
Chalk Labs
Need help deploying fleet-ack?
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.
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-ack
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.
About
Reviews
Write a reviewNo 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-ack
What's inside
- Skill name
fleet-ack- Description
- Delivery confirmation protocol — ACK tracking, retry on timeout, failure alerting
- License
- MIT
- Instructions
- 95 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# Fleet ACK Protocol
Every message sent via the fleet gets tracked for delivery confirmation. If an ACK is not received within the timeout, the message is automatically retried. After max retries, a failure alert is injected.
## How It Works
1. **Send** — message is stored in SQLite (`FleetNerveStore`) with `ack_status=awaiting`
2. **Deliver** — recipient receives message, publishes ACK back on `fleet.<sender>.ack`
3. **Confirm** — sender receives ACK, updates status to `delivered`
4. **Retry** — if no ACK after timeout, message is re-sent via `send_with_fallback`
5. **Fail** — after max retries, status set to `failed` and alert injected into session
## NATS Subjects
- `fleet.<node>.ack` — each node subscribes to its own ACK subject
- ACK payload: `{"ref": "<msg_id>", "status": "delivered", "node": "<sender>", "channel": "P1_nats"}`
## HTTP Endpoint
### GET /ack/<msg_id> — Check ACK status
```bash
curl -sf http://127.0.0.1:8855/ack/abc123 | python3 -m json.tool
```
Returns: `{"id": "abc123", "type": "task", "from_node": "mac1", "to_node": "mac2", "ack_status": "delivered", "retry_count": 0}`
Status values: `none`, `awaiting`, `delivered`, `processed`, `failed`
## Retry Mechanism
Two retry systems work in parallel:
### In-memory retry (`_pending_acks` dict)
- Checked during `_watchdog_check_pending_acks()` every 30s
- Retries messages where `age > ack_timeout_s` and `retries < max_retries`
- Removes entries after successful ACK or max retries exhausted
### Persistent retry (`_ack_retry_loop`)
- Runs every 30s, queries SQLite for messages with `ack_status=awaiting`
- Handles messages that survived daemon restarts (persistent across crashes)
- On max retries: marks `ack_status=failed` and injects alert into session
## Configuration
| Env Variable | Default | Description |
|-------------|---------|-------------|
| `FLEET_ACK_TIMEOUT_S` | 60 | Seconds to wait for ACK before retry |
| `FLEET_ACK_MAX_RETRIES` | 3 | Maximum retry attempts |
## ACK Flow Diagram
```
Sender Receiver
|-- message (P1 NATS) -------->|
| |-- process message
|<---- ACK (fleet.<sender>.ack)|
|-- update status: delivered |
```
On timeout (no ACK received):
```
Sender
|-- 60s elapsed, no ACK
|-- retry via send_with_fallback (tries next channel)
|-- retry 2... retry 3...
|-- max retries: mark failed, inject alert
```
## Store Schema
Messages are persisted in SQLite via `FleetNerveStore`:
- `ack_status` column: `none|awaiting|delivered|processed|failed`
- `retry_count` column: incremented on each retry
- `last_retry_at` column: timestamp of last retry attempt
## Failure Alerting
When a message fails after max retries, the ACK retry loop injects a context message:
```
Fleet: message <id> to <target> failed after 3 retries.
Check target connectivity. Last channel attempted: <channel>
```
This surfaces delivery failures rather than letting them persist silently (Zero Silent Failures invariant).
## When to Use
- Verifying a critical message was actually delivered
- Debugging why a task never executed (check ACK status)
- Tuning retry timing for slow or unreliable networks
- Understanding the delivery confirmation guarantee modelFrom supportersimulator/multi-fleet, MIT.
More from supportersimulator/multi-fleet
- 0.440score
fleet-rebuttal
supportersimulator
Cross-machine rebuttal protocol — the 4-phase cycle where machines produce verdicts, critique each other, and converge on a chief decision
SkillDFreshness: D★ 2Claude Code +9 - 0.440score
fleet-race
supportersimulator
Competitive branch racing — 3 machines solve the same problem in isolated worktrees, then propose/rebut/converge to the strongest solution
SkillDFreshness: D★ 2Claude Code +9 - 0.440score
fleet-healer
supportersimulator
Invariance layer — spawns background agents that automatically heal broken fleet communication channels until all reach ideal state
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
fleet-repair
supportersimulator
4-level repair escalation for broken fleet channels — notify, guide, assist, remote
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
fleet-check
supportersimulator
Run the full 7-channel communication test — verifies every delivery path to a target node
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
fleet-dispatch
supportersimulator
Remote worker dispatch — send tasks to fleet nodes and track results with priority routing
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
fleet-liaison
supportersimulator
Interact with the fleet liaison agent — check status, read batched messages, escalate outbound, pause/resume monitoring
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
fleet-onboard
supportersimulator
Run the fleet onboarding wizard — checks what's configured, what's missing, and guides new users through setup
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
fleet-security
supportersimulator
HMAC message signing, replay prevention, peer validation, and session gold sanitization
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
fleet-send
supportersimulator
Send a message to another machine in the fleet — context, task, alert, or broadcast with 7-priority fallback delivery
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
fleet-status
supportersimulator
Quick fleet health check — who's online, who's idle, what's everyone working on
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
fleet-chain
supportersimulator
Chain orchestration — multi-step task dependencies across fleet nodes with automatic sequencing
SkillDFreshness: D★ 2Claude Code +9
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
- Source
- GitHubgithub-graphql
More from supportersimulator
- 0.440score
fleet-rebuttal
supportersimulator
Cross-machine rebuttal protocol — the 4-phase cycle where machines produce verdicts, critique each other, and converge on a chief decision
SkillDFreshness: D★ 2Claude Code +9 - 0.440score
fleet-race
supportersimulator
Competitive branch racing — 3 machines solve the same problem in isolated worktrees, then propose/rebut/converge to the strongest solution
SkillDFreshness: D★ 2Claude Code +9 - 0.440score
fleet-healer
supportersimulator
Invariance layer — spawns background agents that automatically heal broken fleet communication channels until all reach ideal state
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
fleet-idle
supportersimulator
Productive idle protocol — automatic work discovery and suggestion when fleet nodes are idle
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
fleet-chain
supportersimulator
Chain orchestration — multi-step task dependencies across fleet nodes with automatic sequencing
SkillDFreshness: D★ 2Claude Code +9 - 0.436score
fleet-check
supportersimulator
Run the full 7-channel communication test — verifies every delivery path to a target node
SkillDFreshness: D★ 2Claude Code +9
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-ack 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.
Cite this page
fleet-ack skill. Agent Mart. https://agentmart.dev/skills/supportersimulator-fleet-ack (last updated 2026-10-24)