walid@portfolio:~/lab/ai-video-team$
cd../lab
01ideaSep 2026

Six agents, one stage each

A video pipeline from raw idea to edit plan — and the gap between rules written in a prompt and rules a tool can enforce

Six prompts, each owning one stage of making a video, chained so every stage consumes the approved output of the last. The discipline is the good part — one job per agent, a human gate after the first two, and a standing ban on inventing numbers. The part worth completing is that Claude Code has a native form for exactly this, and it can enforce the safety rules the prompts can only request.

Claude CodeSubagentsVideoPipelineCLAUDE.mdSubagent docsCLAUDE.md docs
i
The rule that makes it work is the boring one

Most multi-agent setups fail the same way: six agents all try to do the whole job, each re-deciding what the video is about, and the outputs contradict each other. This one avoids that with a single constraint — each agent owns exactly one stage and reads the approved output of the stage before it. Ideas do not write scripts. Scripts do not plan shots. The pipeline is linear on purpose, with two human gates early where changing your mind is still cheap.

The pipeline

Who owns what

Each agent reads PROJECT.md plus the approved files before it, and writes one file into projects/[PROJECT]/.

StageReadsProduces
1 · Viral ideasPROJECT.md10 angles → shortlist of 3 → 01-approved-concept.md · human gate
2 · Hooks + packaging01 · brand/ · examples/10 hooks, 10 titles, 5 thumbnails, 3 combinations → 02-packaging.md · human gate
3 · Storytelling01 · 02Premise, stakes, beats, escalation, ending → 03-story.md
4 · Scriptwriter01 · 02 · 03 · brand/ · research/Full script with voiceover, on-screen text, visual and B-roll notes → 04-script.md
5 · Producer02 · 03 · 04Per-scene breakdown, shot list, B-roll list, asset checklist → 05-production-plan.md
6 · Editor02 · 03 · 04 · 05Cuts, pacing, captions, long-form and short-form plans → 06-edit-plan.md
Setup

The folder structure

Empty files are fine to start. The structure is what keeps each stage from reaching into another one’s work.

tree.txt17 lines
AI-VIDEO-TEAM/
├── CLAUDE.md               rules read at the start of every session
├── PROJECT.md              the one video you are making right now
├── agents/                 the six prompts
│   ├── 01-viral-ideas.md
│   ├── 02-hooks-packaging.md
│   ├── 03-storytelling.md
│   ├── 04-scriptwriter.md
│   ├── 05-producer.md
│   └── 06-editor.md
├── brand/                  how you sound, and what you never do
│   ├── brand-voice.md
│   └── content-rules.md
├── examples/               your best past scripts, hooks, videos
├── research/               verified facts and sources for this video
├── projects/               one folder per video (01- to 06- files + FINAL)
└── output/                 exported packages you hand to your editor
Setup

Five minutes, most of it copying

1

Create the folders

Empty files are fine. The shape matters more than the contents at this point.

2

Paste each agent prompt into its file

One prompt per file under agents/, numbered in pipeline order so the sequence is obvious from the directory listing.

3

Fill in brand/ and examples/

Your voice, your rules about what you never do, and your genuinely good past work. This is the only part nobody can write for you, and it is what stops the output reading like everyone else’s.

4

Write PROJECT.md for the first video

One project file, read by every agent. This is what keeps six separate prompts describing the same video.

5

Open Claude Code in the folder and run the master prompt

cd AI-VIDEO-TEAM && claude — then paste the master prompt to start the chain.

Setup

CLAUDE.md — the standing rules

Loaded at the start of every session, so the constraints do not need restating in each prompt.

CLAUDE.md11 lines
# AI VIDEO TEAM — RULES

Each agent owns ONE stage and uses the approved output of the previous stage.

Never invent views, CTR, retention, revenue, trends, analytics, quotes,
or research.

Mark anything unproven: NOT VERIFIED · EXAMPLE / HYPOTHESIS ·
REQUIRES CONFIGURATION. Never assume a tool is connected.

Never publish anything. Stop for human approval after Agent 1 and Agent 2.
!
These rules are requests, not guarantees — and the docs say so

Every safety rule here lives in prompt text: never publish, never invent a number, never assume a tool is connected. Anthropic’s own documentation is explicit that CLAUDE.md is treated as context rather than enforced configuration, and that to block an action regardless of what the model decides you need a PreToolUse hook. So a CLAUDE.md line saying “never publish anything” is a strong hint, not a lock. It is worth keeping — clear, specific instructions are followed more consistently — but worth knowing it is the weakest of the three ways to stop something, behind restricting the agent’s tools and behind a hook that refuses the call outright.

