AI Content & Video

How to Build a Self-Correcting AI Content Agent (Writer + Critic Loop)

Build a self-correcting AI content agent with a Writer + Critic loop that catches weak hooks, fluff, and AI tells before you ever read the draft.
D
Founder, Asset Academy
·12 min read ·June 28, 2026 ·Updated June 30, 2026
Concept diagram of self-correcting AI content showing a Writer drafting, a Critic scoring against brand rules and returning named fixes, the revise loop repeating until it passes, then a gold human approve gate before publish.
Concept diagram of self-correcting AI content showing a Writer drafting, a Critic scoring against brand rules and returning named fixes, the revise loop repeating until it passes, then a gold human approve gate before publish.
In this guide9 sections
  1. What is a self-correcting AI content agent?
  2. Why does a Writer + Critic loop beat one prompt firing once?
  3. What brand rules should the Critic score against?
  4. What's the actual Writer + Critic loop prompt?
  5. What does the loop look like running?
  6. How do I save this so it runs on every draft?
  7. What are the honest limits of a self-correcting content agent?
  8. Frequently Asked Questions
  9. Where do you take this next?

You build a self-correcting AI content agent by running two roles in a loop instead of one prompt once: a Writer drafts, a Critic scores that draft against your written brand rules and returns named fixes, the Writer revises, and they repeat until the Critic passes it. The AI catches its own weak hooks and fluff before you ever read a word.

That changes what lands on your desk. Instead of editing a mediocre first draft by hand, you read a draft that already survived three rounds of its own scrutiny. Here's the exact loop, the editable brand-rules checklist it scores against, and how to run it today with zero code.

What is a self-correcting AI content agent?

A self-correcting AI content agent is one prompt structure where the model plays two roles that argue: it writes, then it grades its own writing against explicit rules, then it rewrites to fix what it flagged, looping until the work clears the bar. You're not getting a single shot at a draft. You're getting a draft that already lost a few arguments with itself.

A self-correcting AI content agent is a Writer + Critic loop: a Writer role produces a draft, a Critic role scores it against a named brand-rules checklist and returns specific fixes (not vibes), the Writer applies them, and the cycle repeats until the Critic passes the draft or hits a round cap. A human still approves the final.

This is the reflection pattern. It descends directly from the ReAct paper (Yao et al., 2022), which interleaves Reason, Act, and Observe in a cycle rather than firing once. The hub explains the loop primitive in full: what are agentic loops. The short version is goal, act, observe, decide, repeat, until a stop condition. Here the "observe" step is a Critic reading the draft, and the stop condition is "Critic passes."

Why does a Writer + Critic loop beat one prompt firing once?

Because one prompt has no second opinion, and a loop does. When you ask a model to "write a great LinkedIn post," it produces its best guess in one pass and stops. It never asks whether the hook actually hooks, whether line three is filler, whether it slipped into AI-tell phrasing. A single prompt can't see its own blind spots because nothing is looking.

The loop adds the thing that was missing: a critic with a checklist. Peter Steinberger put the shift bluntly when he said you shouldn't be prompting agents anymore, you should be designing loops that prompt your agents. Boris Cherny, who leads Claude Code at Anthropic, ships the same pattern: Claude Code has a real /loop command that re-runs a prompt on an interval with fresh context, and a /goal command that keeps an agent working until a completion condition is met. Matt Van Horn (printingpress.dev) packaged the idea for a wider audience and lives by "skillify everything," turning any repeated job into a reusable tool.

You don't need their tooling to start. You need two roles and a rule that the second role can't be polite.

What brand rules should the Critic score against?

Concrete, named, pass/fail rules, never "make it better." The Critic is only as good as the checklist you hand it. Vague rules produce vague feedback. Specific rules force specific fixes. Here's a starter checklist you can paste and edit. Cut what doesn't fit your brand, add what does.

