Copies the skill directory to your Claude Code skills folder. Restart the tool to load.
Usage Examples
User: generate a book cover for my grimdark novel → AI: runs 5-phase method, composes NB2 prompt, outputs portrait 2:3 cover
User: make the title bolder and darker → AI: iterates typography while preserving one-hero-color rule
Triggers
book covercover artcover designbook jacketcover generationgenerate coverbook cover art
Documentation
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"
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
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 var (never hardcode)
# GEMINI_API_KEY must be set in your shell or ~/.claude/mcp.json
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:
[ ] Title is readable — Can you read it at 200px wide (thumbnail size)?
[ ] Genre signal is clear — Would a reader in 1 second know the genre?
[ ] One hero color dominates — Not competing palettes
[ ] Focal point is intentional — Rule of thirds or centered deliberately
[ ] No AI artifacts — Hands, text garbling, extra limbs, muddy areas
[ ] Portrait ratio — Not square, not landscape
[ ] Matches book tension — Would someone who read the book nod in recognition?
[ ] Mood is precise — Not generic "epic" or "dark" — the SPECIFIC mood
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