# Higgsfield Character Design

> Pre-production story-and-character development for Higgsfield projects — the upstream layer that decides WHAT to prompt before any model runs. Use when the user wants to build a character, design a world, develop a story or premise, create a character sheet / character bible / story bible, lock a visual style or 'visual DNA', plan a multi-shot narrative with consistent characters, or says things…

- **Type:** Skill
- **Install:** `agentstack add skill-osidemedia-higgsfield-ai-prompt-skill-higgsfield-character-design`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [OSideMedia](https://agentstack.voostack.com/s/osidemedia)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [OSideMedia](https://github.com/OSideMedia)
- **Source:** https://github.com/OSideMedia/higgsfield-ai-prompt-skill/tree/main/skills/higgsfield-character-design
- **Website:** https://higgsfield.ai

## Install

```sh
agentstack add skill-osidemedia-higgsfield-ai-prompt-skill-higgsfield-character-design
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Higgsfield Character Design — Story Bible

The rest of this skill library answers *"how do I prompt this?"* This skill answers the question upstream of it: *"what am I prompting, and why this and not generic AI slop?"* It is the pre-production layer — premise, world, character, story, and a locked visual style — that you build **before** writing a single generation prompt, then hand off to `higgsfield-prompt` and the model guides.

> **Attribution.** The framework, worksheet structure, and the "world first" method are adapted from Higgsfield's official *Character Design* materials by **@vavavinca**. We reuse the *schemas and method*; all examples here are original. Credit Vinca when sharing.

## QUICK FACTS
*Routing aids — read the linked sections for the actual method.*
- **World first, always.** Lock the world before you cast a character; the world is the gravity that shapes who they have to become [→](#the-method-world-first)
- Six steps, each locks an output you do not revisit: Premise → World → Character → Story Spine → Style Sheet → hand-off [→](#the-method-world-first)
- The flagship artifact is the **9-Question Character Sheet** — thematic role, external/internal goal, psychological/moral need, wound, spark, silhouette, contradiction [→](#step-3-character-9-questions-the-web)
- The strongest anti-slop tool is the **Forbidden List** in the Style Sheet — naming what the world is NOT is often more useful than the palette [→](#step-5-style-sheet-visual-dna-forbidden-list)
- Specificity beats adjectives: if *any* character could say it, it's a stereotype; keep asking **"why?"** until the answer surprises you [→](#anti-generic-drills)
- Fillable worksheets live in `../../templates/character-design/` — hand them to the user or fill them together [→](#templates)
- This skill produces inputs; it does **not** generate. Hand the locked Visual DNA + character sheet to `higgsfield-prompt` [→](#step-6-hand-off-to-generation)

---

## The method: world first

A world is **a system of constraints**. Decide what the world will not let a character do, and you have decided who they have to become. So the order is not negotiable — each step locks an output the later steps depend on, and you don't loop back to relitigate it:

```
1. PREMISE      one arguable sentence, no characters yet
2. WORLD        six dimensions, filled before anyone is cast
3. CHARACTER    9 questions + a relationship web
4. STORY SPINE  10–20 beats, "therefore / but", never "and then"
5. STYLE SHEET  palette + lighting + materials + a FORBIDDEN list (the Visual DNA)
6. HAND OFF     feed the locked sheets into higgsfield-prompt + a model
```

The failure mode this prevents is the common one: open Higgsfield → generate a cool image → realize there's no story or consistency → quit. Build the bible first; the image is the *receipt*, not the recipe.

If the user arrives mid-stream ("I already have a character"), don't force them back to step 1 — locate where they are, check the upstream outputs exist (a character with no world is the usual gap), and fill the missing layer.

---

## Step 1 — Premise

One sentence, **no character names**. It states an arguable claim about people or the world, not a plot. Four fields, then a pressure test (worksheet: `../../templates/character-design/premise.md`).

1. **Theme statement** — a claim, not a logline. *"Belonging is something you build, not something you're owed."*
2. **What it argues** — the testable belief. *"People who wait to be chosen stay invisible."*
3. **The counter-argument** — the opposing truth the story must honor, *or the theme is propaganda.* *"Some people are kept out no matter what they build."*
4. **Emotional promise** — one word + one line. *"Defiance — the thrill of a door forced open."*

**Pressure test (all five):** compresses to ONE sentence (no "and", no semicolon) · contains NO character names · is arguable · has a real counter-argument · names a feeling, not just an event.

---

## Step 2 — World Sheet (six dimensions)

Fill **all six** before casting anyone (worksheet: `../../templates/character-design/world-sheet.md`). Each answer must be specific and must not change when characters arrive.

| Dimension | The question it answers | Original example |
|-----------|-------------------------|------------------|
| **Physical** | Look, sound, smell, climate, geography, architecture | "A tide-city built on stilts; the streets flood twice a day and everyone owns a boat before they own shoes." |
| **Social** | Who has power, how it passes | "Status is measured in dry land. The few who own ground above the tideline never have to row." |
| **Economic** | Currency, what's scarce, what people kill for | "Fresh water is the real currency; salt ruins everything, so sealed jars are inheritance." |
| **Ideological** | What's sacred, shameful, unspoken | "Drowning is shameful — it means you didn't read the water. Nobody says a drowned name aloud." |
| **Historical** | What everyone remembers or has forgotten | "The Great Surge took the old capital a century ago; half the city pretends it's coming back." |
| **Sensory** | The daily textures the body knows | "Rope-burned palms, the green smell of low tide, lantern oil, the constant give of a floor that moves." |

**Done check:** read it aloud — does it sound like *one* world (no contradictions)? Is every answer specific? Will it stay true once characters walk in? Lock it. See also [Hard vs soft worldbuilding](#hard-vs-soft-worldbuilding) for how knowable the rules should be.

---

## Step 3 — Character (9 questions + the web)

### The 9-Question Character Sheet
The framework's flagship artifact (worksheet: `../../templates/character-design/9-question-character-sheet.md`). Header: name, age, world, archetype. Then, in order — vague answers are the enemy; only *this* character should be able to give them:

1. **Thematic role** — what they prove or disprove about the premise. *"That belonging can be built — he builds a crew out of other discards."*
2. **External goal** — a specific, currently-impossible want. *"Buy the deed to a square meter of dry land before the next Surge season."*
3. **Internal goal** — what reaching it would mean about themselves. *"Proof he's worth keeping, not just useful to keep around."*
4. **Psychological need** — the flaw that hurts THEM. *"He treats every kindness as a debt he has to discharge before it's used against him."*
5. **Moral need** — the flaw that hurts OTHERS. *"He recruits people for their use, then can't admit when he's done using them."*
6. **Wound** — the specific past event that taught them the world hurts. *"At nine, watched his mother trade her water ration to a landlord who let her drown anyway."*
7. **Spark** — the specific past event that taught them what to become. *"A stranger pulled him out of the tide and asked his name — the first person who wanted it."*
8. **Silhouette** — what their shape says across a room. *"Always half-crouched at a doorway, weight on the back foot, ready to bolt or bargain."*
9. **Contradiction** — two things that don't match. *"Pretends he travels light. Keeps a waterlogged ledger of everyone who ever did him a favor."*

### The Character Web
Characters reveal themselves in friction, never alone (worksheet: `../../templates/character-design/character-web.md`). Map four spokes around the hero — **Opponent** (the primary opposite), **Ally** (who they lean on), **Mentor** (who taught them), **Foil** (the variation that exposes them). Characters can move *through* roles over the story (a mentor who becomes an opponent is a person; one stuck in a single bubble is a function). Diagnostic: if you can take one spoke away and the hero says the same line in every scene, the web is too thin.

---

## Step 4 — Story Spine

10–20 numbered beats (worksheet: `../../templates/character-design/story-spine.md`). **Beat format:**

```
Beat N: [character] [does / discovers / loses] [thing]. Result: [the next problem].
```

Connect beats with **"therefore"** or **"but"** — never "and then" (that's a list, not a story). Mark the **Midpoint Turn**: which beat flips the premise against the lead. Stop when the premise is proven — don't pad to hit 20.

---

## Step 5 — Style Sheet (Visual DNA + Forbidden List)

Lock the look once, then inject it verbatim into every prompt (worksheet: `../../templates/character-design/style-sheet.md`). Two ways to build it: **(A)** let the model draft it from the World Sheet (the worksheet carries a ready-to-paste prompt), or **(B)** fill it by hand. Six constants:

- **Palette** — 5–7 hex codes (`#1B3A4B`, `#6FA8A0`, …). Inject the hex, don't describe colors in prose.
- **Lighting** — the recurring light logic ("flat overcast noon, warm lantern pools after dark").
- **Materials** — what the world is made of ("wet rope, salt-bleached wood, hammered tin, oilcloth").
- **Juxtaposition** — one familiar + new pairing that fixes the world's identity ("a child's birthday party on a half-sunk rooftop").
- **Age & proportion** — the build/era language for characters.
- **Real-life refs** — 2–3 actors / paintings / films for the look (treat as *look* references, not identity to copy).

**The Forbidden List is the most valuable field** — name what the world is **NOT**. It's often more useful than the palette and it's your strongest anti-slop lever:

> *NO generic flooded-city teal-and-orange. NO neon. NO pristine surfaces — everything is salt-scarred. NO clear blue sky. NO photoreal celebrity faces. NO pure-black shadows; use deep indigo instead.*

This Visual DNA — hex palette + forbidden list — is what gets pasted into prompts to keep a series consistent. See `higgsfield-soul` (Soul HEX) and `higgsfield-style` for how the color lock is applied at generation time.

---

## Step 6 — Hand off to generation

This skill produces inputs; it does not generate. When the bible is locked, route forward:

- **The prompt** → `higgsfield-prompt` (MCSLA structure). Inject the Visual DNA (hex + forbidden list) verbatim, and pull the subject from the character's Silhouette + Contradiction, the action from the relevant Story Spine beat.
- **The model** → `model-guide.md` / `image-models.md`. For a character who recurs across many shots, train a **Soul ID / Soul Cast** identity (`higgsfield-soul`) rather than re-rolling one-offs; for a single hero image that won't reappear, a one-off generation is fine.
- **Multi-shot sequences** → `higgsfield-cinema` (Cinema Studio) for shot-by-shot continuity; the Story Spine beats become the shot list.
- **Generic prompts get generic characters.** A thin prompt ("a young man's portrait, cyberpunk") cannot recover what the sheet would have supplied — the locked sheet is the difference between a function and a person on screen.

---

## Anti-generic drills

Three fast tests for killing slop, usable at any step:

- **Always Ask Why.** Repeat "why?" until the answer surprises *you*. "He's guarded." Why? "He was betrayed." Why does that still run him? "Because the one who betrayed him also taught him everything." A stereotype is any line *any* character could say; yours is the line only this one could.
- **One Wound, Two Characters.** The same wound produces opposite people. "Abandoned as a child" → one runs toward every relationship and clings; another refuses to need anyone. Pick the *less* obvious reaction.
- **Eyes Wide Shut / Silhouette test.** Can you recognize the character from shape alone, with no face? If the silhouette doesn't read (warrior / mystic / rogue), the design is generic — fix it before generating.

---

## Hard vs soft worldbuilding

How knowable should the world's rules be? Decide with three questions (worksheet note in `world-sheet.md`):

1. Does the story depend on the audience *mastering* the rules? Yes → **hard** (rules are explicit and consistent, e.g. heist/system stories).
2. Do you want the audience feeling smart or feeling *wonder*? Smart → hard; wonder → **soft**.
3. Are you willing to leave things unexplained? Yes → soft (mystery preserved, e.g. fable/dream logic).

Hard worlds reward consistency in your prompts (repeat the same physical rules); soft worlds reward atmosphere over explanation. This choice changes how literal your World Sheet's Physical/Historical dimensions should be at generation time.

---

## Templates

Fillable worksheets in `../../templates/character-design/` (hand them to the user or fill collaboratively):

| Worksheet | Step |
|-----------|------|
| `premise.md` | 1 — theme + counter-argument + pressure test |
| `world-sheet.md` | 2 — six dimensions + hard/soft check |
| `9-question-character-sheet.md` | 3 — the flagship character schema |
| `character-web.md` | 3 — Opponent / Ally / Mentor / Foil map |
| `story-spine.md` | 4 — beats + midpoint turn |
| `style-sheet.md` | 5 — Visual DNA + Forbidden List (+ AI-draft prompt) |

---

## Related skills
- `higgsfield-prompt` — turns the locked sheet into an MCSLA generation prompt (the primary hand-off)
- `higgsfield-soul` — Soul ID / Soul Cast for recurring-character consistency; Soul HEX for the palette lock
- `higgsfield-cinema` — Cinema Studio multi-shot sequences; Story Spine → shot list
- `higgsfield-style` — applying the Visual DNA / forbidden list at generation time
- `model-guide.md` · `image-models.md` — picking the model for the character/scene

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [OSideMedia](https://github.com/OSideMedia)
- **Source:** [OSideMedia/higgsfield-ai-prompt-skill](https://github.com/OSideMedia/higgsfield-ai-prompt-skill)
- **License:** MIT
- **Homepage:** https://higgsfield.ai

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-osidemedia-higgsfield-ai-prompt-skill-higgsfield-character-design
- Seller: https://agentstack.voostack.com/s/osidemedia
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
