launch-ops

shoal

5-agent formation for two-week product launches: monitor channels, triage signals, draft replies, fix docs, write content

v0.2.2MIT
$ reef install launch-ops

Launch Ops

5 agents, 2 weeks, tear it down.

A hub-and-spoke formation for two-week product launches. Monitor community channels, triage signals through a central coordinator, draft replies, fix recurring doc gaps, and write follow-up content. Install on launch day, uninstall two weeks later.

What It Does

The formation runs two continuous loops:

  1. Respond loop: Monitor scans channels → Chief triages signals → Responder drafts replies → you review and post
  2. Fix loop: Chief detects recurring confusion → Docs Agent proposes documentation fixes → you review and apply

A third path (content) is user-triggered: Chief notes content opportunities, you decide what to write, Copy Engine drafts it.

All output is reviewed by a human before posting. No agent publishes anything autonomously.

Requirements

Project identity and API keys (ANTHROPIC_API_KEY, GITHUB_TOKEN, GITHUB_REPO, PROJECT_NAME, etc.) come from your OpenClaw project configuration.

Quick Start

# 1. Lock skill versions
reef lock .

# 2. Deploy the formation
reef install .

Chief has a BOOTSTRAP.md that runs on first session. It walks you through channel setup conversationally, collects any credentials, and sends the config to Monitor. Once setup is done, BOOTSTRAP.md deletes itself and Monitor starts polling on the next cycle. No .env configuration required for channels.

Optionally tune the poll interval:

cp .env.example .env
# edit MONITOR_LOOKBACK_MINUTES (default: 10)

Agents

Monitor

Model: anthropic/claude-flash | Role: Sensor | Cron: */10 * * * *

Polls all active channels every 10 minutes and sends structured findings to Chief. Receives channel config from Chief via sessions_send.

Chief

Model: anthropic/claude-opus-4-6 | Role: Coordinator | Cron: 5-55/10 * * * *

Includes a BOOTSTRAP.md first-run ritual that asks what channels to watch, collects credentials conversationally, sends config to Monitor, then deletes itself. Say "reconfigure" anytime to change channels.

Hub coordinator. Receives Monitor's findings via message, classifies each signal (NOISE, SIMPLE ACK, SUBSTANTIVE, DOCS PATTERN, or CONTENT OPPORTUNITY), and routes work to specialists. Tracks patterns across scans to detect recurring documentation gaps and content opportunities.

Responder

Model: anthropic/claude-opus-4-6 | Role: Responder

Drafts substantive replies to technical questions, bug reports, comparisons, and criticism. Matches the tone and conventions of each platform. All drafts go to user review before posting.

Docs Agent

Model: anthropic/claude-opus-4-6 | Role: Docs Maintainer

Fixes documentation when the same confusion appears 2+ times. Classifies gaps (MISSING, BURIED, WRONG, CONFUSING, INCOMPLETE), reads the relevant docs, and proposes targeted, copy-pasteable fixes.

Copy Engine

Model: anthropic/claude-opus-4-6 | Role: Writer

Writes follow-up content: blog posts, changelog entries, social threads, announcements, tutorials, and launch retrospectives. User-triggered only. Even when Chief suggests an idea, Copy Engine waits for explicit user approval.

Topology

monitor ⇄ chief → responder
                → docs-agent
                → copy-engine

Explicit edge list:

FromTo
monitorchief
chiefmonitor, responder, docs-agent, copy-engine
responderchief
docs-agentchief
copy-enginechief

Chief sends channel config to Monitor (setup + reconfigure). Monitor sends scan findings to Chief. No direct communication between specialists. All work flows through Chief.

Cron Schedule

AgentScheduleDescription
Monitor*/10 * * * *Every 10 minutes
Chief5-55/10 * * * *Every 10 minutes, 5-minute offset from Monitor

The offset gives Monitor time to finish polling before Chief's cron fires. Monitor sends full scan results to Chief via sessions_send (workspaces are isolated). Both agents include idempotency guards: Monitor skips if a run started less than 2 minutes ago, Chief skips if it already processed the current scan ID.

Supported Channels

Monitor can watch any combination of these. You choose during the interactive setup on first run.

ChannelCredentials neededNotes
GitHubNone (uses OpenClaw config)Issues, comments, discussions
Hacker NewsNoneAlgolia search, no auth
RedditClient ID, client secret, subredditOAuth script app
DiscordBot token, channel IDBot application
X / TwitterBearer token, search queryApp-only auth

How It Works

  1. First run: Chief's BOOTSTRAP.md walks you through channel setup conversationally
  2. Every 10 min: Monitor polls active channels, sends full scan to Chief
  3. Chief triages each signal: NOISE (ignore), SIMPLE ACK (Chief drafts reply), SUBSTANTIVE (→ Responder), DOCS PATTERN (→ Docs Agent), CONTENT OPPORTUNITY (proposes to you)
  4. Specialists draft output and send it back to Chief
  5. Chief presents all drafts for your review
  6. You decide what to post, apply, or write

Teardown

reef uninstall launch-ops/launch-ops

WARNING: reef uninstall destroys agent workspaces, including all knowledge/dynamic/ contents. Channel config, scan history, triage state, and content drafts are permanently deleted.

Runtime data lives in OpenClaw workspaces, not in the source tree:

$OPENCLAW_STATE_DIR/workspace-launch-ops-monitor/knowledge/dynamic/
$OPENCLAW_STATE_DIR/workspace-launch-ops-chief/knowledge/dynamic/
$OPENCLAW_STATE_DIR/workspace-launch-ops-responder/knowledge/dynamic/
$OPENCLAW_STATE_DIR/workspace-launch-ops-docs-agent/knowledge/dynamic/
$OPENCLAW_STATE_DIR/workspace-launch-ops-copy-engine/knowledge/dynamic/

$OPENCLAW_STATE_DIR defaults to ~/.openclaw/ if not set.

Before uninstalling, copy any data you want to keep out of those workspace directories. The source formations/launch-ops/ directory is unaffected by uninstall.