Prompt anatomy · method, not artifact
Anatomy of a production research prompt
A walk through the seven sections of a ~900-line research agent that scored affiliate
applicants in production — what each one is for, and which failure it was written in response to. The
prompt itself belonged to the client and is not reproduced here; what is described is the shape, which
is the part that transfers to the next system.
7sections in the prompteach written in response to a named failure
~900lines in productiondescribed here, not reproduced — the file is the client's
3iteration phases with budgetsbroad research → gap fill → synthesise, no tools
4decision outcomestwo of the four are holds, by design
0declines the agent may issueit can only recommend; a human decides
Why this page exists
A scoring system whose rubric is hidden looks like a black box, and a black box that
can cut off somebody's income should not get the benefit of the doubt. This page opens the
engineering — iteration budgets, tool fallbacks, clamp rules, and a decision matrix a human can
audit — without handing over the client's file.
1 · Role and workflow contextwhat the agent is inside of
The opening block tells the model where it sits — that it is one node in a pipeline
fed by the partner platform's API, not a chat — and enumerates the jobs it must finish before it is
allowed to stop: parse the application, research the applicant, analyse what came back, score it,
run an authenticity check, draft a message to the person, and write a summary a human will read. Naming all
seven up front is what stops the model from doing the first two well and improvising the rest. The
block also declares which inputs may legitimately arrive empty, because an agent that treats a
known-null field as a missing dependency will burn its whole tool budget hunting for it.
2 · Rules that cannot be helpfully overriddenthe hard floor
A short block of policy the model is not permitted to reason its way around. The one
that matters most: the agent may never issue a decline. It can route an application to a human as a
recommended decline, and that is the end of its authority — because the cost of a false positive
here is somebody's income, and that decision belongs to a person who can be argued with. The rest of
the block forces complete structured output rather than prose, sets the default posture toward
approval so that manual review stays a targeted exception, and requires the applicant's own language
in any message that goes out to them. Each of these is a line the model crossed at least once in
testing before it was written down.
3 · The iteration contractphases with budgets
The agent loop is split into named phases with an explicit tool-call allowance each:
a first pass that parses the application and does broad research, a second that fills only the gaps
the first pass identified, and a third that synthesises and scores with no tool calls at all. Without
this the two characteristic failures both appear — scoring before the evidence is in, and calling
tools forever after there is nothing left to learn. Making the phase boundary explicit also gives the
model something to check itself against between iterations, which is cheaper than any external
supervisor.
4 · Exhaustive input parsingclaim-driven, not vibe-driven
Before any research happens, the agent must strip the application down to specifics:
identity and contact details, every URL in every field rather than the obvious one, each quantitative
claim the applicant made about their own audience, the products they say they have promoted, and the
internal inconsistencies worth noticing — a free email address with no site behind it, a phone
country that disagrees with the stated one, confident numbers with nothing to check them against.
The point is that research is then driven by a list of claims to verify. An agent that skips this
step goes looking for a general impression, and it always finds one.
5 · Tool strategy and fallbackswritten after the tools failed
A ranked order of retrieval tools with an explicit budget, and a stated expectation
that the lower-ranked ones will fail. Search proved far more reliable than direct platform scraping
for the thing that actually mattered — audience size — because the number is usually sitting in the
search snippet, and reaching for it there avoids the anti-bot wall entirely. Scraping is reserved for
ordinary websites, where it works. This section exists because flaky tools do not announce themselves:
they return something, the agent proceeds, and the output is confidently under-researched. Naming the
reliability of each tool, and what to do when one fails, converts a silent failure into a handled
one.
6 · The scoring frameworkReach 40 · Fit 35 · Engagement 15 · Identity 10
Four weighted factors out of a hundred, and the weights are the transferable part.
The design decision worth stealing is that reach and fit are scored separately and deliberately do
not influence each other: a specialist with a small but real audience of practitioners can score full
marks on fit while scoring low on reach, and the total then says something true about them rather
than just re-describing their follower count. Each component is clamped to its own maximum before the
total is summed, because a model asked for a number inside a range will eventually hand back one
outside it. A separate authenticity check accumulates from independent signals and is capped, so no
single weak signal can condemn an application on its own. And an approval below the threshold is
permitted only with a written, defensible reason attached — the override is allowed, but it has to be
said out loud where a reviewer will see it.
7 · The decision matrixscore and authenticity, into something ops can act on
The last section maps the score and the authenticity check onto four operational
outcomes rather than a verdict: approve, approve with monitoring, hold with a short list of
clarifying questions, or hold as a recommended decline. Two of the four are holds, and neither of
them ends the applicant's chance — the recommended-decline path still sends a respectful message
offering the person a window to supply what was missing. The reason for four outcomes rather than two
is that a binary forces every uncertain case into one of the confident buckets, and uncertainty is
the normal state of an application with a thin public trail. Giving the agent somewhere honest to put
it is what keeps the confident buckets trustworthy.
Disclosure
Description only. This page previously reproduced long passages of the prompt itself;
that material was the client's under the consulting agreement, and it has been removed. What remains
is an account of how the thing was built, written from memory of building it. If you want to see the
result rather than read about it, the review queue is running on the case
page against anonymised records — the rubric, a generated dossier, and the queue a human decides
in.