AI ADVERTISER · SOP

The AI Operator's
Playbook

How I plan, prompt, and iterate to build anything with AI. The system, not the tricks. One SOP, one read, ship by Monday.

Part 01
Plan Like a CEO
4 questions before you prompt
Part 02
The Prompt Anatomy
My 7-part structure
Part 03
Iterate to Perfect
The 4 refinement moves

Most people use AI like a calculator. Operators use it like a team.

Beginners type one-liners and hope. Operators run a system: 15 minutes planning, a structured prompt, then a tight iteration loop. The difference isn't smarter AI — it's a smarter process around the same AI.

This playbook is the exact system I use to build with Claude Code (and Base44, and ChatGPT, and any AI). It's three steps: Plan → Prompt → Iterate. Once it's in your head, you can build anything — landing pages, internal tools, client dashboards, full apps — without coding, without hiring, without losing weeks.

Prompter
What most agency owners do
  • Opens Claude Code, types a one-liner
  • Gets a generic draft, gives up or rewrites it manually
  • Re-prompts blindly when stuck
  • Never saves the prompts that worked
  • "AI is overhyped"
Operator
What this playbook teaches
  • Plans the brief on paper before opening AI
  • Writes a 7-part prompt that lands on the first try
  • Runs a 4-move iteration loop until it ships
  • Captures winning prompts as reusable skills
  • Builds an asset every week
Part 01 · Pre-prompt

Plan Like a CEO

Answer 4 questions before you open Claude Code. The 15 minutes you spend here save 5 hours of prompting in the wrong direction.

🧠 1.1 The Principle — 80% Plan, 20% Execute

Tactical workers prompt. Operators plan first. Every hour you spend planning saves five hours of prompting in the wrong direction. Not metaphorically. Literally.

Beginners skip planning because typing into the chat box feels productive. It isn't. It's the AI version of opening Photoshop with no brief — you'll move pixels for hours and end up with nothing usable.

💡 Why AI specifically rewards planning

AI mirrors the specificity of your input. Vague brief in → generic output back. Tight brief in → usable output back. Your planning isn't separate from the prompt — it is the prompt.

🎯 1.2 The 4 Questions — Answer These Before You Open AI

Open Notes / Notion / a napkin. Answer each in 1-3 sentences. Don't open Claude Code until they're all answered.

Question 1
What does DONE look like?
Specific. Observable. If a stranger walked in, could they tell whether it's done?
WEAK:"Make me a dashboard"
STRONG:"A web app where I input a client name + Meta ad account ID and get back a branded PDF report with weekly KPIs, top 3 ads, bottom 3 ads, and a 1-paragraph AI summary"
Question 2
What are the constraints?
Time budget. Tools to use or avoid. Scope boundaries. The constraints keep AI from drifting into 4-hour scope creep. Say "don't" as often as "do."
WEAK:"Build it however"
STRONG:"Static HTML only, no Next.js. Use the existing course CSS. No new dependencies. Time-box: 90 min. Don't rewrite anything already working."
Question 3
What inputs does AI need to do this well?
Files. Examples. Brand voice. Existing patterns. URLs. Sample data. AI without context guesses; AI with context delivers.
WEAK:"Write it in my voice"
STRONG:"Use this brand voice doc [paste], match the structure of this existing lesson [paste link], use these brand colors [hex codes], match the energy of this hero section [paste]"
Question 4
How will I know it worked?
Define success BEFORE you build. The "demo moment" — what proves it works. Telling AI the success criteria makes it self-check.
WEAK:"Should be good"
STRONG:"I can paste a real client name and ad account ID, click Generate, and get a branded PDF in <30 sec that I could send to a client without editing"

🛠️ 1.3 Tool Selection — Right Tool for the Job

Not every task is a Claude Code task. Picking the wrong tool burns hours. The shortcut:

