---
name: loop-author
description: >
  Write a new marketing loop file: a goal prompt with named inputs and explicit
  prohibitions, a verifier prompt that can fail, and a stopping condition a stranger
  can check. Use when turning a recurring marketing request into something an agent
  can run unattended, or when an existing prompt keeps producing work nobody can
  verify.
license: MIT
---

# loop-author

Turn a marketing request into a loop file an agent can finish without supervision.

## When this applies

Someone has described a recurring job ("keep our pages answer-ready", "turn releases
into posts") and wants it to run without being watched. Or an existing prompt produces
output that nobody can check, so it gets rewritten by hand every time.

## What you produce

One markdown file with four parts, in this order.

### 1. The goal prompt

Instructions for the maker agent. It must:

- **Name every input by path or identifier.** Never let the agent guess where truth
  lives. If it needs positioning, name the file. If it needs a page list, name it.
- **State what may not change.** Existing numbers, unlisted claims, files outside
  scope. A loop without prohibitions rewrites things nobody asked it to touch.
- **Name the output form.** A diff, a report file, a set of drafts. Never
  "improvements", because a vibe cannot be reviewed.

### 2. The verifier prompt

Instructions for a second agent in a fresh session that did not do the work. Write it
as a list of failure conditions, not a request to check quality:

```
FAIL if <specific mechanical condition>.
FAIL if <another>.
Otherwise PASS. Print the verdict and, on FAIL, the evidence.
```

Check facts, counts, and boundaries. Never check taste: a model asked whether writing
is good will approve, and the PASS will mean nothing.

### 3. The stopping condition

One sentence naming a state someone uninvolved can confirm. Use one of four shapes:

- A count: "all pages in the list have a before and after score"
- A comparison: "no page has a verification date older than the threshold"
- An exhaustion: "every question belongs to exactly one cluster"
- A verdict: "the verifier printed PASS", never used alone

If you cannot write one, the request is still too broad or it needs judgment that
should not be delegated. Say which, rather than inventing a condition.

### 4. What it may touch

Two lists: may, and may not. This is what makes a loop safe to run unattended.

## The checks before you hand it over

Run these yourself. Do not skip them.

1. **Can you describe an output the stopping condition would reject?** If not, it does
   not discriminate and the loop will always report success.
2. **Can you describe an output the verifier would fail?** If not, the verifier is
   decoration.
3. **Does the goal prompt name every file it reads?** Any unnamed input becomes an
   invented one.
4. **Is there a prohibition list?** Without one, expect scope creep on the first run.

## Failure modes to avoid

- **A stopping condition that is an outcome.** "Traffic increases" is outside the
  loop's control and on a timescale it does not run on. Outcomes belong in receipts.
- **A verifier that grades quality.** It will always pass.
- **A goal prompt that describes the result rather than the work.** The agent needs
  instructions, not a wish.
- **No output artifact.** If the loop does not produce a diff, a file, or a report,
  there is nothing to review and nothing to verify.

## Reference

Working examples of this format, each with a real receipt from a run:
https://vibemarketers.ai/loops

Download any of them as raw markdown to see the shape:
https://vibemarketers.ai/loops/answer-ready-page.md
