One idea in. A whole week of on-brand launch content out, written, made, and graded by a swarm of Claude agents.
Built for Claude Build Day. Give it a goal, a call to action, and a nonprofit's website. A swarm of Opus 4.8 agents researches the brand, plans a 7-day content arc that crescendos to the event (e.g. a Saturday beach cleanup), writes the copy for X / LinkedIn / Instagram, renders the images and UGC/launch videos, and grades its own work against a rubric, regenerating anything that fails before a word goes out. Connect your socials through Zernio and approve each post or auto-post the whole week. Agents watch the comments and reply in your voice.
See docs/brief.md and docs/rubric.md.
- The agents grade themselves against a fixed rubric and regenerate failures. "Done" is verifiable by the model, no human: every slot green + the URL responds.
- It doesn't stop at content. It ships and works the comments.
- It reruns on any campaign by changing three inputs.
one planner → one critic loop (grade → fix → re-grade, every slot in parallel)
→ one rubric (docs/rubric.md) → one done-check
Two zero-dependency scripts make the orchestration simple, repeatable, and verifiable by the model with no human:
# rerun the engine on ANY campaign — swap the three inputs
node scripts/launch.mjs --goal "..." --cta "..." --website "https://..."
# "done" = one command, one exit code: rubric tests + URL 200 + scorecard green
node scripts/verify.mjs --url <deployed-url> --run --goal "..." --cta "..." --website "..."docs/rubric.md is the single contract — the critic enforces it, the offline test
suites (lib/*.test.ts, no API key) prove it, and verify.mjs (+ CI on every
push) checks it. Rerun on a new problem tomorrow by changing three strings.
cp .env.example .env.local # fill in ANTHROPIC_API_KEY, FAL_KEY, ZERNIO_API_KEY
npm install
npm run dev # http://localhost:3000Enter a goal, a CTA, and a nonprofit website, then Generate the week. The plan returns with a green scorecard. Click "Make image / video" on any media slot to render it (cached + spend-capped). Connect socials and publish.
| Env | What |
|---|---|
ANTHROPIC_API_KEY |
Claude (Opus 4.8): research, planning, copy, the critic |
FAL_KEY |
fal.ai: images, UGC video, motion/launch video |
ZERNIO_API_KEY |
Zernio: connect + publish to X / LinkedIn / Instagram |
All secrets live in .env.local (gitignored). Only .env.example (names, no
values) is in the repo.
Video is the expensive part. Renders are cached per prompt, and a process-wide
ceiling (MAX_VIDEO_SPEND_USD, default $20) hard-stops runaway spend. Claude
runs on Build Day credits.
Next.js 15 (App Router, TypeScript) · Anthropic SDK (Opus 4.8) · fal.ai · Zernio.
app/ UI + API routes (generate-week, generate-media, connect, publish, comments)
lib/ anthropic (brains + critic), fal (media), zernio (social), cache, types
docs/ brief.md, rubric.md, architecture.md
We didn't build this with one agent working top to bottom. We ran a crew of Claude Code sessions in parallel, orchestrated by Claude Classroom — a coordination skill we built earlier, at home (not during Build Day) and used here. Instead of serial work, the sessions self-organized:
- Ownership + file claims. Each session declared the area it operated, then claimed files before editing. One session owned the entire UI (landing, console, sidebar, liquid glass, the scroll story); others owned backend/data (auth + quota, the Supabase store, channels, the comment watcher). Two agents never touched the same code.
- A shared backlog. Work was posted to a shared board and pulled by best fit, so nothing was duplicated and the critical path stayed unblocked.
- A pre-commit guard. The skill blocks committing a file another live session
holds, so "merge hell" became a non-event and every change landed clean on
main. - Continuous sync. Every session broadcast what it shipped, so the crew kept a live picture and could rebase instantly.
The payoff: the marketing landing, the full console + Asset Bay + Calendar + Channels, the self-grading media pipeline, auth/quota, and every integration (Claude, fal.ai, Zernio, Supabase, Open-Meteo, Luma) came together in parallel, in a single Build Day — not one feature after another.
Vendored at .claude/skills/claude-classroom/;
see USED_HERE.md for provenance.