Task typeUseWhy
Custom code, files, repo editsClaude CodeFile access, persistent context, can spawn agents. Default for "build me something custom."
Full-stack app from one prompt (auth + UI + DB)Base44 / Lovable / v0One prompt → working web app. Faster than Claude Code when you need a hosted app, not a script.
Quick Q&A, brainstorming, copy draftsClaude.ai / ChatGPTFast, no setup. Don't open Claude Code to draft a tweet.
Long task you want to run in the backgroundAgent + delegationSpecialized agent runs while you do other things. Best for research, audits, multi-step work.
Long-form writing, sales letters, VSLsClaude.ai + copywriting skillBetter narrative quality, fewer AI patterns, easier to refine in chat.
Image / video / audio generationSpecialized tools (Midjourney, Runway, ElevenLabs)Different model families. Claude/GPT can't render — use the right model.

💡 Rule of thumb: If you'll use it once → ChatGPT. If you'll use it weekly → Claude Code (save it as a skill). If non-technical people need to use it → Base44.

📋 1.4 The 1-Page Brief (Template + Real Example)

Once you've answered the 4 questions, drop them into this template. This becomes the skeleton of your prompt in Part 2.

📐 The template (copy this)
PROJECT: [name] DONE LOOKS LIKE: [specific, observable outcome] CONSTRAINTS: - [tech / tools] - [time budget] - [what NOT to do] INPUTS: - [files / URLs / brand] - [examples to match] SUCCESS CRITERIA: [the demo moment that proves it works] TOOL CHOICE: [Claude Code / Base44 / ChatGPT / etc — and why]
🧪 Real example — the brief I wrote for this site
PROJECT: AI Advertiser SOP site (the one you're on) DONE LOOKS LIKE: Live Vercel site at ai-advertiser-sop.vercel.app — one-page SOP teaching my planning, prompting, and iteration system. Matches visual style of ai-advertiser-course. CONSTRAINTS: - Static HTML only, no Next.js - Match existing course CSS (don't rebuild) - Time-box: 90 min for build + deploy - One full SOP page, not a multi-module site INPUTS: - Existing site: sites/ai-advertiser-course/ (style + structure reference) - My CLAUDE.md self-review rules (the rubric I want students to learn) - Brand voice: direct, no fluff, agency-owner energy SUCCESS CRITERIA: Students can read the whole SOP, understand my system, apply it to build their own thing the same week. Deploys cleanly to Vercel on first try. TOOL CHOICE: Claude Code — file edits, persistent context, can deploy via shell.

That brief took 8 minutes. The actual build (one full SOP page + deploy) took 90 min. The brief was the work.

✅ 1.5 Plan Checklist

Part 02 · Structured prompting

The Prompt Anatomy

My 7-part structure: Role · Goal · Constraints · Inputs · Format · Examples · Eval. Lands on the first try.

⚡ 2.1 Why One-Liners Don't Scale

Type "Write me a landing page" → generic AI landing page you've seen a thousand times. Type a structured prompt → the exact thing you can deploy.

AI mirrors the specificity of your input. Power users aren't smarter — they're more specific.

⚠ WEAK PROMPT
Write me a landing page for my SOP about how I use AI.
What you get
Generic 5-section landing page. Stock copy. Hero says "Unlock the Power of AI." Three rounds of revision. You rewrite it yourself.
✓ POWER PROMPT
[Role] AI Advertiser SOP site, teaching site for agency owners. Tone: direct, no fluff. [Goal] Landing page hero — eyebrow, h1, subtitle, CTA. [Constraints] No em dashes. No "unlock/empower." Fits above the fold. Static HTML. [Inputs] Voice: anti-guru. Audience: agency owners running 5-20 clients. Course: Plan, Prompt, Iterate. [Format] HTML snippet, inline styles. CSS vars: --orange: #3B82F6. [Examples] Match this energy: [paste]. [Eval] Confirm: no em dashes, fits fold, uses #3B82F6.
What you get
Drop-in hero. First try. Ships.

🧬 2.2 The 7 Parts of a Power Prompt

Every power prompt I write has these 7 sections. Some are 1 line, some are 10. All are present.