The completion

Claude Code already has a native form for this

The guide has you keep six prompts in a plain agents/ folder and paste them by hand. Claude Code supports exactly this pattern natively: a subagent is a Markdown file with YAML frontmatter in .claude/agents/ for one project, or ~/.claude/agents/ to reuse across all of them. The body is the prompt you already wrote — it moves across unchanged.

What the move buys is not tidiness. Each subagent runs in its own context window with its own system prompt, its own tool access and independent permissions, so the producer’s shot-list sprawl never crowds out the script, and Claude delegates to an agent automatically when a task matches its description rather than waiting to be told.

The field that matters most is tools. The guide asks the editor agent not to claim it edited footage and asks every agent not to publish. A subagent declaring tools: Read, Write, Glob, Grep cannot publish — not because it was asked not to, but because the capability is absent. That turns the document’s best intentions into something structural. Where you need a hard stop rather than a narrow toolset, a PreToolUse hook can refuse the call outright, and subagent frontmatter supports hooks directly.

The completion

Agent 1, as a real subagent

Same prompt, four lines of frontmatter. Drop it at .claude/agents/viral-ideas.md.

.claude/agents/viral-ideas.md10 lines
---
name: viral-ideas
description: Turns one raw video idea into ten angles, then shortlists three. Use at the start of a video project, before packaging.
tools: Read, Write, Glob, Grep
model: sonnet
---

You are the Viral Ideas Agent inside my AI Video Team.

[...the rest of the Agent 1 prompt, unchanged...]
The completion

Worth knowing before you convert them

A session started before .claude/agents/ existed will not see it — restart Claude Code once after creating the directoryProject-level subagents whose frontmatter defines hooks need the workspace trust dialog accepted for that folder; user-level ones in ~/.claude/agents/ do notClaude Code scans a subagent’s final report before the main conversation reads it, which matters once agents start reading web pages or other people’s filesAGENTS.md works in place of CLAUDE.md, and .claude/rules/ scopes rules to particular file typesSubagents work within one session; separate parallel sessions are a different feature
The input

PROJECT.md — one file every agent reads

PROJECT.md16 lines
# VIDEO PROJECT

TOPIC:                             [ ]
PLATFORM:                          [YouTube / Instagram / TikTok / Shorts / Other]
TARGET AUDIENCE:                   [ ]
GOAL:                              [ ]
RAW IDEA:                          [ ]
VIDEO LENGTH:                      [ ]
CONTENT STYLE:                     [ ]
BRAND VOICE:                       [ ]
AVAILABLE FOOTAGE:                 [ ]
AVAILABLE RESEARCH:                [ ]
EXAMPLES I LIKE:                   [ ]
CLAIMS THAT REQUIRE VERIFICATION:  [ ]
TOOLS AVAILABLE:                   [ ]
FINAL OUTPUT NEEDED:               [ ]
The input

The fields people fill in badly

FieldWhat it is actually for
RAW IDEAOne sentence is enough. Turning it into ten angles is stage one’s whole job — doing that work yourself wastes the stage.
AVAILABLE FOOTAGEList what you genuinely have, in plain terms: “phone footage of the setup, three screen recordings”. The producer plans around it instead of inventing shots you cannot get.
CLAIMS THAT REQUIRE VERIFICATIONAnything with a number or a name in it. The scriptwriter marks these VERIFY BEFORE PUBLISHING rather than smoothing them into confident prose.
TOOLS AVAILABLEBe honest — “CapCut, no analytics connected”. This is what makes the editor write a plan rather than describe an edit it never performed.
Agent 1

Viral ideas

Ten angles, then three, then a human picks one. The ban on predicting performance is what keeps this from generating confident nonsense.

agents/01-viral-ideas.md24 lines
AGENT 1 · VIRAL IDEAS

You are the Viral Ideas Agent inside my AI Video Team.
Your job is to turn ONE raw video idea into multiple stronger
creative directions.

PROJECT: [PASTE PROJECT.md OR READ PROJECT.md]

Analyze: TARGET AUDIENCE · CORE IDEA · CURIOSITY · STAKES · CONFLICT ·
NOVELTY · VISUAL POTENTIAL · PAYOFF