The trick is that the Critic must return named fixes tied to these rules: "Line 1 fails Hook Strength, scored 5, rewrite to lead with the tension," not "the intro could be stronger." Named fixes are actionable. Vibes are not. If you want a deeper take on stripping the machine sound out of copy, see how to write copy with AI without sounding like AI.

What's the actual Writer + Critic loop prompt?

Here's the whole thing in one block. Paste it into any chat model, fill the brackets, and it runs both roles and the loop in a single conversation. No code, no setup.

Prompt to run a Writer + Critic loop (paste into ChatGPT, Claude, or Gemini)
You will play two roles and loop between them until the work passes.

CONTEXT
Brand: [YOUR BRAND, ONE LINE]
Voice: [e.g. direct, no fluff, second person, contractions, army-vet energy]
Asset to write: [e.g. a 150-word LinkedIn post about X]
Audience: [WHO]
Goal of the piece: [e.g. get a reply, a click, a save]

BRAND RULES (the Critic scores against these, pass/fail)
1. Hook strength: first line earns the second, score 1 to 10, below 7 fails.
2. No fluff: flag any sentence that could be cut with no loss.
3. No AI tells: ban "delve", "unlock", "supercharge", "game-changer",
   "in today's fast-paced world", "it's important to note". Any hit fails.
4. On-voice: matches Voice above. Flag press-release or professor tone.
5. Specific over generic: flag vague claims with no example or number.
6. Honest: no income claims, no fake scarcity, no invented stats.
[ADD OR REMOVE RULES HERE]

PROCESS
Step 1 (WRITER): Draft the asset.
Step 2 (CRITIC): Score the draft against every rule above. For each FAIL,
name the rule, quote the offending line, and give one specific fix.
End with a verdict: PASS or REVISE.
Step 3 (WRITER): If REVISE, rewrite applying every named fix. Do not
touch lines that passed.
Repeat Steps 2 and 3 until the Critic returns PASS, or until 4 rounds,
whichever comes first.

OUTPUT
Show EVERY pass labeled (Draft 1, Critique 1, Draft 2, Critique 2, ...)
so I can watch it improve. Then print the final passing draft on its own.

The two rules that make this work: the Critic must quote the offending line and name the rule it breaks, and the loop must print every pass. If you hide the passes, you can't trust the result or learn from it. If you let the Critic stay vague, the Writer has nothing concrete to fix.

What does the loop look like running?

It looks like an argument that gets shorter each round. Say you asked it for a LinkedIn post. Here's the shape of what you'd watch scroll by, trimmed for space.

Draft 1 (Writer): "In today's fast-paced world, businesses are unlocking new ways to grow with AI…"

Critique 1 (Critic): "FAIL, Rule 3 (AI tells): line 1 uses 'in today's fast-paced world' and 'unlocking.' FAIL, Rule 1 (Hook): scored 4, opens with a cliche, no tension. Fix: cut both phrases, open with a specific cost the reader is paying right now. REVISE."

Draft 2 (Writer): "Most teams still hand-edit every AI draft. That's the tax nobody talks about…"

Critique 2 (Critic): "Rule 1 (Hook): scored 8, names a real cost. Rule 3: clean. Rule 5 (Specific): 'most teams' is vague, add a concrete example. Fix: replace with a named scenario. REVISE."

Draft 3 (Writer): fixes the one remaining flag.

Critique 3 (Critic): "All rules pass. PASS."

Three passes, and the draft that reaches you already cleared your own checklist. You did zero editing to get there. Your job starts at "is this actually true and worth publishing," which is the judgment a model can't do for you. For the broader workflow this slots into, see how to create content with AI.

How do I save this so it runs on every draft?

Two paths, depending on how technical you want to get. The no-code path is the prompt block above: keep it in a notes file, paste it into a fresh chat whenever you write, swap the brackets. That alone raises your floor on every piece. It costs nothing and works in any chat model today.

