WORKING SPEC SHEETREV. 02 — LONG FORMWOOO / ATRIVERSE

The artifact method

How a brief becomes something that doesn’t look machine-made — and how the same process runs inside every deck Wooo builds.

01Ground

Subject, audience, job. Named concretely before any aesthetic move.

02Plan

A token system committed in writing. No slides yet.

03Audit

Plan checked against a named list of defaults. Revised.

04Build

Plan enters as hard constraint, not suggestion.

05Critique

Render, look, cut one thing.

└── 05 and 03 both loop back to 02. Stages 02 and 03 are where quality is won or lost; everything else is execution.

·

The one idea

Most AI-built work isn’t ugly. It’s generic — it looks made for nobody in particular, because the model went straight from prompt to output and filled every unspecified gap with a statistical average of everything it has seen.

The entire method is one move: put a planning artifact between the brief and the build. Once a palette is pinned to six hex values and a type scale is fixed, there is nothing left to average toward.

Everything below is scaffolding around that move.

01

Ground the brief

Before a single aesthetic decision, three things have to be concrete: the subject in specific terms, the audience and what they already know, and the primary job — the one thing this must accomplish.

If the brief doesn’t supply them, they get proposed and confirmed rather than assumed. Distinctive choices come out of the subject’s own world — its industry, materials, vocabulary. A psychometric assessment for HR directors and a music app for teenagers should share almost no visual DNA.

The tell that this stage was skipped

A design that would work equally well for a fintech, a yoga studio, or a B2B dashboard. That isn’t versatility. It’s the absence of a point of view.

02

Write a plan, not slides

A compact token system, committed before any output exists.

TokenWhat gets committed
ColourFour to six hex values, named for intent — not primary-500. Naming forces you to say what each one is for.
TypeOne family, or two clearly distinct ones. Roles assigned. A real scale with deliberate weights and widths.
LayoutA one-sentence concept, then ASCII wireframes to compare options. Alignment decided explicitly — left, centred, justified.
PrinciplesTwo or three lines on what makes this specific artifact not-generic.

Why ASCII wireframes earn their keep

They’re cheap enough to make three and discard two — which is the only way you genuinely compare layouts instead of committing to whichever one appeared first.

   A — RAIL              B — STACKED             C — SPLIT
 ┌──┬──────────┐      ┌───────────────┐      ┌──────┬────────┐
 │01│ ▓▓▓▓▓▓▓▓ │      │ ▓▓▓▓▓▓▓▓▓▓▓▓▓ │      │ ▓▓▓▓ │        │
 │  │ ──────── │      │ ───────────── │      │ ▓▓▓▓ │  ████  │
 │02│ ▓▓▓▓▓▓   │      │   ▓▓▓▓▓▓▓     │      │ ──── │  ████  │
 │  │ ──────── │      │ ───────────── │      │ ▓▓▓▓ │        │
 └──┴──────────┘      └───────────────┘      └──────┴────────┘
  marks carry           everything one         demo does the
  the sequence          measure, quiet         talking, type
                                               stays support

This sheet uses A. The rail marks are legitimate here because the pipeline genuinely is a sequence — see the note on numbered markers in stage 04.

The hero decision

The first thing a viewer sees should be the most characteristic thing in the subject’s world — a headline, an image, a figure, a live demo. Big-number-plus-small-label plus gradient accent is the default treatment. It’s occasionally right. It’s never a choice if you never considered alternatives.

03

Audit the plan before you build

The stage nearly everyone skips, and the highest-leverage one in the pipeline.

The test: re-derive the plan from a generic version of the brief. Anything that appears in both is a default wearing a costume. Revise it, and say what changed and why.

Generated design currently clusters around five recognisable looks. Rendered honestly, at real values:

Considered goods for considered people
01 — Warm cream + serif + clayHigh-contrast serif on near-cream, terracotta accent. That accent is Anthropic’s own interaction colour, so on a client brief it reads as a tell twice over.
F4F1EAD977572A2724
Ship faster.
Break nothing.
02 — Near-black + one acid accentTinted black ground, single high-chroma green or vermilion. Reads as “developer tool” regardless of whether the product is one.
0B0B0BB6FF3DE8E8E8
The Quarterly Review
Hairline rules divide every region into equal measures, and the radius is zero throughout.
Dense columns imply editorial authority the content has not earned.
03 — BroadsheetHairline rules, zero border-radius, newspaper columns. Borrowed authority. Fine for actual editorial, odd elsewhere.
FBFBF8131313
Fast setupGet running in minutes, no config.
Secure by defaultEncryption on every layer.
04 — The SaaS-card kitContent chopped into identical rounded cards, one radius on everything regardless of hierarchy, the same soft grey shadow under each, gradient washes as decoration.
F7F8FAFFFFFF4B5563
PLATFORM
Built for scale
Secure · Compliant · Fast
Get started →
05 — Template chromeTracked-out caps eyebrow above every heading. Meta joined with middle dots. WORD — fragment labels. Tinted near-black for black. Mono for small data labels. An arrow glued to every button.
FFFFFF0B0B0B6B7280

