StoryForge ships with 14 genre definitions and allows free mixing. Each book can combine up to 3 genres. The genre files are the genre-specific guard rails for plot, tonality, conventions, and craft rules.
A book with a single genre tag is unusual in StoryForge. Real books almost always sit between genres — and that is exactly what the mixing system is built for.
StoryForge distinguishes three kinds of genre files:
Standalone genres that work on their own:
| Genre | Typical Length | Core Convention |
|---|---|---|
| horror | 70-100k | Credible threat + atmosphere before action |
| fantasy | 90-150k | Magic system with rules, earn the wonder |
| sci-fi | 80-120k | Technology has real consequences, logically consistent |
| thriller | 70-100k | Ticking clock, stakes escalate relentlessly |
| mystery | 70-100k | Clues are fair, solution reachable through logic |
| romance | 70-110k | Relationship IS the plot, HEA/HFN mandatory |
| drama | 70-110k | Internal conflicts, character transformation |
| literary-fiction | 60-110k | Language as purpose, no plot primacy |
| historical | 80-140k | Period research, language register, everyday life |
| contemporary | 70-100k | Present day, real geography, social milieus |
| supernatural | 70-100k | Paranormal without horror primacy |
Always combined with base genres:
Pre-defined combinations with their own conventions:
Each genre has a README.md under {plugin_root}/genres/{genre}/:
# Fantasy
## Overview
[Core characterization of the genre — 1 paragraph]
## Characteristics
| Element | Convention |
|---------|-----------|
| Tone | ... |
| Pacing | ... |
| POV | ... |
| Typical Length | ... |
| Chapter Length | ... |
| Structure | ... |
## Key Conventions
[7-10 bullets — must observe]
## Common Tropes (Use Wisely)
[Trope examples with "works when / fails when"]
## Subgenres
[Sub-categories with differences]
## Pacing Notes
## Dialog Conventions
## Structural Expectations
## Genre-Specific Anti-Patterns
At chapter-writer invocation, every genre README of the book is loaded.
Up to 3 genres per book. Typical examples:
| Combination | Example Book |
|---|---|
| horror + supernatural | Classic ghost novel |
| fantasy + romance | High-fantasy romance with magic |
| mystery + contemporary + literary-fiction | Literary crime in the present |
| sci-fi + thriller | Techno-thriller with AI threat |
| historical + romance + lgbtq | Queer historical romance |
| fantasy + drama + literary-fiction | Literary fantasy (e.g., N.K. Jemisin) |
| dark-fantasy + lgbtq | Queer dark fantasy |
When genres have conflicting conventions, this hierarchy applies:
Example conflict: fantasy (90-150k words) + mystery (70-100k words)
→ With primary_genres: ["fantasy", "mystery"], plot-architect takes fantasy as main reference but adapts the mystery clue structure on top. Typical length: 90-120k (overlap of both ranges).
LGBTQ is not a standalone genre — it is a dimension. Combined with:
lgbtq + romance = LGBTQ+ romance (e.g., Alexis Hall, T.J. Klune)lgbtq + thriller = LGBTQ+ thrillerlgbtq + historical + romance = Historical queer romanceThe LGBTQ README provides:
Core question: What if in a fantasy world the wonder is corrupted?
Conventions:
Examples from literature (for orientation, not imitation):
Typical length: 100-140k (fantasy range with horror-pacing punches)
Core question: How does a romance work when one of the two is a werewolf/vampire/demon?
Conventions:
Subgenres:
Besides the genre READMEs, there are genre-specific craft guides under reference/genre/:
| Craft Guide | Contents |
|---|---|
horror-craft.md |
Slow-burn atmosphere, dread escalation, sensory specificity |
fantasy-craft.md |
Magic system design, worldbuilding dosage, prophecy traps |
mystery-craft.md |
Clue planting, red-herring discipline, fair-play rule |
thriller-craft.md |
Ticking clock, stakes escalation, dual-POV drama |
romance-craft.md |
Meet-cute, moment of doubt, third-act misunderstanding |
sci-fi-craft.md |
Hard-vs-soft science, exposition techniques |
historical-craft.md |
Anachronism avoidance, dialog register, worldbuilding through daily life |
literary-fiction-craft.md |
Language as primary, plot as skeleton |
drama-craft.md |
Internal conflicts, transformation arcs |
supernatural-craft.md |
Rule consistency, atmosphere without horror pacing |
If a book uses e.g. ["mystery", "contemporary", "literary-fiction"], chapter-writer loads all three craft guides in addition to the base craft docs.
Use /storyforge:genre-creator to define custom mix genres.
/storyforge:genre-creator cozy-mystery
Interactive questions:
mystery + contemporary (+ optional romance)Output: {plugin_root}/genres/cozy-mystery/README.md
| Mix Name | Base Genres | Characteristic |
|---|---|---|
| grimdark | fantasy + drama + literary-fiction | Moral ambiguity + poetic prose |
| hopepunk | sci-fi + drama | Optimism as rebellion |
| cozy-fantasy | fantasy + contemporary | Small worldbuilding, low stakes |
| solarpunk | sci-fi + literary-fiction | Eco-hopeful future |
| folk-horror | horror + historical | Rural, pre-industrial, ritual violence |
| nordic-noir | mystery + thriller + literary-fiction | Cold atmosphere, social critique, slow tempo |
Answer these three questions:
What is the strongest source of conflict?
In which time does it play?
What does my book emotionally promise the reader?
The answers usually lead to 1-3 genres.
Every additional genre brings conventions that may conflict. A mystery + romance + horror + sci-fi-literary book has so many opposing conventions that each is served only partially.
For undecided book concepts: start with one genre, evaluate after chapter 3. Re-run
/storyforge:book-conceptualizerand adjust the genre list.
Fictional case: Contemporary mystery with a magical-realism touch.
README.md)---
title: "Glass Bone"
slug: "glass-bone"
type: "novel"
author_slug: "maja-sundberg"
primary_genres:
- "mystery"
- "literary-fiction"
- "contemporary"
language: "en"
target_words: 85000
status: "Plot Outlined"
---
Chapter-writer loads:
genres/mystery/README.md → clue structure, fair-play rulegenres/literary-fiction/README.md → language-as-purpose, tempo permissiongenres/contemporary/README.md → real setting, modern dialog registerreference/genre/mystery-craft.mdreference/genre/literary-fiction-craft.mdProse will be literary (longer sentences, more imagery), but every mystery clue must remain concrete enough so the reader can recognize it later. That is the art of authors like Kate Atkinson or Tana French — literary crime.
Every genre README has its own anti-pattern section. Chapter-reviewer checks against it. Examples:
Not optional: If you start a book without primary_genres set, /storyforge:chapter-writer refuses to begin writing. This is by design — without a genre frame, the craft references are too generic.
Fix:
# In {book-slug}/README.md
primary_genres:
- "mystery"
- "contemporary"