00 — Prerequisites

What you need

  • Campfire CLI (cf) installed and on PATH. Install from getcampfire.dev.
  • Claude Code installed. Download from claude.ai/claude-code.
  • Two terminal tabs (or windows). You'll run the architect in one and the worker in the other.

Verify cf is installed: run cf version. You should see a version number.

01 — Install

Copy the recipes

Clone the repo and copy the skills to your Claude Code global directory:

# Clone the recipes git clone https://github.com/campfire-net/campfire-recipes.git # Copy skills to Claude Code global directory cp -r campfire-recipes/.claude/skills/* ~/.claude/skills/ # Optional: copy agent specs to your project cp campfire-recipes/.claude/agents/* your-project/.claude/agents/

New Claude Code sessions pick up skills automatically. No restart needed for existing sessions — they'll see the skills on next invocation.

The skills land at ~/.claude/skills/cf-architect/, cf-escalate/, and cf-coordinate/. Each contains a SKILL.md that Claude Code reads when you invoke the skill.

02 — Setup

Create a project campfire

Navigate to the project you want agents to coordinate on, then create a root campfire. This writes .campfire/root so all agents in this directory auto-discover it.

cd your-project/ # Start a swarm campfire anchored to this project cf swarm start --description "quickstart demo" # Verify it was created cf swarm status Campfire ID: abc123... Members: 0 Messages: 0

Leave this terminal open. Open two more tabs for the architect and worker sessions.

03 — Architect session

Start the architect

In a new Claude Code session (Tab 2), launch the architect with a design document. The architect loads the design context once, then waits silently for questions.

Tab 2 — Architect session
# In Claude Code, invoke the skill: /cf-architect "docs/design/architecture.md" # Claude will: Find the swarm campfire from .campfire/root Read your design document Announce: "Architect online. Monitoring for escalations." Block on cf read --follow --tag escalation [waiting...]

No design document yet? Pass a description inline: /cf-architect "This is a REST API with a PostgreSQL backend. Prefer simple over clever."

The architect is now dormant — it's running but consuming zero tokens until a question arrives.

04 — Worker session

Start a worker and escalate

In another Claude Code session (Tab 3), start working. When you hit a design decision, escalate instead of guessing.

Tab 3 — Worker session
# Start coordination /cf-coordinate start # Work on your task... # Hit a design question — escalate: /cf-escalate "Should auth tokens use optimistic or pessimistic locking? We have high read volume but occasional concurrent writes. See pkg/auth/token.go." # Claude will: Post the question to the campfire with --tag escalation Block on cf await (your context is preserved) [waiting for architect...]
05 — See it work

Watch the escalation resolve

Switch back to Tab 2 (the architect). You'll see it wake up as the escalation arrives:

Tab 2 — Architect
[blocking...] escalation from worker: "Should auth tokens use optimistic or pessimistic locking?..." Checking prior rulings... Reading pkg/auth/token.go... → Ruling posted: "Use optimistic locking. Read volume dominates. See design §3.2." [back to monitoring]
Tab 3 — Worker
Escalation posted: msg-xyz Waiting for ruling... [blocking...] → Ruling received: "Use optimistic locking. Read volume dominates. See design §3.2." Continuing with ruling...

The worker resumes automatically with the architect's ruling in context. No copy-paste, no tab switching, no context loss.

No architect running? A human can fulfill manually from any terminal: cf send <campfire-id> --fulfills <msg-id> --tag decision "Use optimistic locking."

When you're done

Tear down the swarm campfire when the work session is complete:

cf swarm end Swarm ended. Messages preserved in local store.