The engineer path turns the loop into a reusable skill so you never paste it again. In a CLI agent like Claude Code, you save the Writer + Critic instructions as a skill file, then invoke it on any draft, or wire it to /loop so it runs the cycle automatically. This assumes you're comfortable with files and a terminal. That's the honest line: the most automated version lives in a CLI agent, not a chat box. If that's where you want to go, the full method is in how to turn AI prompts into reusable skills.

One security note for the engineer path. There's a tempting pattern (Van Horn's "Agent Cookie" is the well-known example) where you sync live browser auth to a second always-on machine so a headless agent stays logged in and can post for you. State this plainly: that machine holds already-authenticated sessions to everything you're logged into. If it's compromised, or the agent gets prompt-injected, an attacker inherits those live sessions with no credential-theft step. The encryption protects the transfer, not the standing unattended access. Real convenience, real blast radius. Gate it hard, and never point an unattended agent at publishing or anything that moves money.

What are the honest limits of a self-correcting content agent?

The loop raises the floor, it doesn't replace your judgment. A self-correcting AI content draft is still an AI draft. The Critic catches what's on the checklist; it can't catch a claim that's plausible but false, a take that's on-brand but wrong for this moment, or a piece that's technically clean but boring. Those are yours.

So keep a human on the commit step. Whether you run the no-code chat version or a CLI skill, nothing publishes, sends, or posts without you approving it. The loop is your first reader, not your last. It hands you a stronger starting point and saves you the mechanical edits. The decision to ship stays a human one, every time.

Frequently Asked Questions

Can I run a Writer + Critic loop in a normal chat like ChatGPT?

Yes, and that's the recommended starting point. Paste the prompt block above into ChatGPT, Claude, or Gemini, fill in the brackets, and the model plays both roles and runs the loop inside one conversation. You don't need any code, plugins, or a terminal. The no-code version captures most of the value.

How many rounds should the loop run?

Cap it at three to four rounds. After that you hit diminishing returns and risk the model over-editing good lines into mush. The prompt sets a four-round limit and stops early the moment the Critic returns PASS. If it never passes in four rounds, that's a signal your brand rules conflict or the asset brief is unclear.

Why must the Critic return named fixes instead of general feedback?

Because the Writer can only act on something specific. "Make the hook stronger" gives the Writer nothing to grab. "Line 1 fails Hook Strength, scored 5, rewrite to lead with the cost the reader pays today" tells it exactly what to change and why. Named fixes tied to a numbered rule are what turn a vague rewrite into a real correction.

Does this remove the AI sound from my writing?

It removes the obvious tells if you list them as a rule. The checklist bans the giveaway phrases, and the Critic fails any draft that uses them, so they get rewritten before you see them. It won't give you a voice you haven't defined, though. The more specific your Voice line and on-voice rule, the closer the output lands.

Is this the same as the agentic loops on the hub?

It's one specific application of them. The hub defines the general pattern: set a goal and guardrails, let the model act, observe, decide, and repeat until a stop condition. The Writer + Critic loop is that pattern aimed at one job, drafting, where the "observe" step is a Critic scoring the work and the stop condition is "passes the checklist."

Where do you take this next?

Start by running the prompt block on your next post and watching it argue with itself. Then make the checklist yours: cut the rules that don't fit, add the ones your brand lives by, and tighten the Voice line until the output sounds like you. That's where the real lift comes from.

If you want feedback on your brand-rules checklist or want to see how other operators are wiring these loops into real publishing workflows, come share it in the Asset Academy community: join us in Skool. Bring your draft and your checklist, and we'll pressure-test both.

D
Don Lyons is the founder of Asset Academy. He has been building and selling digital assets since 2007, and writes across every category with a bias toward the moves that actually move money.
Build it with us

Stop reading about copy. Write it with operators who ship.

Inside the Asset Academy community we build the copy, funnels, and offers together, with the prompts and the feedback. $96/mo, or save with annual.

Join the community →