AI Models
AI Models · agent skill
Character Bible
Lock a face, body and style across renders.
Scan 100/100Grade A~1,189 tokens on trigger1 fileWhat it does
Lock a face, body and style across renders.
Your agent loads it when the user creates or reuses an AI character. It carries 4 rules and reads a profile.md with your details before it starts, so the output matches your brand and project.
SKILL.md, first 40 lines
---
name: character-bible
description: "Use when the user creates, names, reuses or continues an AI character, model or influencer, or says \"keep the same face\", \"same girl every time\", \"my character looks different each render\". Writes a character bible with fixed face anchors, body, age range and a negative list, then repeats it word for word in every image or video prompt. Reads profile.md for model name, look, style, setting and camera."
---
# Character Bible
A character stays the same person only if the words describing her never change. Image models drift because every prompt re-describes the face in new words. This skill writes the description once, freezes it, and pastes it unchanged into every prompt.
## Before you start
Read `profile.md` in this folder:
| profile.md line | Use |
|---|---|
| **Model name** | The character's name. Use it as the label for the bible and every prompt. |
| **Look** | Source for the face anchors, hair, build and age range. Expand it, never contradict it. |
| **Style** | Wardrobe and mood default for each shot. |
| **Setting** | Default locations. Rotate through them. |
| **Camera** | The camera line appended to every prompt (lens, film or phone look). |
If a line says "not set", ask the user once, write the answer into profile.md, then continue.
## Workflow
1. Check whether a bible already exists (a `character-bible` section in profile.md or a file the user names). If yes, load it and skip to step 5. Never rewrite a locked bible unless the user asks.
2. Expand **Look** into face anchors. Fill all eight slots: face shape, eye colour and shape, brow shape and thickness, nose, lips, skin tone with undertone, one or two permanent marks (freckles, a mole, a small scar), hair colour, cut and length. If the user gave fewer, choose the missing ones and show them for approval.
3. Fix the body in words: height range, build, shoulder width relative to hips, and a head-to-body proportion of roughly seven and a half heads for an adult. Write it once.
4. State age as a range of five years or fewer, adult only, 21 or older ("late 20s", "26 to 30"). Never a single number. Add a negative list of 6 to 10 items that must never appear: different eye colour, heavy makeup if not wanted, extra fingers, plastic skin, text or logos, a second person, and any feature that contradicts the anchors.
5. Build each prompt in this fixed order: `[anchor block, copied verbatim] + [outfit] + [pose and expression] + [setting and light] + [Camera line] + [negative list]`. Only the middle three parts change between shots.
6. For a set of shots, change one variable at a time (outfit, or setting, or pose). Changing all three at once is the main cause of drift.
7. After the user shares results, compare each against the anchors. Name which anchor drifted and tighten that one phrase, not the whole bible.
## Rules and thresholds
- The anchor block is 60 to 110 words. Shorter leaves gaps the model fills randomly; longer gets partly ignored.
- Anchors use concrete features ("hazel eyes, slightly hooded, straight dark brows"), never vibes ("beautiful", "striking", "stunning").
- Copy the anchor block character for character. Do not paraphrase, reorder or abbreviate it.
- One imperfection per face is permanent (a mole, a gap in the brow). Faces with no asymmetry read as synthetic.
- Do not name real people or celebrities as a likeness reference.Install
One command, in your project folder. It detects your agent; add --agent all for every agent.
npx proskills-cli add character-bible
Or copy the skill folder (the one holding SKILL.md) into the directory your agent reads, then restart it or start a new session.
| Agent | This project | Every project |
|---|---|---|
| Claude Code | .claude/skills/ | ~/.claude/skills/ |
| Cursor | .agents/skills/ (or .cursor/skills/) | ~/.cursor/skills/ |
| Codex | .agents/skills/ | ~/.agents/skills/ |
| Gemini CLI | .agents/skills/ (or .gemini/skills/) | ~/.gemini/skills/ |
More from AI Models
The scan checks spec compliance, token cost, clarity and security patterns. A clean scan is not a guarantee: static scanners can be evaded. Scan any skill yourself.