Arcanea Book Cover Design Skill
Generate premium book covers by thinking deeply about the book first, then translating that thinking into a precision image prompt. NB2 is default. NB Pro only when user specifies "premium" or "hero".
The 5-Phase Method
Do NOT skip phases. The thinking is the skill. The generation is the reward.
Phase 1: READ THE BOOK (or its architecture)
Before writing any prompt, you must understand:
- Central tension — What does the protagonist fight against? What internal conflict mirrors the external?
- Emotional register — Is this grief-heavy? Wonder-heavy? Dread-heavy? A dark comedy? Bittersweet? Name it precisely.
- Iconic image — What ONE visual moment defines the book? The image a reader would tattoo on themselves.
- Genre expectations vs subversion — What do readers of this genre expect? What should you give them, and what should you withhold?
- Color emotional key — What color (singular) carries the book's feeling?
If the book has a book.yaml or outline, read them. If the book has existing chapters, read at least one opening and one pivotal scene.
Phase 2: PULL BEST PRACTICES
Top book cover designers operate on these principles. Keep them active during prompt design:
Chip Kidd's Rules:
- One idea, one image, one emotion
- The cover is a question, not an answer — it should make readers curious, not satisfied
- Text and image are one unit — typography is 50% of the cover
- Don't illustrate the plot. Illustrate the feeling.
Peter Mendelsund's Rules:
- Covers are "visual metaphors, not visual illustrations"
- Abstraction > literalism when the book is literary
- The reader should finish the book and look at the cover and think "of course"
- White space is content
Coralie Bickford-Smith's Rules (Penguin Classics):
- Pattern + symbol > scene (for literary)
- Limited palette (2-4 colors max)
- Typography must be the hero on pattern-based covers
- Consistency within a series, uniqueness between series
Genre-specific heuristics:
| Genre |
What sells |
What kills |
| Dark fantasy / grimdark |
Single figure, cold color + ember accent, imposing silhouette, minimal text |
Cluttered action, bright colors, generic fantasy tropes |
| Literary fantasy |
Symbolic object, atmospheric landscape, negative space, serif typography |
Characters' faces, action poses, over-illustration |
| Epic fantasy mashup |
Dynamic composition, heroic pose, dramatic sky, bold title |
Muddy color, too many elements, small title |
| Sci-fi |
Clean geometry, singular focal point, future-tech subtlety |
Cliché ships, robots, generic space |
| Romance |
Character connection, warm palette, emotion over action |
Text overload, generic stock |
| Thriller |
High contrast, negative space, one menacing element |
Too much happening, bright |
| Literary fiction |
Photograph crop, object as metaphor, serif title |
Fantasy tropes, illustration |
Universal principles:
- Title first: Typography must be readable at thumbnail size (Amazon grid)
- Composition rule of thirds: Focal point on intersection, not dead center
- Depth layering: Foreground / mid-ground / background — create dimension
- One hero color: Everything else supports it
- Resist clutter: If it's not essential, delete it
- Portrait ratio: 2:3 is the book cover standard (1200x1800, 800x1200, etc.)
Phase 3: COMPOSE THE PROMPT
The prompt has a specific structure. Follow it exactly:
Generate an image: [Genre descriptor] book cover for [TITLE]. Portrait orientation, 2:3 ratio.
SCENE: [One paragraph describing the single iconic image. Concrete. Specific. No abstractions.]
COMPOSITION: [Focal point location, depth layers, what's foreground/mid/background]
LIGHTING: [Source, direction, mood. Cinematic lighting terminology.]
PALETTE: [Hero color + 2-4 supporting colors as hex codes or named precisely]
TYPOGRAPHY: [Title at top/bottom, font style: serif/sans/display, weight: bold/thin]
STYLE REFERENCES: [2-3 specific references. Real designers, movies, or artists.]
MOOD: [One sentence on the emotional register the cover should evoke]
TECHNICAL: 4K resolution, portrait ratio, book cover composition, cinematic depth of field, readable typography.
Phase 4: GENERATE
Model routing:
- DEFAULT: NB2 (
gemini-3.1-flash-image-preview) — $0.02, portrait-native, best for covers
- PREMIUM (only when user says "premium", "hero", "final", or "launch"): NB Pro (
nano-banana-pro-preview) — $0.04
API call template:
# Load key from MCP config or env
# export GEMINI_API_KEY="your-key-from-aistudio.google.com"
MODEL="gemini-3.1-flash-image-preview" # NB2 default
# MODEL="nano-banana-pro-preview" # NB Pro (premium only)
curl -s "https://generativelanguage.googleapis.com/v1beta/models/$MODEL:generateContent?key=$GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"parts":[{"text":"PROMPT_HERE"}]}],"generationConfig":{"responseModalities":["TEXT","IMAGE"]}}' \
| python3 -c "
import json,base64,sys
data=json.load(sys.stdin)
for p in data.get('candidates',[{}])[0].get('content',{}).get('parts',[]):
if 'inlineData' in p:
d=base64.b64decode(p['inlineData']['data'])
out='apps/web/public/images/books/SLUG-cover.png'
open(out,'wb').write(d)
print(f'OK: {len(d)} bytes -> {out}')
elif 'text' in p:
print('Text:',p['text'][:200])
"
Save path convention: apps/web/public/images/books/[slug]-cover.png
(Add -nb2 or -nbpro suffix if generating multiple for comparison.)
Phase 5: VALIDATE
Before declaring the cover done, check:
If any fail, iterate. One re-generation is fine. Beyond that, revise the prompt.
Quality Tiers
- Draft cover — NB2, one generation, basic validation. Good enough for book-in-progress.
- Production cover — NB2, 2-3 generations, full validation, pick best. Default for published works.
- Premium cover — NB Pro, multiple angles, hero-quality. For launches, featured tier, or when user specifies.
Anti-Patterns (Never Do)
- Generic "fantasy book cover" prompts with no specificity
- Character faces unless specifically required (faces are the hardest AI generation)
- More than one human figure on the cover (crowd scenes fail)
- Trying to illustrate the entire plot in one image
- Using NB Pro by default (costs 2x with marginal benefit for most covers)
- Skipping Phase 1 (reading the book) to save time
- Bright neon palettes on literary books
- Embedded text longer than the title (taglines often fail in generation)
Integration with Arcanea Ecosystem
- Save covers to
apps/web/public/images/books/[slug]-cover.png
- Update
COVER_MAP in apps/web/app/books/drafts/[slug]/page.tsx
- Update
COVER_MAP in apps/web/app/books/drafts/page.tsx
- Log the cover generation in the book's
book.yaml under ai_transparency.models_used
- For featured tier books: also register in the book reader's metadata
Output Format
When using this skill, produce:
- The thinking — A brief (150-250 word) analysis of the book's tension, emotion, iconic image, genre expectations
- The prompt — The composed prompt with all 7 structural sections
- The generation — Execute the curl command, save to correct path
- The validation — Run the checklist, report pass/fail per item
- The result — Read the generated image and confirm visually
"A cover is a haiku. One image, one emotion, one question that makes you turn the book over to read the back." — The Arcanea Book Cover Method
1---2name: arcanea-book-cover3description: Design and generate premium book covers using NB2 (Nano Banana 2 / Gemini 3.1 Flash Image) with deep thinking about book tension, emotion, and genre. Pulls from top book cover design principles (Chip Kidd, Peter Mendelsund, Coralie Bickford-Smith). Auto-activates when user requests book cover, cover art, cover design, or mentions generating a cover for a book project.4---56# Arcanea Book Cover Design Skill78Generate premium book covers by thinking deeply about the book first, then translating that thinking into a precision image prompt. NB2 is default. NB Pro only when user specifies "premium" or "hero".910## The 5-Phase Method1112Do NOT skip phases. The thinking is the skill. The generation is the reward.1314### Phase 1: READ THE BOOK (or its architecture)1516Before writing any prompt, you must understand:17181. **Central tension** — What does the protagonist fight against? What internal conflict mirrors the external?192. **Emotional register** — Is this grief-heavy? Wonder-heavy? Dread-heavy? A dark comedy? Bittersweet? Name it precisely.203. **Iconic image** — What ONE visual moment defines the book? The image a reader would tattoo on themselves.214. **Genre expectations vs subversion** — What do readers of this genre expect? What should you give them, and what should you withhold?225. **Color emotional key** — What color (singular) carries the book's feeling?2324If the book has a `book.yaml` or outline, read them. If the book has existing chapters, read at least one opening and one pivotal scene.2526### Phase 2: PULL BEST PRACTICES2728Top book cover designers operate on these principles. Keep them active during prompt design:2930**Chip Kidd's Rules:**31- One idea, one image, one emotion32- The cover is a question, not an answer — it should make readers curious, not satisfied33- Text and image are one unit — typography is 50% of the cover34- Don't illustrate the plot. Illustrate the *feeling*.3536**Peter Mendelsund's Rules:**37- Covers are "visual metaphors, not visual illustrations"38- Abstraction > literalism when the book is literary39- The reader should finish the book and look at the cover and think "of course"40- White space is content4142**Coralie Bickford-Smith's Rules (Penguin Classics):**43- Pattern + symbol > scene (for literary)44- Limited palette (2-4 colors max)45- Typography must be the hero on pattern-based covers46- Consistency within a series, uniqueness between series4748**Genre-specific heuristics:**49| Genre | What sells | What kills |50|-------|-----------|-------------|51| **Dark fantasy / grimdark** | Single figure, cold color + ember accent, imposing silhouette, minimal text | Cluttered action, bright colors, generic fantasy tropes |52| **Literary fantasy** | Symbolic object, atmospheric landscape, negative space, serif typography | Characters' faces, action poses, over-illustration |53| **Epic fantasy mashup** | Dynamic composition, heroic pose, dramatic sky, bold title | Muddy color, too many elements, small title |54| **Sci-fi** | Clean geometry, singular focal point, future-tech subtlety | Cliché ships, robots, generic space |55| **Romance** | Character connection, warm palette, emotion over action | Text overload, generic stock |56| **Thriller** | High contrast, negative space, one menacing element | Too much happening, bright |57| **Literary fiction** | Photograph crop, object as metaphor, serif title | Fantasy tropes, illustration |5859**Universal principles:**60- **Title first**: Typography must be readable at thumbnail size (Amazon grid)61- **Composition rule of thirds**: Focal point on intersection, not dead center62- **Depth layering**: Foreground / mid-ground / background — create dimension63- **One hero color**: Everything else supports it64- **Resist clutter**: If it's not essential, delete it65- **Portrait ratio**: 2:3 is the book cover standard (1200x1800, 800x1200, etc.)6667### Phase 3: COMPOSE THE PROMPT6869The prompt has a specific structure. Follow it exactly:7071```72Generate an image: [Genre descriptor] book cover for [TITLE]. Portrait orientation, 2:3 ratio.7374SCENE: [One paragraph describing the single iconic image. Concrete. Specific. No abstractions.]7576COMPOSITION: [Focal point location, depth layers, what's foreground/mid/background]7778LIGHTING: [Source, direction, mood. Cinematic lighting terminology.]7980PALETTE: [Hero color + 2-4 supporting colors as hex codes or named precisely]8182TYPOGRAPHY: [Title at top/bottom, font style: serif/sans/display, weight: bold/thin]8384STYLE REFERENCES: [2-3 specific references. Real designers, movies, or artists.]8586MOOD: [One sentence on the emotional register the cover should evoke]8788TECHNICAL: 4K resolution, portrait ratio, book cover composition, cinematic depth of field, readable typography.89```9091### Phase 4: GENERATE9293**Model routing:**94- **DEFAULT: NB2** (`gemini-3.1-flash-image-preview`) — $0.02, portrait-native, best for covers95- **PREMIUM** (only when user says "premium", "hero", "final", or "launch"): NB Pro (`nano-banana-pro-preview`) — $0.049697**API call template:**9899```bash100# Load key from MCP config or env101# export GEMINI_API_KEY="your-key-from-aistudio.google.com"102103MODEL="gemini-3.1-flash-image-preview" # NB2 default104# MODEL="nano-banana-pro-preview" # NB Pro (premium only)105106curl -s "https://generativelanguage.googleapis.com/v1beta/models/$MODEL:generateContent?key=$GEMINI_API_KEY" \107 -H "Content-Type: application/json" \108 -d '{"contents":[{"parts":[{"text":"PROMPT_HERE"}]}],"generationConfig":{"responseModalities":["TEXT","IMAGE"]}}' \109 | python3 -c "110import json,base64,sys111data=json.load(sys.stdin)112for p in data.get('candidates',[{}])[0].get('content',{}).get('parts',[]):113 if 'inlineData' in p:114 d=base64.b64decode(p['inlineData']['data'])115 out='apps/web/public/images/books/SLUG-cover.png'116 open(out,'wb').write(d)117 print(f'OK: {len(d)} bytes -> {out}')118 elif 'text' in p:119 print('Text:',p['text'][:200])120"121```122123Save path convention: `apps/web/public/images/books/[slug]-cover.png`124(Add `-nb2` or `-nbpro` suffix if generating multiple for comparison.)125126### Phase 5: VALIDATE127128Before declaring the cover done, check:129130- [ ] **Title is readable** — Can you read it at 200px wide (thumbnail size)?131- [ ] **Genre signal is clear** — Would a reader in 1 second know the genre?132- [ ] **One hero color dominates** — Not competing palettes133- [ ] **Focal point is intentional** — Rule of thirds or centered deliberately134- [ ] **No AI artifacts** — Hands, text garbling, extra limbs, muddy areas135- [ ] **Portrait ratio** — Not square, not landscape136- [ ] **Matches book tension** — Would someone who read the book nod in recognition?137- [ ] **Mood is precise** — Not generic "epic" or "dark" — the SPECIFIC mood138139If any fail, iterate. One re-generation is fine. Beyond that, revise the prompt.140141## Quality Tiers142143- **Draft cover** — NB2, one generation, basic validation. Good enough for book-in-progress.144- **Production cover** — NB2, 2-3 generations, full validation, pick best. Default for published works.145- **Premium cover** — NB Pro, multiple angles, hero-quality. For launches, featured tier, or when user specifies.146147## Anti-Patterns (Never Do)148149- Generic "fantasy book cover" prompts with no specificity150- Character faces unless specifically required (faces are the hardest AI generation)151- More than one human figure on the cover (crowd scenes fail)152- Trying to illustrate the entire plot in one image153- Using NB Pro by default (costs 2x with marginal benefit for most covers)154- Skipping Phase 1 (reading the book) to save time155- Bright neon palettes on literary books156- Embedded text longer than the title (taglines often fail in generation)157158## Integration with Arcanea Ecosystem159160- Save covers to `apps/web/public/images/books/[slug]-cover.png`161- Update `COVER_MAP` in `apps/web/app/books/drafts/[slug]/page.tsx`162- Update `COVER_MAP` in `apps/web/app/books/drafts/page.tsx`163- Log the cover generation in the book's `book.yaml` under `ai_transparency.models_used`164- For featured tier books: also register in the book reader's metadata165166## Output Format167168When using this skill, produce:1691701. **The thinking** — A brief (150-250 word) analysis of the book's tension, emotion, iconic image, genre expectations1712. **The prompt** — The composed prompt with all 7 structural sections1723. **The generation** — Execute the curl command, save to correct path1734. **The validation** — Run the checklist, report pass/fail per item1745. **The result** — Read the generated image and confirm visually175176---177178*"A cover is a haiku. One image, one emotion, one question that makes you turn the book over to read the back." — The Arcanea Book Cover Method*