---
reliability: 3.3 # 5 − 5 core image-gen stages ×.3 (silhouettes, variations, anchor, poses, key art) − .2 6th-stage overflow; color script deterministic; materials/equipment/lighting/turntable/model-sheet marked OPTIONAL (turntable adds −.6 i2v when used); quality gates + auto-retry mitigate but no proven E2E showcase
---

# Character design — agent playbook ⭐ flagship

> Paste this whole file (with the BRIEF filled in) into Claude cowork, chat, or Code. **This is storyboard's flagship.** It implements a real character design pipeline — silhouette test before detail, materials before costume, microexpressions instead of "happy / sad," equipment as its own design pass, animation-ready model sheet at the end. Built to rival the best character design tools (Midjourney character-reference, Krea character mode, Civitai LoRAs, Pixar's character-bible methodology) — not match them. If a single playbook should convince you the MCP is professional-grade, run this one.

## What you'll get

A portfolio-grade character design package, structured the way a professional concept artist works:

- **4 silhouette studies** — pure-black readable shapes. The first decision before any detail. Pick the strongest silhouette.
- **Color script** — 1-page hero / accent / neutral palette derived from the chosen silhouette + your archetype.
- **8 stylistic variations** — your locked silhouette and palette, eight different rendering styles (painterly, cel-shaded, ink-wash, gouache, photoreal, stylized 3D, ghibli, comic). Pick the rendering.
- **4-view anchor sheet** — front / profile / 3-quarter / back, premium model, proportional guides for animation rigs.
- **Materials study** — close-ups of fabric, metal, leather, hair, skin — the textures that define the look.
- **Equipment / signature props** — weapon / tool / signature item rendered with the same fidelity as the character.
- **Expression library — 8 microexpressions** — not just "happy / sad," but resolute squint, weary grin, suppressed rage, surprised-then-recovering, the specific emotional vocabulary the character lives in.
- **6 hero poses with silhouette discipline** — each pose tested against the silhouette-readability rule before final render.
- **3 lighting studies** — key / fill / rim variations on the hero pose (gives the character a "thumbnail in any lighting" anchor for downstream art).
- **Cinematic key art** — 1920×1080 promotional shot at `quality_threshold: 0.9`, `max_retries: 2`. The portfolio piece.
- **12-frame turntable** — controlled rotation showing the character from every 30°, suitable as direct input to a 3D rigger.
- **Animation-ready model sheet** — front / back / side with proportional guides + costume callouts, structured the way rigging studios want it.
- **Character bible HTML** — everything embedded in a single shareable page: silhouette, palette, materials, expressions, poses, key art, model sheet, bio.

**Time**: ~60 minutes wall clock. **Your attention**: about 14 minutes across 12 gates. **Cost**: $5.50–$9.50 end to end. *This is the premium-quality tier* — every step uses premium models, the key art uses `flux-dev` with two retries, video uses `seedance-i2v`. The budget tier of this playbook would cut materials + equipment + lighting studies and run for ~$2.

## Tell the agent about the character

```yaml
game_title:          # e.g. Hollow Reign — Tactical Fantasy RPG  ·  or "personal project" / "novel: The Vanishing"
character_role:      # e.g. protagonist · antagonist · companion · faction archetype · supporting cast
character_name:      # the in-fiction name (becomes the entity_name in the registry)
character_archetype: # e.g. exiled paladin · neon-cyber samurai · sky-pirate captain · river-witch · disgraced engineer
setting_world:       # 1-2 sentence world description — informs costume materials, props, lighting
visual_style:        # the rendering style — leave this open-ended; the 8-variation step explores. e.g. "stylized painterly with cel-shaded edges"
narrative_age:       # the character's age + life stage. Drives proportions, posture, costume wear.
character_traits:    # 3-5 visual identifiers (white scar over right eye, raven on left shoulder, prosthetic forearm, wears one earring, missing finger)
costume_keywords:    # 3-5 costume notes (long traveling coat, leather harness, fingerless gloves, embroidered hem, scuffed boots)
signature_item:      # the character's defining prop (heirloom dagger / mechanical wing / cracked compass / a single rune-marked book)
emotional_range:     # 3 emotions the character lives in (defines the expression library). e.g. "weary resolve, suppressed grief, dry humor"
hero_pose_brief:     # 1 sentence describing the final key-art pose. Specify framing — wide cinematic? close character study?
palette_hex:         # OPTIONAL — 4 hex colors. If blank, the color-script step derives them from your archetype + world.
character_slug:      # kebab-case (used in filenames), e.g. lyra-hollow-reign
```