Part 1 of 7
Role / Context
Who you are. What the project is. Why this matters. Anchors AI to the right "register" — agency owner vs. junior copywriter vs. senior engineer.
ExampleYou're helping me build the AI Advertiser SOP site. I run a media buying agency teaching students. The site is a teaching resource — tone is direct, no fluff. Code goes live on Vercel.
Part 2 of 7
Goal
The exact outcome. One or two sentences. If you can't say it clearly, you don't know what you want — go back to Part 1 (Plan).
ExampleWrite the landing page hero — eyebrow tag, h1, subtitle, primary CTA button.
Part 3 of 7
Constraints
What NOT to do. Scope boundaries. Tech to use or avoid. Best operators specify "don't" as often as "do."
Example- No em dashes (I rewrite them anyway) - No "unlock / empower / leverage" - Static HTML only, no Next.js - Must fit above the fold on 13" laptop - Don't change anything outside the hero
Part 4 of 7
Inputs
Everything AI needs to do this well. Files. Examples. Brand. URLs. Sample data. Without inputs, AI guesses wrongly. With inputs, AI extrapolates from your real patterns.
Example- Existing site for visual reference: [paste path] - Brand voice: anti-guru, direct, agency-owner energy - Audience: agency owners running 5-20 clients - CSS variables: --orange: #3B82F6; --bg: #0A0A0A
Part 5 of 7
Output Format
The exact shape. HTML? JSON? Markdown? Code block? File path? Vague format = vague output. Specify down to indentation.
ExampleOutput: clean HTML snippet, inline styles only (no separate CSS), semantic tags (h1 not div). Wrap in a single <section>. No comments in the output.
Part 6 of 7
Examples
One example is worth 500 words of explanation. 1-3 examples max — more confuses.
ExampleMatch this energy: [paste 1-2 hero sections you love] NOT this energy: [paste 1 you hate, so AI knows what to avoid]
Part 7 of 7
Evaluation
How AI should self-check before answering. The secret weapon. Catches half your revisions before they happen.
ExampleBefore answering, confirm: 1. No em dashes 2. Hero fits above the fold (under 600px tall) 3. Accent color is #3B82F6 4. No "unlock/empower/leverage" 5. CTA button is high-contrast

📐 2.3 The 3 Rules That Make or Break Prompts

Rule 1
Show, don't tell.
One example beats 500 words. "Write in my voice" is weak. "Write in this voice: [paste 3 paragraphs of your stuff]" is strong. Always.
Rule 2
Specify the format.
Vague format = vague output. "Give me a summary" → unstructured paragraph. "Give me a 3-bullet summary, each bullet under 15 words, no preamble" → exactly what you want.
Rule 3
State the test.
Telling AI what success looks like makes it self-check. The Eval section isn't optional — it's the difference between 60% output and 95% output.

📋 2.4 The Template (Copy + Paste)

Save this somewhere you can reach in one keystroke.

COPY ALLROLE / CONTEXT: [Who I am. What the project is. What's at stake. What "good" means.] GOAL: [The exact outcome — 1 or 2 sentences.] CONSTRAINTS: - [What NOT to do] - [Tech to use / avoid] - [Scope boundary] - [Time / size budget] INPUTS: [Files, URLs, examples, brand voice, sample data — front-load it.] OUTPUT FORMAT: [Exact shape — HTML / JSON / markdown / code block.] EXAMPLES: [1-3 examples of what right looks like. Show, don't tell.] EVALUATION: Before answering, confirm: 1. [Check 1] 2. [Check 2] 3. [Check 3]

🧪 2.5 Three Real Prompts I've Shipped (Steal These)

Real prompts from real builds. Notice how the 7 parts show up every time, just dressed differently.

