One sentence in. A local post out.
A tavern owner in Bailey types what is going on tonight. Seven specialist agents read the town and the season, draft in the right voice, sharpen the hook without faking urgency, rewrite to the brand’s own rules, and hand back one post per platform with a schedule and a story suggestion. Sometimes the right answer is not today.
This is the orchestration behind localsocialpost.co, a mobile-first publishing app for small local businesses that I am building (case study). The replay below is canned and deterministic. The agent cast, the pipeline order, the system prompts, and the output contract are the product’s.
Composer
Sawmill Tavern & Dog Yard
Beer, burgers, and a fenced acre for the dogs. Bailey, Colorado.
Thursday, September 10, 2:15 pm MDT
“live music friday at 8, platte river pickers are back, patio's open and the dog yard's dry”
Pipeline
context · draft · polish · assemble
Context
Local Intelligence reads the town, the season, and the sky. It can say not today.
Draft
Four agents fan out in parallel from the same local read.
Polish
The hook gets sharper, then the voice gets truer. Two sequential passes.
Assemble
One caption per platform, trimmed to its limit, validated against the contract.
Seven specialists, one sentence in, one post per platform out. Press play to watch the orchestrator run.
Arrows are data flow. The four middle agents run in parallel; the two top-row passes run in sequence on the draft.
Press play to start the run.
System prompts
Each agent runs on a short system prompt with a strict JSON output contract. The business’s own rules are appended at the end so the cacheable prefix stays stable. The replay renders these as content; nothing here is executed.
Space toggles play and pause. Arrow keys nudge the scrubber. R resets.
How the real one runs
Every agent has a Zod-validated input and output contract, so a malformed model response fails loudly at the seam instead of leaking into a post. Local Intelligence runs first and its output feeds everyone else. The Domain Expert, Image, Scheduling, and Story agents run in parallel because none of them reads another’s output. The Viral Strategist and Brand Voice run in sequence on the draft.
Cost is a design input. Cheap agents run on the fast model tier and the two that reason about the draft run on the smart tier. The business profile is a cacheable prompt prefix, and per-business rules are appended after it so the prefix keeps hitting. The local read is cached per town per day, so the first business in Bailey pays for the day’s weather and the rest read it for free.
The trace panel in the replay is the same one the app streams back to the owner: one row per agent with its mode (live, cached, or mock) and wall-clock duration. It is there so the owner can see what each specialist contributed, and so I can see what each one cost.
The replay never calls a model. It plays a recorded event stream through the same runtime interface the site’s other demos use (ADR 0004), which is why it can be scrubbed backwards, paused, and reproduced bit for bit.
What this is, and is not
A portfolio demonstration of a multi-agent pipeline applied to a small, concrete job: helping a neighborhood business sound like itself online without hiring an agency.
Bailey, Colorado and the US 285 corridor are real. The Sawmill Tavern, its people, the band, the air quality advisory, and every event in both scenarios are invented.
Simulated portfolio demo. No live inference, no real business, and no post was published. Agent output in the replay was authored by hand to show the shape of a real run, not recorded from one.