---

## Quality controls (new — auto-applied)

This playbook leverages the closed quality loop. The agent applies these by default; you don't have to ask:

- **Cost upfront.** Before any multi-step batch fires, the agent calls `submit_plan` with `confirm:false` and shows you the proposed steps + total cost. Nothing runs until you approve.
- **Auto-retry on weak shots.** The server default is `quality_threshold: 0.7`. **This playbook uses 0.85 routine, 0.9 on the key art and model sheet** — every shot is brand-locked to the anchor.
- **Critic verdict on the result.** The cross-asset critic fires twice in this playbook — once after the 6-pose batch (catches face drift across poses) and once at the end on the entire batch (catches overall character coherence). Each verdict surfaces ship / iterate plus specific issues.
- **One-click recovery.** If a step fails, `get_plan` returns a `recovery` hint pointing at `replan({plan_id})` — the agent classifies the failure and proposes a recovery plan you can approve.
- **End-of-project scorecard.** The final wrap-up calls `get_scorecard({project_id})` and surfaces character face-consistency score across every hero shot.

> **Why this playbook is premium-tier (not the default 0.7):** the difference between "decent character design" and "professional character design" is consistency. Every shot below the anchor is auto-retried until it matches; every cross-asset critique flags drift before you ship. This is the discipline a concept-art studio applies to every character bible — you're getting it automated.

## How the agent should run this (interaction contract)

1. **CONFIRM (one message, ≤1 question):** restate in 1 line ("full character bible for <name>, premium tier ~$5.50–9.50 / ~60 min — or budget ~$2, skips materials + equipment + lighting") and fold Step 0's two taste questions into that ONE message (visual target + thumbnail-vs-print). Then run the gates.
2. **PREVIEW CHECKPOINT:** the **4 silhouettes (~$0.20) + color script (~$0.05)** — these two cheap gates decide 80% of the character BEFORE the expensive key art ($1.20, 0.9 threshold + retries) or turntable ($0.80 i2v) ever fires. Never let the user spend past Step 3 without locking silhouette + palette + rendering.
3. **NARRATE:** 1-liner per step with cost + ETA ("6-pose batch via submit_plan, ~$0.80, ~5 min"); poll `get_create_media` every 10–15s on batches, surface every critic verdict verbatim, never silent >2 min.
4. **FAIL GRACEFULLY:** below-threshold shots auto-retry (≤2); critic flags 2+ drifted expressions/poses → re-pass the anchor URL aggressively, then propose `submit_lora_train` from the anchor + first 4 expressions; flux-dev fail → gpt-image; turntable `seedance-i2v` hang → `ltx-q-i2v` (`num_frames:241`) → the 12-keyframe stills alternative. A bible that stops after key art still ships — partial beats nothing.
5. **DELIVER:** bible HTML + scorecard + one honest line ("face consistency 0.XX across hero shots — anchor recipe is ~85–90%, not LoRA-grade; faces homogenize on microexpressions") + ONE next step: train the per-character LoRA if this becomes a series.

## How this works

Twelve gates. The first three are the most important — silhouette, color, rendering style. **These three decisions determine 80% of the final character.** Get them right and the rest of the pipeline runs cleanly. Get one of them wrong and every subsequent step amplifies the mistake. The playbook is structured to make the early gates cheap (text-and-shape work, no costly inference) and the late gates expensive (key art with retries) — by the time you spend the money, you've made the design decisions that matter.

You're never approving in the dark. Every step shows you what it made, runs the critic where applicable, and asks one focused question.

## The steps

### Step 0 — Confirm the brief

The agent reads back the BRIEF and asks two taste questions:
- "Hard-edged graphic / soft painterly / photoreal / stylized 3D — what's your visual target?"
- "Is the character meant to read as iconic-at-thumbnail-size, or detail-at-print-size?"

The answers tune every subsequent prompt — silhouette weight, edge treatment, detail density.

**STOP**: "Brief looks right? (approve / edit [field] [new value])"

### Step 1 — Silhouette test (~2 min, ~$0.20) — *the first design decision*

Four pure-black silhouettes of the character — same archetype, same costume_keywords, but **four different reads**: tall-and-slender, compact-and-grounded, asymmetric-with-flowing-shape, geometric-and-armored. No face, no color, no detail — just the shape the character cuts against a white background.

This is how professional character designers start: a character that doesn't read at silhouette won't read at any size.

