Skip to main content
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), 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:
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.

Verify

What the one-call gate actually asserts.

Recipe: clone a site

The measured rebuild flow briefs point at.