Three ideas, nine posts, one review sheet.
The package behind the Campaign Pipeline drop. Your agent team turns one brief into three ideas, and each idea into a YouTube Short, an Instagram post and a LinkedIn post. All nine land on one proof sheet in your browser, where you approve, revise or hold each one. Nothing is posted.
A week of posts usually gets written one at a time, and nobody sees the nine side by side until they are live. This package puts them on one page first. You read all nine, mark each one, and write what you would change. Your review saves as a file, so the next chat reads exactly what you said instead of guessing. It starts with a made-up campaign, a small training business called Desk Notes Studio, so you can run the whole loop once before you put your own business in.
A proof sheet that opens in any browser. Kickoff prompts for Claude Code and for Codex. A map of who does what at each handoff. The made-up campaign with all nine drafts. A small Python script that rebuilds the sheet, and its checks.
Side by side, a post that promises more than its source supports stands out. Your decisions are a file, not a memory. Change a post and its old approval stops counting, so nothing slips through on yesterday's yes.
Set up the package under campaign-pipeline/ in a new separate Git repo, run the check, open the proof sheet, make one correction and click Save notes. A new chat reads campaign-pipeline/review.json in that repo and carries on from your words.
Answer the one question the sheet asks: which post promises more than its source supports, and what would you change? The agents draft and check. The decisions are yours.
Who does what.
One job per role, and one thing handed on at each step, so you can see where something went wrong.
- Brief. Your Chief of Staff, with you: the goal, the audience, the offer, one week, the sources it may use.
- Research. Librarian for what you already know, Hatch for your private material, Scratch with r2c for outside sources. Each finding keeps where it came from.
- Ideas. Exactly three angles. You choose or correct them.
- Voice. Echo reads samples you approved and writes short voice notes. Real quotes stay separate from new writing.
- Copy. You've Got Mail writes the nine: a spoken script for the Short, a caption for Instagram, a full post for LinkedIn.
- Check. Kansa reviews every claim, quote and image on its own, and sends work back when it is not ready.
- Review. You, on the proof sheet.
The kickoff checks which of these agents are in your workbench and tells you before any work starts. It reuses enrolled profiles through a supported host adapter; it does not create a replacement fleet. The renderer-only practice uses the made-up campaign's evidence, Python and a browser. The full kickoff also requires your selected enrolled coordinator and reviewer profiles, a supported native host and the image capability checks.
What happens on the first run?
Your agent checks your enrollment and the released package, sets up an empty separate Git repo, and guides a visual kit before the proof sheet. Choose one correction and save your exact words in the campaign repo.
campaign-pipeline/.python3 build.py --preflight python3 build.py python3 -m unittest discover -s tests -v
The first reports what is ready on your machine and contacts no account. The second rebuilds the proof sheet. The third runs the package's own checks. Then proof-sheet.html opens in your browser with nine cards.
The sheet remembers your comments in that one browser, which can be cleared or not there in another app. Click Export review JSON when you finish and keep the file in your new campaign repo. That file is what the next chat reads.
What you can ask your agent, once it is set up
The full prompts for a real campaign are in KICKOFF.md. These get you moving.
Read campaign-session.json, the matching campaign-pipeline/campaign.json and campaign-pipeline/review.json. Tell me which campaign ID/revision you loaded and the exact unanswered question. Use my saved words without replacing them with an inferred decision. Ask one recall or application question before showing a proposed correction. Continue from the pending action; do not repeat finished research or inherit approvals for changed posts. Preserve the old review and use a new revision for revised copy. Report which actual roles/tools ran and which steps remain unobserved.
Open the proof sheet and walk me through the nine posts. Then ask me which one promises more than its source supports, and wait for my answer.
Read KICKOFF.md's real campaign kickoff. Before anything else, help me pick the goal, the audience, one week and the sources you may use. Ask me about anything missing; do not invent my words or my approvals.
List every claim in the nine posts with the source it rests on, and mark any that rest on nothing.
Words you now own
- Proof sheet. One page in your browser with all nine posts, where you comment and decide.
- Variant. One idea written for one place: the Short, the Instagram post or the LinkedIn post. Three ideas, three variants each.
- Review JSON. Your comments and decisions, saved to campaign-pipeline/review.json in your repo for the next chat to read.
- Revision. A new version of the campaign after a change. Old approvals do not carry over to it.
- Hold. A post that is not ready, with the reason written down. A hold is a result, not a failure.
- Draft, not post. The furthest the package goes on its own is your review. Scheduling drafts needs a separate yes from you.
Before you use it on real work
- Start a new campaign for real work. Give it its own name and keep it in a private folder. Never reuse the made-up campaign's name for a client.
- Keep client material out of the Lab folders. Sources, transcripts, images and reviews go in your private work folder, never back into
lab/. - Optional tools stay optional. Video models, editing tools and Metricool are listed in the package as extras. The loop works without any of them.
The optional video and media tools (Replicate, Higgsfield) and any posting tool use your own account. Sign in through the tool's own screen in your browser, or keep the key in Infisical; never paste a key or password into this chat. See Keys, the First Time.
Even then, it makes drafts with automatic publishing off, and reads each one back to check it landed as you approved. Approving a review is not approving an upload.
Fair questions
No. The first run is your agent, Python and a browser. Everything past the proof sheet is optional and asks first.
Yes. KICKOFF.md has a Codex prompt beside the Claude Code one, and the proof sheet opens in Codex's own browser panel. Both read and write the same review file.
In Campaign Pipeline, drop one. Hunter ran a real campaign for Sara with this team, from a spoken brief to nine reviewed posts.