> **For the agent**: prompt explicitly for silhouette-only — "pure black silhouette on white background, no detail, single readable shape, full body, neutral pose." Pass `quality_threshold: 0.85`. Use `flux-dev` for clean shape work.

**STOP**: "Open the viewer. Which silhouette? (silhouette 1 / 2 / 3 / 4) — pick the one that reads instantly. This becomes the body-shape lock for everything below."

### Step 2 — Color script (~1 min, ~$0.05) — *the second design decision*

The agent writes a 1-page color script: 1 hero color (the dominant) + 1 accent (signature, used sparingly) + 1 neutral (most of the palette) + 1 disruption (the unexpected note). Derived from your archetype + setting_world + the chosen silhouette's energy. No render yet — just the palette with named swatches, color theory notes, and a brief justification.

If `palette_hex` was set in the brief, the agent honors it. Otherwise it proposes.

**STOP**: "Approve the palette, or shift? (approve / shift [direction], e.g. 'less saturated', 'warmer hero', 'cooler accent')"

### Step 3 — Rendering style — 8 stylistic variations (~4 min, ~$0.60) — *the third design decision*

Now we render. Your locked silhouette + your locked palette, eight different rendering styles. The agent calls `create_variations` with `count: 8, mode: mixed`, and each variation explicitly carries the silhouette + palette as a constraint, varying only the rendering treatment:

1. Painterly digital with visible brushwork
2. Cel-shaded with hard line work
3. Ink-wash with selective color
4. Gouache with painted texture
5. Photoreal with cinematic lighting
6. Stylized 3D-render look
7. Studio Ghibli watercolor
8. Comic-book bold-line

Each is rendered full-body, neutral pose, premium model. This is where the character finally "looks like" something.

> **For the agent**: pass `quality_threshold: 0.85` on each variation. Surface the critic verdict on the batch — should be SHIP across all 8 if the silhouette and palette are working. If the critic flags 3+ variations as ITERATE, the underlying brief might be the issue; surface that diagnosis to the user before they pick.

**STOP**: "Which rendering becomes canonical? (variation N) — this is the third and final aesthetic decision. From here, every shot uses this rendering."

### Step 4 — Lock the 4-view anchor sheet (~3 min, ~$0.50)

The agent takes your chosen variation and renders four reference views — **front, profile, three-quarter, back** — at premium quality. These four views together become the `character_anchor` that locks face, silhouette, costume, and palette for every shot below. The back view is non-negotiable — animation rigs need it; most AI tools skip it.

Saved with project_id; the agent registers the front-view URL as the canonical anchor in the entity registry.

> **For the agent**: pass `quality_threshold: 0.85` on each of the four anchor views. After all four render, register them with `character_anchor` keyed on `character_name` so subsequent prompts auto-route through them. The four-view anchor is the single most important asset in this playbook — every step below references it.

**STOP**: "Anchor sheet shown (4 views). Lock it in, or refine before continuing? (lock / refine [direction])"

### Step 5 — Materials study (~3 min, ~$0.40) — OPTIONAL (budget tier skips)

Close-ups of the materials the character is built from. The agent identifies 4-6 distinct materials from your costume_keywords + archetype (leather, brushed metal, embroidered fabric, distressed wool, polished bone, woven silk, weathered leather, etc.) and renders each as a 1024×1024 detail tile showing wear patterns, texture, and how light interacts with the material.

These tiles become reference for every subsequent shot — the agent passes the relevant material URL as `quality_anchor_url` on shots that need fabric / metal / leather fidelity.

> **For the agent**: pass `quality_threshold: 0.85`. The materials study is what separates "AI art" from "professional character design" — most workflows skip this and end up with characters whose costumes look generic-fantasy. Don't skip.

**STOP**: "Materials approved? (approve / redo [which]) — these become reference for every subsequent shot."

### Step 6 — Equipment / signature props (~3 min, ~$0.40) — OPTIONAL (budget tier skips)

The character's `signature_item` and any other named equipment from your brief, each rendered as a hero shot at its own premium quality. Weapon close-up, mechanical-wing detail, the cracked compass face — whatever they carry, design it like its own character.

> **For the agent**: pass `quality_threshold: 0.85` on each piece. Use the materials study URLs as `quality_anchor_url` for the relevant material on each piece (e.g. the brushed-metal tile for a sword, the embroidered-fabric tile for a banner).

**STOP**: "Equipment approved? (approve / redo [which])"

### Step 7 — Expression library — 8 microexpressions (~3 min, ~$0.50)