The rule that keeps this from becoming dogma

Every one of these is legitimate for some brief. The problem is that they appear regardless of subject — they’re defaults, not choices. So: where the brief pins an axis down, follow the brief exactly, including when it asks for one of these looks. Where the brief leaves an axis free, don’t spend that freedom on a default.

04

Build

Typography

Line length under about 80 characters. Serif can run slightly longer, and serif body copy wants a little more line-height than sans. When type acts as a headline, make the treatment part of the design rather than a neutral pipe for the words.

Three treatments to avoid — the commonest generated tells:

TELL — accenting one word
Retail intelligence that actually moves

The colour pop implies emphasis the sentence doesn’t need. It’s decoration pretending to be hierarchy.

INSTEAD — let the type carry it
Retail intelligence that actually moves

Weight and tracking do the work. One voice, no interruption mid-sentence.

TELL — caps label above content
OUR APPROACH
Three ways we work

The label restates the heading. It adds a line and no information.

INSTEAD — cut it
Three ways we work

The heading was already doing that job. If a label genuinely carries information the heading can’t, keep it — but check first.

Structure is information

Outlines, borders, numbering, eyebrows, dividers — these should encode something about the content, not decorate it. The 01 / 02 / 03 marker is only correct when the content genuinely is a sequence.

MISUSED — parallel features
01SecureEncrypted end to end.
02FastSub-100ms responses.

These don’t happen in order. The numbers assert a sequence that doesn’t exist.

CORRECT — a real sequence
01Connect sourcePoint at your warehouse.
02Map fieldsThen confirm the schema.

Step two cannot precede step one. The marker is carrying information.

Motion

Non-user-triggered motion, sparingly and deliberately. One orchestrated moment — a single page-load sequence, one reveal — lands harder than scattered effects. Fade-and-slide-up on every section plus a hover transition on every card is the generic default and reads as machine-made.

Motion that answers a user action is always welcome, because it shows what changed. This sheet spends its entire motion budget on one thing: the five pipeline nodes staging in on load. Nothing else moves unless you touch it.

Copy

Words are design content, not decoration — and generated copy makes work feel templated just as fast as generated layout does.

  • Name things as users understand them. Someone manages notifications; they don’t configure webhooks.
  • Active voice. A button states what happens: Save changes, not Submit.
  • An action keeps its name through the whole flow. A Publish button produces a Published confirmation.
  • Errors explain what broke and how to fix it. They don’t apologise.
  • An empty state is an invitation to act, not a mood.
05

Critique

Spend your boldness in one place. One element is the memorable thing; everything around it stays quiet and disciplined. On this sheet it’s the five specimen cards in stage 03 — which is why the rest is near-monochrome and the accents are functional rather than decorative.

Then Chanel’s rule, applied literally: before it leaves the house, look in the mirror and remove one accessory.

A quality floor gets built in without being announced — responsive to mobile, visible keyboard focus, prefers-reduced-motion respected, accessible contrast, a palette that actually harmonises.

If your environment can screenshot, screenshot and look. Models are markedly better at critiquing a rendered image than at imagining one from their own source.

·

Where the model sits

There’s no clever algorithm here — a set of constraints and a sequence. But how you stage the calls changes results substantially.

StageCall shapeWhy
01 GroundCheap model, or inlineExtraction, not judgement.
02 PlanStrong model, own callHighest-value reasoning in the pipeline. Bundled with generation, the model rushes the plan to reach the output.
03 AuditStrong model, separate call, fresh framingSelf-critique inside the generating context is weak. Reframed as “audit against these five named defaults,” it measurably outperforms “is this good?”
04 BuildStrong model, plan in system promptPlan tokens are constraints, not suggestions.
05 CritiqueStrong model + screenshotVision on rendered output catches what source review misses.

