> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wpos.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Recipe: agent briefs

> Writing build briefs that let an AI agent one-shot a site: the API-card-first rule, one-call verification, and fix-round budgets.

A build brief is the document you hand an agent along with a target site. The
difference between a brief that one-shots a four-page site and one that burns an
hour is not the design direction; it is the operating rules. These are the ones
that survived real batch runs. `eu-studio brief` generates a ready-to-run brief
for the current environment; this page is the doctrine behind it.

## The API-card-first rule

Make the agent's first act `exjsx api` (or reading the printed
[API card](/ultra/api-card)), and explicitly forbid grepping framework source,
conventions files, examples, or memory files. The card is the complete
authoring API: intrinsics, sx keys, kit helpers, gotchas. Agents that explore
source instead of reading the card spend their budget on archaeology and still
author against internals that were never public surface.

## One-call verification

Verification is where agent builds bleed time: each hand-written Playwright
probe is a tool call plus a model round-trip. The brief pins the whole gate to
single calls:

```text theme={null}
eu-studio check --pages /,/about/,/pricing/,/contact/ \
  --form /contact/ --accordion /pricing/ --burger / --nav /=about
```

One call, one browser session, the full structural matrix plus every
interaction test, in about a minute. After a fix that touches one page, the
brief says to re-check only that page. All measurement needs (screenshots,
section rhythm, geometry, text ink, font paint, diff sheets, copy extraction)
are pinned to `eu-studio measure <mode>`; the brief bans hand-written
Playwright and PIL outright.

## Fix-round budgets

Give a hard budget and an exit: **max two fix rounds, then report residuals
instead of chasing.** Convergence loops without a budget do not converge; they
oscillate around anti-aliasing noise. The brief's report format enforces the
exit: page IDs and URLs, the final check JSON verbatim, the screenshot
directory, and accepted deviations as a terse list. No prose narrative; the
JSON is the record.

## Structural diversity guidance

Left to defaults, models converge on the centered-column SaaS formula (hero,
three feature cards, stats band, testimonial, CTA). If you want design, ban the
default in the brief and make diversity testable:

* At most one section per page may be a centered single-column block.
* At least three distinct layout archetypes across the site: split-screen,
  asymmetric offset grid, sticky side rail, full-bleed color blocks with hard
  seams, oversized display type as layout, horizontal timeline, overlapping
  stacked cards, editorial multi-column text, diagonal section breaks, a table
  as a design object.
* Vary section rhythm: at least one very tall and one very short section per
  page; backgrounds must alternate meaningfully.
* Pages must not share one master section layout with swapped copy.
* The type scale must take a position: huge display contrast somewhere, or a
  strict editorial scale, not the safe middle everywhere.

## Trust the gates

Tell the agent explicitly: when `lint` prints a `verified:` fact or `check`
passes a probe, that fact is **proven**. Re-verifying proven facts with
hand-rolled scripts is the most common form of wasted budget. The
positive-assertion design of the gates exists so the agent can build on them.

## Spend thinking where it pays

The brief should direct effort: deep design thought at theme and authoring time
(one-shot the pages well), quick mechanical execution everywhere else.
Screenshots, crops, measurements, and redeploys are mechanical; deliberating
over them is waste. Concretely: write the whole site before the first deploy,
deploy with `--fast`, run one check call, judge shots at 1920 and 390, fix,
targeted re-check.

## Environment rules that prevent derailments

Small print that saves whole sessions, worth copying into any brief:

* The target site is already running; do **not** provision anything or kill any
  process.
* The server self-heals on crash; on a sudden request failure, wait about 15
  seconds and retry before diagnosing.
* Do not open pages in the Elementor editor on the playground.
* A deploy 422 names the offending envelope; the server validator is
  authoritative, fix the named thing.
* If CSS breaks: `eu-studio doctor` once; if the file store keeps flaking,
  `carry-css` once at the end.

## Related

<CardGroup cols={2}>
  <Card title="Verify" icon="clipboard-check" href="/ultra/verify">
    What the one-call gate actually asserts.
  </Card>

  <Card title="Recipe: clone a site" icon="clone" href="/ultra/recipe-clone-a-site">
    The measured rebuild flow briefs point at.
  </Card>
</CardGroup>