Not "happy / sad / angry / surprised." Eight microexpressions the character actually lives in, derived from your `emotional_range`. The agent prompts each as a close-up portrait with explicit emotional vocabulary:

1. **Resolute** — set jaw, focused eyes, neutral mouth, the look of decision-made
2. **Weary recognition** — small smile of someone meeting an old friend they thought lost
3. **Suppressed rage** — controlled face, tension visible only in the jaw line
4. **Surprised-then-recovering** — caught the moment before the mask returns
5. **Dry amusement** — half-smile, raised eyebrow, the look that says "really?"
6. **Quiet grief** — head tilted slightly down, eyes elsewhere, no tears
7. **Determined exhaustion** — bloodshot eyes, set mouth, the "one more step" look
8. **Disarmed honesty** — open expression, no defense, the rare unguarded moment

Each anchored to the locked face. Each at `quality_threshold: 0.85` + `quality_anchor_url: <anchor URL>`.

> **For the agent**: these are the trickiest shots — the AI tends to homogenize faces toward bland default. Pass the anchor URL aggressively. If the critic flags 2+ expressions as drifted, the user should consider training a LoRA from the anchor + first 4 expressions before continuing.

**STOP**: "Critic verdict on the 8 expressions. Approve all, or redo specific? (approve / redo [#] [direction])"

### Step 8 — Six hero poses with silhouette discipline (~5 min, ~$0.80)

Six action poses anchored on the locked design, **each tested against the silhouette readability rule** — if you draw the pose as a black silhouette, does it still read?

1. **Idle stance** — characteristic resting pose, weight on one leg, signature attitude
2. **Action / signature move** — the move that defines this character (sword cut / spell-cast / climb / flight)
3. **Victory** — confident, the audience knows the character won
4. **Defeat** — vulnerable, broken-but-not-yet-quit posture
5. **Walk-cycle keyframe** — mid-stride, dynamic, suitable as a rigger's first reference
6. **Conversation / intro** — three-quarter, friendly, the "this is who you'll be talking to" pose

The agent calls `submit_plan` for all 6 as one batch — total cost shown upfront, you approve once.

> **For the agent**: each pose passes `quality_threshold: 0.85` AND `quality_anchor_url: <anchor URL>`. Critically — after the 6 render, the agent calls `critique_batch` on the set with focus: "consistency" to surface face drift between poses. Surface that verdict as "6-pose critic: SHIP — face consistency 0.XX across all poses." If <0.7, propose a replan with stronger anchor emphasis.

**STOP**: "6-pose batch + critic verdict shown. Approve all, or redo? (approve / redo [#] [direction])"

### Step 9 — Lighting study on the hero pose (~2 min, ~$0.30) — OPTIONAL (budget tier skips)

Three lighting variations on your strongest hero pose:

1. **Key / fill / soft** — even three-point lighting, gallery-ready
2. **Hard rim / dramatic** — backlit, cinematic, low ambient
3. **Single source / mood** — one strong light source from a low angle, atmospheric

These give the character a "thumbnail in any lighting" reference — downstream art directors / animators need to know how the character holds up across lighting conditions.

> **For the agent**: pass `quality_threshold: 0.85` + `quality_anchor_url` on each. These shots are where rendering style consistency matters most — surface the critic verdict.

**STOP**: "Lighting study approved? (approve / redo [which])"

### Step 10 — Cinematic key art (~5 min, ~$1.20) — *the portfolio piece*

The hero shot. 1920×1080 cinematic promotional art, your `hero_pose_brief` from the brief, premium model (`flux-dev`), dramatic lighting calibrated by the lighting study you picked in Step 9, atmospheric background derived from `setting_world`. This is what goes on the game's storefront / book cover / pitch deck cover slide.

> **For the agent**: pass `quality_threshold: 0.9` (highest in the playbook) AND `max_quality_retries: 2` (the only step with 2 retries — this is the hero asset). Use `quality_anchor_url` so the character matches. Surface the FIRST attempt to the user before any retry — they can override "retry" with "ship as-is" if the first is already great.

**STOP**: "Key art shown. This is the portfolio piece — approve, refine for one more pass, or restart with new direction? (approve / refine [direction] / restart)"

### Step 11 — 12-frame turntable (~4 min, ~$0.80) — OPTIONAL (only when a rigger / 3D workflow needs it)