🔹 Prompt A — Generate ad copy variations
ACONTEXT: You're a senior media buyer writing Meta ads for a roofing client in Tampa, FL. GOAL: Generate 6 short Meta ad copy variations (under 90 chars primary text + 40 char headline) for a $0-out-of-pocket insurance roof replacement offer. CONSTRAINTS: - No em dashes, no "unlock/empower" - Each variation = different angle (urgency, social proof, fear, benefit, authority, story) - Tampa-specific where it fits - No fake stats — only credible numbers like "300+ roofs done" INPUTS: - Niche: residential roofing, storm/insurance focus - Offer: free drone inspection, insurance handles claim, $0 out of pocket - Trust signals: licensed/bonded/insured, lifetime warranty, 300+ local roofs FORMAT: Markdown table — Angle | Primary Text | Headline. EXAMPLES: Match the energy of this winning ad: [paste your control ad] EVALUATION: Before answering, confirm: 1. Each row has a different angle 2. No copy exceeds char limits 3. Tampa appears in 2+ variations 4. No em dashes, no "unlock/empower"
🔹 Prompt B — Audit a Meta ad account
BCONTEXT: Senior media buyer doing a paid audit for a prospect. Deliverable goes to the prospect — it's the work that closes them. GOAL: Audit the last 30 days of this Meta ad account. 1-page report: 3 wins, 3 problems, 3 specific tests for next week. CONSTRAINTS: - Plain English, no jargon - Specific to THIS account — no generic advice - Every claim backed by a number from the account - Under 1 page (about 600 words) INPUTS: - Ad account ID: act_XXXXX - Date range: last 30 days - Industry: dental practice, $40 target CPL - Audit framework: [paste your standard checklist] FORMAT: Markdown doc, 3 sections (Wins, Problems, Tests). Each section: 3 bullets. Each bullet: headline + 2-sentence detail + 1 supporting metric. EXAMPLES: Match the structure of this past audit: [paste] EVALUATION: Confirm: 1. All 9 bullets have a specific metric 2. No generic advice — all account-specific 3. Total under 600 words 4. The 3 tests are concrete (variable, hypothesis, success metric)
🔹 Prompt C — Build a custom internal tool (Claude Code)
CCONTEXT: Small internal tool for my media buying agency. Single user. Lives locally. Node.js + a single HTML file. GOAL: CLI script that reads a CSV of leads, deduplicates by email + phone, scores each one (0-100) based on reviews/rating/recency, outputs a sorted CSV ready for cold outreach. CONSTRAINTS: - One Node.js file, <200 lines - No dependencies beyond `papaparse` - Don't refactor anything in the repo - Don't add tests — one-off - Time-box: 30 min INPUTS: - Sample CSV: /Users/me/leads/sample.csv - Scoring: review_count (40 pts) + rating (30 pts) + has_email (20) + has_phone (10) - Output path: /Users/me/leads/sample_scored.csv FORMAT: Single Node.js file at `tools/score-leads.js`. 5-line usage comment at top. EXAMPLES: Match style of: tools/clean-emails.js EVALUATION: Confirm: 1. Runs end-to-end on sample CSV without errors 2. Output CSV has score column, sorted descending 3. Under 200 lines 4. No new deps beyond papaparse

✅ 2.6 Prompt Checklist

Part 03 · Refinement

Iterate to Perfect

First drafts are always 60%. The 4 moves (Critique · Show · Add · Reset), the self-review rubric, and how to capture wins so you never re-invent.

💯 3.1 The First Draft Is Always 60%

60%
AI's first pass is usually 60% there. Not 100. Not 0. Sixty. That's the baseline. Trying to one-shot perfection is the most common amateur mistake.

Pros expect iteration. They prompt the first draft KNOWING they'll refine. Beginners give up after one pass and conclude "AI sucks." Operators run the loop.

🔁 3.2 The 4 Refinement Moves