Biggest single structural gain: split 02 and 04 into different calls. One prompt saying “plan then build” yields a perfunctory plan and generic output, because the model optimises for the visible deliverable.

Second biggest: stage 03 needs a concrete list. Vague self-review does nothing. Five named clusters produce real revisions.

·

Prompt library

Lift these directly.

Stage 02 — Plan

You're the design lead at a studio known for giving every client a
visual identity nobody mistakes for anyone else's. This client has
already rejected proposals that felt templated. They're paying for
a point of view.

BRIEF:     {brief}
SUBJECT:   {subject}
AUDIENCE:  {audience}
JOB:       {primary_job}

Output a design plan only. No code.

COLOR       4-6 hex values, each named for its intent
TYPE        typefaces and roles; the scale, with weights and widths
LAYOUT      one-sentence concept, then 2-3 ASCII wireframes to
            compare. State the alignment decision explicitly.
HERO        what the viewer sees first, and why it is the most
            characteristic thing in this subject's world
PRINCIPLES  2-3 lines: what makes this page unlike a generic one

Derive choices from the subject's own industry, materials and
vernacular. Take aesthetic risk where it is justified.

Stage 03 — Audit

PLAN:  {plan}
BRIEF: {brief}

1. Re-derive a plan from a GENERIC version of this brief.
2. Diff it against the plan above.
3. Anything appearing in both is a default, not a choice. Revise it.

Then check explicitly against these five clusters:

  a. cream #F4F1EA + high-contrast serif + terracotta #D97757
  b. near-black + a single acid-green or vermilion accent
  c. broadsheet: hairline rules, 0 radius, dense columns
  d. SaaS-card kit: identical rounded cards, one radius on
     everything, rgba(0,0,0,.1) shadow on each, gradient washes
  e. template chrome: ALL-CAPS eyebrows, "A · B · C" meta strings,
     "WORD — fragment", #0B0B0B for black, mono data labels,
     "→" appended to buttons

Where the brief PINS an axis, follow the brief exactly — including
when it asks for one of these looks. Only revise where the brief
left the axis free.

Output: revised plan + what changed and why.

Stage 04 — Build

The plan goes in the system prompt as binding constraint. Then:

Build to the plan exactly. Constraints:

TYPE       line length < 80ch; serif gets more line-height than sans.
           No accenting a single word in a headline. No all-caps
           labels. No typographic label above content that doesn't
           need one.

STRUCTURE  borders, numbering, dividers must encode something about
           the content. Only use 01/02/03 if the content really is
           a sequence — check first.

MOTION     at most ONE orchestrated non-user-triggered moment.
           No fade-and-slide-up per section. No hover transition on
           every card. Motion answering a user action is always fine.

COPY       user's vocabulary, not the system's; active voice; CTA
           states what happens; an action keeps its name through the
           flow (Publish → Published); errors say what broke and how
           to fix it; empty states invite action.

FLOOR      responsive to mobile, visible keyboard focus,
           prefers-reduced-motion, accessible contrast. Unannounced.

CSS        watch specificity — .section vs .cta on section spacing.

RESTRAINT  one element is the bold one. Everything else stays quiet.

Stage 05 — Critique

{screenshot}

Would this be mistaken for a generic AI-generated page? Name the
three specific elements that would give it away first.

Then: remove one accessory. Which single element should be cut?
·

How Wooo runs it

  1. Stages 02 and 03 are their own calls, before a single slide is written. The audited plan then enters generation as binding constraint.
  2. The plan is stored with the artifact, so restyling, exporting and beautifying all read the same pinned tokens instead of re-deriving an average.
  3. The defaults list is a checked asset, and it grows. Every named cluster is a predicate the audit, the score and the ship gate all read, so a violating look can’t render.
  4. The critique stage looks at real renders. Screenshots go to a vision pass that names what would give the deck away, then one element gets cut.
  5. Wooo’s own tokens live in a file (DESIGN.md) so the product doesn’t homogenise across iterations.
·

What actually makes the difference

If you take one thing from this: the gap between distinctive and generic is a planning artifact plus a named list of defaults to check against. Not model choice, not temperature, not prompt length.

The model is entirely capable of distinctive work. It reaches for averages when nothing forces it not to. Stage 02 forces it. Stage 03 catches what stage 02 missed.

Everything else is craft detail sitting on top of that.

THE ARTIFACT METHOD — REV. 02ARCHIVO / JETBRAINS MONO · E6E8E3 / 1C2B2A / A33A22 / 2F6B4E