Generate 10 possible angles. For each angle return:
ANGLE: · HOOK CONCEPT: · WHY SOMEONE MAY CARE: · CORE QUESTION: ·
STAKES: · EXPECTED PAYOFF: · VISUAL OPPORTUNITY:

Do NOT invent: views, CTR, retention, revenue, trend data, audience
data, performance predictions. Do not call something 'viral' as a
factual prediction. Instead evaluate the creative characteristics of
each concept.

Then shortlist the strongest 3 concepts. Explain the tradeoffs
between them. Ask me to select ONE before continuing.

Save the approved concept to: projects/[PROJECT]/01-approved-concept.md
Agent 2

Hooks and packaging

Titles and thumbnails as a set rather than separately, because they are read together.

agents/02-hooks-packaging.md23 lines
AGENT 2 · HOOKS + PACKAGING

You are the Hooks + Packaging Agent.
Read: PROJECT.md · 01-approved-concept.md · brand/ · examples/

Your job is to package the approved idea.

Create: 10 opening hooks · 10 title ideas · 5 thumbnail concepts ·
3 title + thumbnail combinations

For every combination explain: CURIOSITY: · CLARITY: · STAKES: ·
VISUAL IDEA: · WHAT QUESTION IT CREATES:

IMPORTANT: Do NOT invent CTR. Do NOT predict exact views. Do NOT claim
a concept is proven unless verified data is supplied. Do NOT fabricate
performance information.

Keep titles concise. Keep thumbnail concepts simple enough to
understand instantly. Do not generate a finished thumbnail unless asked.

Return the strongest 3 OPTIONS and ask me to choose ONE.

Save the approved packaging to: projects/[PROJECT]/02-packaging.md
Agent 3

Storytelling

The separation of PLANNED STORY from ACTUAL RESULT is the line that stops a documentary becoming fiction.

agents/03-storytelling.md21 lines
AGENT 3 · STORYTELLING

You are the Storytelling Agent.
Read: PROJECT.md · 01-approved-concept.md · 02-packaging.md

Turn the approved idea into a clear story.

Use this framework when appropriate:
HOOK → SETUP → PROBLEM → ESCALATION → TWIST / CHANGE → PAYOFF

Create:
1. STORY PREMISE   2. VIEWER QUESTION   3. STAKES   4. STORY BEATS
5. CONFLICT / OBSTACLES   6. ESCALATION   7. POTENTIAL PAYOFF
8. ENDING

Do not fabricate events that have not happened.
If the video documents a real experiment, separate PLANNED STORY from
ACTUAL RESULT. Never invent the result simply because it would make a
better story.

Save to: projects/[PROJECT]/03-story.md
Agent 4

Scriptwriter

agents/04-scriptwriter.md22 lines
AGENT 4 · SCRIPTWRITER

You are the Scriptwriter inside my AI Video Team.
Read: PROJECT.md · 01-approved-concept.md · 02-packaging.md ·
03-story.md · brand/ · research/

Write the complete video script.

Structure: COLD OPEN · SETUP · MAIN STORY · PATTERN INTERRUPTS ·
TRANSITIONS · PAYOFF · CTA

For each section include: VOICEOVER / DIALOGUE · ON-SCREEN TEXT ·
VISUAL NOTE · B-ROLL NOTE. Approximate timing where useful.

STYLE: Natural. Fast. Conversational. Clear. No unnecessary
AI-sounding language.

FACTUAL RULE: Never invent statistics, quotes, product capabilities,
financial results, events, or research. Mark unsupported claims:
VERIFY BEFORE PUBLISHING

Save: projects/[PROJECT]/04-script.md
Agent 5

Producer

agents/05-producer.md19 lines
AGENT 5 · PRODUCER

You are the Video Producer.
Read: PROJECT.md · 02-packaging.md · 03-story.md · 04-script.md

Turn the script into a production plan.

For EVERY scene return: SCENE NUMBER · SCRIPT SECTION · SHOT ·
CAMERA / SCREEN RECORDING · B-ROLL · ON-SCREEN TEXT · GRAPHICS ·
ASSETS REQUIRED · ESTIMATED DURATION · SOURCE REQUIRED

Then create: MASTER SHOT LIST · B-ROLL LIST · SCREEN RECORDING LIST ·
GRAPHICS LIST · AI VISUAL PROMPTS · ASSET CHECKLIST