Move 1
🔍 CRITIQUE — Ask AI to find its own flaws
Before you spot the problems, ask AI to spot them. Models are surprisingly good at critiquing themselves when framed adversarially.
Use when: you have a draft and you can tell something's off but can't pin it down.
Steal this promptCritique this output as if you're a skeptical senior strategist reviewing it before it ships. What's missing? What's weakest? What did you skip? Be brutal — I'd rather hear it from you than from the client.
Move 2
👁️ SHOW — Show AI exactly what's wrong
Don't say "make it better." Show the bad output, point at the specific issue, explain why it's wrong, say what to keep.
Use when: AI delivered something almost right and you can articulate the issue.
Steal this promptHere's your output: [paste]. The issue is in [section X]. Specifically [the headline is too generic / the tone shifted to corporate]. Fix that. Keep everything else exactly as is.
Move 3
➕ ADD — Extend instead of restarting
When something's missing, don't restart. Don't re-explain. Add to the conversation. Preserves context and builds on what works.
Use when: the output is good but incomplete.
Steal this promptGood — keep that. Now add: a third variation that targets first-time home buyers specifically. Same constraints as before. Don't change the first two.
Move 4
🔄 RESET — Start fresh with everything you learned
Sometimes the conversation gets stuck. Open a new chat. Write a NEW prompt baking in everything from the failed rounds. Fastest path forward, not slowest.
Use when: 3+ rounds and not converging.
Steal this prompt[New chat. Write a fresh 7-part prompt that includes:] - The original goal - All constraints you discovered are important - Examples of wrong outputs and what was wrong - An explicit "don't do X" list based on what you learned

💡 Order of use: Critique → Show → Add → Reset. Move down only if the current move doesn't fix it. Most builds end at Show. Reset is a last resort, not a first instinct.

🪞 3.3 The Self-Review Rubric (Before You Ship)

Before AI output goes to a client, student, or the public, run it through this 4-question check. If any answer is "no," fix it. Don't ship and apologize.

CheckQuestion
Instruction matchDoes this do EXACTLY what was asked? Not 80%. Exactly.
CompletenessIs anything missing? Did AI skip a section, a constraint, an edge case?
Voice / toneDoes it sound like ME (or my brand)? Or did it drift into corporate AI voice?
AI pattern scanEm dashes? Triple structures? "Unlock / empower / leverage"? "Let's dive in"? Scrub them.

🏆 This rubric lives in my CLAUDE.md. It runs on every conversation I have with Claude Code. Put it in yours too — it becomes automatic.

💾 3.4 Capture the Win — So You Never Re-Invent

When a prompt finally works, the job isn't done. It's done when the prompt is saved, named, and reachable in 5 seconds next time. Otherwise next week you're re-inventing the same wheel.

1. Save to your SOP folder

Drop the prompt into /sops/[name].md. Title it clearly. Include context for when to use it.

2. Turn it into a Claude Code skill

If you'll use it regularly, make it a skill (folder under .claude/skills/). Trigger with a slash command. 5-second activation.

3. Add it to your team's library

Notion page or shared GitHub repo of "tested prompts." Knowledge compounds across the agency, not just for you.

🧠 The compounding effect: Each saved prompt cuts 20-30 minutes off the next time. Save 5 prompts a month → 100+ hours/year. This is how operators outpace prompters by 10× — never re-doing work.

⚠️ 3.5 When to Stop Iterating

Iteration is the work. But iteration without convergence is grinding. If you've done 5+ rounds and it's not getting better, stop. The problem isn't AI — it's the brief.

🚨 The move: Stop iterating. Go back to Part 1 (Plan). Re-answer the 4 questions with what you've learned. Then write a fresh prompt from scratch. This feels like going backward — it's the fastest path forward.

✅ 3.6 Iterate Checklist

The Whole System

Plan → Prompt → Iterate → Review → Capture

That's the chain. Memorize it. Run it on every meaningful AI task. Watch your output quality 10× in a week.
📋
PLAN
4 Qs + brief
→
🧬
PROMPT
7-part structure
→
🔁
ITERATE
Critique · Show · Add · Reset
→
🪞
REVIEW
4-Q rubric
→
💾
CAPTURE
Save · skill · share

🏷️ Tags

ai-operatorplanningprompt-anatomyiterationself-reviewknowledge-captureclaude-code

Made for AI Advertiser students · by Rodrigo Krueger

Tools I use: Base44 for no-code apps · Claude Code for everything else