Agent-fleet bootstrap — stand up a human-gated agent backbone for a brand
Give a brand the OG Life-pattern backbone: a queue-driven fleet where agents draft and humans ship. The bootstrap wires the standard surfaces — an ingest path (Slack, forms, QR scans) into a deduped triage queue, an AI classifier that sorts work into typed actions across review lanes, executors gated by a safe-action whitelist, push/SMS/email rails the brand owns, and an approval audit trail — onto the OpenClaw orchestrator (Slack commander, Haiku router, Sonnet planner, per-brand business agents). Proven as the operating spine of OG Life across the 17-domain portfolio and the BMH retail-ops queue; the newest tier, the Slack → codegen daemon, turns a Slack message into a gated worktree code change.
“The fleet's contract is one sentence: agents run narrow, named jobs on real data, and nothing reaches a customer without a human tap.”
Receipts
Proven in production.
- OgLife.app — one identity layer across a 17-domain portfolio
Each brand in the portfolio had its own opt-in, its own chat widget, its own customer record. A customer who liked two brands ended up as two strangers in two databases. OgLife.app is the cross-business identity + preferences + live-chat layer that sits between the brands and the customer — one opt-in, one preferences page, one inbox. Built on Cloudflare Workers + Durable Objects + Neon, with an embeddable 7KB chat widget that any brand storefront drops in.
- 1 identity layer across 17 brand surfaces
- 7KB embeddable chat widget
When to use it
Trigger phrases.
Any of these in the user's prompt should invoke this skill in Claude Code.
- Stand up agents for [brand]
- Give this client the approval-queue setup
- Wire Slack into a triage queue
- Agent backbone like BMH / OG Life
- Bootstrap the fleet
What it needs
Required inputs.
- 01The brand's ingest surfaces (Slack channel, contact forms, QR slugs) and who the approvers are
- 02The safe-action whitelist — which action kinds may auto-execute vs. queue for a tap
- 03Data access for the agents (DB, storefront APIs) scoped to the jobs they'll run
The mechanism
Pipeline.
01 · Ingest
Every inbound becomes a deduped queue row.
A cron polls the ingest surfaces (BMH + jackiej: Slack every 5 minutes) and writes each item to a triage queue with a unique (source, source_ref) index — the same message can't become two jobs. Forms and QR scans feed the same table.
02 · Classify
An AI classifier sorts each row into a typed action + review lane.
Sonnet classifies into a closed set of action kinds (BMH: eight kinds, two lanes — content waits on the brand owner, design on the account owner). Typed actions mean executors are code, not prompt-hope; unclassifiable rows escalate instead of guessing.
03 · Execute behind the gate
Whitelisted actions apply themselves; everything else waits for a tap.
A LIVE_SAFE_WHITELIST names the actions allowed to write directly (swap a hero photo, update text on a Puck page). Everything else parks in an approval surface. Owner-only promotion is re-checked server-side on every ship action, and every state transition lands in an append-only audit table.
04 · Own the comms rails
Push, SMS, and email run on portfolio-owned infrastructure.
Web push rides the central og_life store (multi-brand, one keypair); SMS consent rows are brand-owned and TCPA-stamped; email is SES/Stalwart with fail-closed bounce suppression. A new brand inherits the rails with a config entry, not a vendor signup.
05 · Escalate the ceiling carefully
From content actions to code changes — same gate, higher stakes.
The codegen tier (proven on jackiej.events, Mission 2 Gates 1–2) lets a Slack request become an actual code change built in an isolated git worktree with its own Vercel preview — parked at the same human-approval gate as everything else. The ceiling rises; the contract doesn't.
What lets it fan out
Connector stack.
With all of these MCP connectors wired, the mechanism runs end-to-end without human handoff. Without them, the handoff is a numbered Chrome checklist.
Slack API (polling cron)
AvailableStage 1 — the proven ingest path on BMH + jackiej.events.
Anthropic API (Haiku router + Sonnet classifier)
AvailableStage 2 — classification and drafting across the fleet.
og_life push + SMS stores
AvailableStage 4 — multi-brand comms rails, one ingest secret per brand.
OpenClaw orchestrator
AvailableStages 1–5 — the queue, dispatch, and run-report machinery underneath.
GitHub MCP
PartialStage 5 — richer codegen-daemon PR plumbing (worktree flow already works).
Guardrails
Stop conditions.
The skill is predictable because it refuses to expand its own scope.
- stopNothing customer-visible ships without a human tap — the whitelist only covers named-safe internal writes.
- stopEvery agent runs a narrow, named job — no general-purpose 'do things' agent, ever.
- stopEvery state transition is audit-logged append-only; no silent mutations.
- stopCodegen builds only in isolated worktrees — the daemon never touches main.
- stopEdge cases route to the human queue; agents don't guess.
Use this skill
Install + invoke.
The skill file is at og-gitclaw/claw-skills/blob/main/skills/build-queue-worker-protocol/SKILL.md. Copy it to ~/.claude/skills/agent-fleet-bootstrap/SKILL.md to make it user-global, or to <project-root>/.claude/skills/agent-fleet-bootstrap/SKILL.md to make it project-local. Then trigger it with any of the phrases above in a Claude Code session.