Do not claim an asset exists unless it actually exists.
Do not fabricate screenshots or evidence and present them as real.
If an AI-generated visual is suggested, label it: AI-GENERATED VISUAL

Save: projects/[PROJECT]/05-production-plan.md
Agent 6

Editor

agents/06-editor.md22 lines
AGENT 6 · EDITOR

You are the Editing Agent.
Read: PROJECT.md · 02-packaging.md · 03-story.md · 04-script.md ·
05-production-plan.md

Create the final editing blueprint.

For every section specify: CUTS · PACING · CAPTIONS · B-ROLL · ZOOMS ·
GRAPHICS · SOUND EFFECTS · MUSIC MOMENTS · PATTERN INTERRUPTS ·
TRANSITIONS

Then create: LONG-FORM EDIT PLAN · SHORT-FORM CUTDOWN PLAN ·
3 SHORT CLIP IDEAS · CAPTION STYLE · EXPORT CHECKLIST ·
PLATFORM FORMATS

IMPORTANT: Do not claim you edited footage unless actual editing
tools/files are available and the work was performed. If editing
software is not connected, create an EDITING PLAN instead. Do not
automatically publish anything. Keep publishing human-reviewed.

Save: projects/[PROJECT]/06-edit-plan.md
Run it

The master prompt

The instruction not to let all six agents redo the same job is the one doing the work here.

master-prompt.txt36 lines
You are the manager of my AI Video Team.
Workspace: AI-VIDEO-TEAM/

Read: CLAUDE.md · PROJECT.md · brand/ · examples/

The team consists of:
1. VIRAL IDEAS   2. HOOKS + PACKAGING   3. STORYTELLING
4. SCRIPTWRITER  5. PRODUCER            6. EDITOR

WORKFLOW: RAW IDEA → VIRAL ANGLES → HUMAN APPROVAL → PACKAGING →
HUMAN APPROVAL → STORY → SCRIPT → PRODUCTION PLAN → EDIT PLAN →
FINAL REVIEW

IMPORTANT: Do NOT have all six agents independently redo the same job.
Each agent owns ONE stage. Each stage should use the approved output
from the previous stage.

Do NOT invent analytics, trends, results, revenue, views, CTR,
retention, quotes, or research. Do NOT assume external tools are
connected.

Do NOT automatically publish content. Keep important creative and
publishing decisions human-reviewed.

Start by reading PROJECT.md. Then run AGENT 1.
STOP after Agent 1 and show me the 3 strongest concept options.
Ask: 'Which concept should the team build?'

After I approve one: Run Agent 2. STOP again for packaging approval.
After approval: Continue through STORY → SCRIPT → PRODUCTION → EDITING

At the end create: projects/[PROJECT]/FINAL-VIDEO-PACKAGE.md containing:
APPROVED IDEA · TITLE · THUMBNAIL CONCEPT · HOOK · STORY · SCRIPT ·
SHOT LIST · B-ROLL · GRAPHICS · EDIT PLAN · SHORT-FORM CUTDOWNS ·
PUBLISHING CHECKLIST · UNVERIFIED CLAIMS · MISSING ASSETS ·
FINAL HUMAN REVIEW CHECKLIST

The shape of a run

Raw idea → Agent 1 returns three options → you pick one → Agent 2 returns three packages → you pick one → Agents 3 to 6 run through to the end → FINAL-VIDEO-PACKAGE.md → you review and publish.

The two gates are both at the front, which is the right place for them. Changing your mind about the concept costs nothing at stage one and costs a rewrite of everything downstream at stage five. After packaging is approved, the remaining four stages are mechanical enough to run without stopping.

!
What it cannot see unless you connect it

Claude Code has no automatic access to YouTube or social analytics, to your editing software, to publishing tools, to current trends, or to any external data. Every one of those needs an API, an MCP server, a browser or search tool, a connector or a credential actually configured. Without that the agents are working only from PROJECT.md, research/ and examples/ — which is fine, and is exactly why the prompts forbid inventing the numbers they cannot look up. The failure mode is not the tool being missing; it is an agent filling the gap with something plausible.

Before publishing

The final checklist

Title approved · thumbnail approved · hook matches the videoStory is accurate, and claims are verified against real sourcesScript reviewed by a human end to endEvery asset in the plan actually existsAI-generated visuals labelled wherever they appearNo fabricated results presented as realCopyright and licensing checkedFinal video watched, start to finish, by a personPublishing explicitly approved — never automatic