A controlled rotation showing the character from every 30° — 12 frames total, not a continuous video but a turntable strip suitable as direct input for a 3D rigger. The agent calls `create_media({ action: "animate", model_override: "seedance-i2v", source_url: <front_view_anchor_url>, resolution: "auto" })` with motion prompt: "slow controlled 360° turntable rotation, character centered, even lighting, no camera motion, frame-by-frame visible rotation." Or, if the rigger workflow prefers, 12 separate keyframe renders each at a specified rotation angle.

> **For the agent**: prefer the i2v approach for speed; offer the 12-keyframe alternative if the user mentions "rigger" / "3D" / "animation studio" in their setup. Either approach uses the anchor as input.

**STOP**: "Turntable approved? (approve / restart)"

### Step 12 — Animation-ready model sheet

A single composition with:
- Front, side, back views with **proportional guides** (head-height markers, shoulder-width line, midline crosshair)
- 3 expression panels along the bottom (resolute, intro-pose, signature)
- Material callout strip (the 4-6 material tiles from Step 5)
- Equipment row (the props from Step 6)
- Color script swatches as a footer

This is the asset a rigging studio / animator can hand straight to their team. No "AI weirdness" — proportions are correct, all views match, callouts are legible.

The agent composes this by tiling the rendered views with `create_media({ model_override: "ffmpeg-grid", columns: 2, ... })` (6 inputs across 3 rows for the 4-view + materials + microexpressions panel), then `create_media({ model_override: "hyperframes-lower-third", source_url: <grid_url>, ... })` adds the callout labels (proportion ratios, palette swatches) — rather than re-generating, so proportions stay exact and the text stays legible (never bake callouts into a generated image).

### Final step — character bible HTML + scorecard wrap-up

The agent writes a single-page HTML — `public/characters/{character_slug}.html` — with everything embedded:

- Hero key art (full-bleed)
- Character bio (LLM-written from your brief — name, role, archetype, traits, 2-paragraph backstory)
- 4-view anchor sheet
- Materials study tiles
- Equipment row
- Expression library 4×2 grid
- 6 hero poses 2×3 grid
- Lighting study triptych
- 12-frame turntable
- Animation model sheet
- Color script swatches

Then calls `get_scorecard({project_id})`:

```
Scorecard for cjob_xxx
{N}/{N} scenes shipped — critic: SHIP
Title: {character_name}
Steps: N/N succeeded (100%)
Quality: mean X.XX · M/N passed · K retries
Critic verdict: SHIP — character face consistency 0.XX across all hero shots
Cost: $X.XX actual (est $Y.YY) · Ts wall time
```

Paste the scorecard into your design crit channel.

## When you're done

The agent prints:

```
✅ Character bible HTML: public/characters/{character_slug}.html
✅ Key art (1920×1080): <URL>
✅ 4-view anchor sheet: <URL × 4>
✅ Materials study: <URL × 4-6>
✅ Equipment: <URL × N>
✅ Expression library (8 microexpressions): <URL × 8>
✅ 6 hero poses: <URL × 6>
✅ Lighting study: <URL × 3>
✅ Turntable (12 frames): <URL>
✅ Animation model sheet: <URL>
✅ Project viewer: <project URL>

Total spent: $X.XX
Total wall-clock: MM:SS
Critic verdict: SHIP — character face consistency 0.XX across all hero shots
```

## What to do next

- **Train a LoRA from the anchor + first 4 expressions** — once you have ~10 shots of the character at premium quality, `submit_lora_train` produces a per-character LoRA. Every future shot at lower cost, identical fidelity.
- **Run the playbook again with the same `setting_world` for a second character** — the second one anchored against the first reads as the same world; design cohesion across the cast.
- **For game devs**: the 4-view anchor sheet + 6 hero poses + turntable is exactly the package most rigging studios ask for. The animation model sheet (Step 12) is the deliverable they actually use.
- **For tabletop / RPG creators**: the bible HTML doubles as a player handout. Print to PDF, distribute at session zero.
- **For novelists / comic creators**: the expression library is the reference an illustrator wants on day 1. Hand them the bible URL and they can ship.
- **For VTuber / streamer commissions**: the turntable + 4-view anchor + materials study is what a 3D modeler needs to start rigging. Saves them the "what does the back look like?" question every commission ends up asking.
- **For AAA marketing**: the cinematic key art is the storefront / promo asset. Cost is $5-9 vs. the $500-2000 you'd spend commissioning a concept artist for the same fidelity. Run the playbook 5 times for variations; pick the best for ship.

---

> *"A character that doesn't read in silhouette doesn't read at all."* — every Disney / Pixar / Naughty Dog character design book. This playbook is built around that rule.
