shipped@di-atomic/persona-builder · v0.1.1 · beta

An AI employee somebody would actually pay to hire.

Not “write me a character.” persona-builder researches the real profession first, then composes the persona from what it found: the title from what the market calls the role, the skills from practitioner frequency, the self-description from the register practitioners use on themselves, and the name from name-frequency distributions checked until it belongs to nobody. Then it holds the face to a standard that only 7 of my own 102 shipped avatars met.

For anyone shipping an AI employee, a catalog agent, or a synthetic spokesperson, and for anyone whose persona keeps coming back looking obviously generated.

A chalkboard bar chart labelled 102 AVATARS, with a short gold segment marked 7 PASS at the left and 95 FAIL across the long remainder
Built by Di-Atomic Marketing & compliance agency Gate run against my own live catalog first Guidance-only, no credentials Clients incl. ONYX Radiance, Pamit Group
7/102of my own shipped avatars met the standard before I built this
17/17planted defects caught in testing, with 5 of 5 clean controls passing
5scripts that print PASS or FAIL, including one that fails closed
226words in the prompt that passed, against 85 in the one that shipped
Installopvs-skills install @di-atomic/persona-builder

Then say: “build a persona for a hospitality SDR” or “my persona looks AI-generated”.

Same character, same model, same day

The prompt that shipped
85 words. one paragraph.

names a mood, a wardrobe, a vibe.
no face shape.
no camera body, no focal length.
no aperture, no light direction.
nothing imperfect anywhere.

→ fails 8 checks

This returns a polished, smooth-skinned, symmetrical, evenly lit portrait. It reads as a model hired to look like the job. 95 of my 102 avatars were prompted roughly this way.

The prompt after the gate
226 words. three paragraphs.

para 1  the person and the face shape
para 2  camera body, 85mm, f/2.8
        light direction and falloff
para 3  pores, asymmetry, flyaway
        strands, a flush at the cheek

→ passes all 5 gates

Same person, same model, same afternoon. This one has visible skin grain, faint lines at the outer eye, and flat overcast light dying off toward the jaw. It reads as the executive rather than as a model playing one.

Both arms ran on kie/nano-banana-2. Nothing about the render path changed between them, which means the quality gap is a prompt gap, not a provider gap. That is a gap a script can close.

What that difference actually looks like

A portrait rendered from the shipped 85-word prompt: smooth even skin, symmetrical features, flat corporate studio lighting
The 85-word prompt. Polished, symmetrical, evenly lit. Indistinguishable from the stock-corporate avatar already in the catalog.
A portrait rendered from the 226-word standard-compliant prompt: visible pores and skin grain, facial asymmetry, flyaway strands of hair, flat overcast light falling off toward the jaw
The 226-word prompt. Pores, asymmetry, flyaway strands, light that falls off. The only variable that changed is the text.

The three rules doing most of the work

📷

Three camera registers, not one

An editorial headshot wants 85mm at f/2.8 on a blurred background. A social post wants a phone, uneven framing and some clutter. A casual post that looks studio-shot reads as an ad, and readers discount ads. The seed and the content want opposite cameras, so the gate checks per pack instead of applying one rule everywhere.

📎

Stop describing what the reference fixes

Once a reference image has locked the identity, re-describing the face in a variation prompt fights the reference and drifts the likeness. A good variation prompt says what changes, which is the setting, the pose and the light, and says nothing at all about the person.

🔍

Imperfection is the highest-value token

Pores, asymmetry, a stray hair, light falling off unevenly. Strip those out and you do not get a cleaner photograph, you get an obvious render. It is the cheapest single edit that moves an image from generated to photographed, and 74 of my 102 avatars contained none of it.

How the research actually runs

> "build a persona for a hospitality SDR"

  FRAME ....... 8 to 15 companies that really employ the role
                a human judgement call, and it is logged

  WIDE ........ company mode, short, ~1,000 people
                title vocabulary            approx $4

  SKILLS ...... keeper companies at full
                skills, experience, education   $8/1K

  DEEP ........ profile mode on 15 to 25
                headline + about          $0.003 each

  AGGREGATE ... distributions out
                individuals stay behind

  → no name, employer, biography, profile URL
    or photo survives into the persona file
  → manifest missing? the check FAILS CLOSED

The naming step is the one people get wrong. Taking the most frequent first name and pairing it with the most frequent surname reliably produces a real, findable person, so the name is composed across frequency bands instead and then checked against the research set until it belongs to nobody.

The standard, drawn out

A chalkboard drawing of three different cameras in a row labelled EDITORIAL, SOCIAL and STUDIO, under the line ONE RIG DOES NOT FIT THREE
Three jobs, three rigs. The gate checks the camera register per style pack, because a seed portrait and a social post want opposite cameras.
A chalkboard pipeline reading FRAME, WIDE, SKILLS, DEEP, AGGREGATE, with AGGREGATE circled in gold and a gold arrow down to the words INDIVIDUALS STAY BEHIND
Aggregate or nothing. Research returns distributions and vocabulary. The people it read stay behind, and the script enforcing that fails closed.
Why this exists

I ran the gate on my own catalog before I shipped it.

persona-builder is one skill in the system behind Di-Atomic, the marketing and compliance agency that runs cognitoAI, SpiderIQ and OPVS. Seven of my own hundred and two avatars passed, which is exactly why the skill exists: the standard was applied once and then quietly stopped being the default. If you are building AI employees that need to look like people somebody would hire, in any of our seven languages, that is the day job.

Book a 30-min call with Di-Atomic

Just want the skill? Get @di-atomic/persona-builder free.