StoryForge Genre System
The StoryForge genre system: 16 genre definitions (13 base, 1 cross-cutting LGBTQ, 2 mixes), structure of genre files, mixing up to three genres, custom genres with genre-creator and genre tags on author discoveries.
StoryForge Genre System
Overview
StoryForge ships 16 genre definitions and allows free mixing. A book can combine one to three genres, and new-book offers one to three selections accordingly. Each genre is a README with guardrails for conventions, tropes, structures and anti-patterns. The skills load the README of each of the book's genres to align concept, plot and chapters with it.
Real books almost always sit between genres. The mixing system is built for exactly that.
For memoir books, genres are thematic tags (for example memoir of an illness or a place) and not plot conventions.
Genre Types
Base genres (13)
Standalone genres that work on their own. The length figures come from each README and are rules of thumb:
| Genre | Typical length (words) |
|---|---|
horror |
70,000 to 100,000 |
fantasy |
90,000 to 150,000 |
sci-fi |
80,000 to 120,000 |
thriller |
70,000 to 100,000 |
mystery |
70,000 to 100,000 |
romance |
70,000 to 110,000 |
drama |
80,000 to 120,000 |
literary-fiction |
80,000 to 100,000 |
historical |
90,000 to 130,000 |
contemporary |
70,000 to 100,000 |
supernatural |
80,000 to 110,000 |
kinderbuch |
400 to 1,500 (read-aloud story), 8,000 to 30,000 (chapter book, ages 6-10) |
maerchen |
400 to 3,000, Kunstmärchen may run longer |
Cross-cutting genre (1)
lgbtq is not a standalone genre but a modifier that brings LGBTQ+ characters, relationships and themes into any base genre. Length and structure follow the base genre. The README stresses fully realized characters, diversity within the community, research or sensitivity consultation when writing outside your own experience, found family and the societal context of the era.
Mix genres (2)
Predefined combinations with their own conventions:
dark-fantasy: a fantasy world with the moral ambiguity and atmosphere of horror. Typical length 100,000 to 150,000 words. Conventions include: morality is not binary, consequences are permanent, the world is hostile, magic has a price, violence is not glamorous, redemption is possible but not guaranteed.paranormal-romance: romance with a paranormal partner. Typical length 80,000 to 120,000 words. The romance must earn its happy ending (HEA or HFN), the paranormal nature creates meaningful obstacles, both partners act, and the rules of the paranormal world affect the relationship. Subgenres include vampire, werewolf and shifter romance, ghost romance, paranormal fantasy romance and dark paranormal romance.
Structure of a Genre File
Each built-in genre lives as README.md under {plugin_root}/genres/{genre}/, custom genres under ~/.storyforge/genres/{genre}/. All 16 files follow the same template:
# Fantasy
## Overview
## Characteristics (table: Tone, Pacing, POV, Typical Length, Chapter Length, Structure)
## Key Conventions
## Common Tropes (Use Wisely)
## Anti-Patterns (Avoid)
## Recommended Story Structures
## Subgenres
## Example Authors & Works
## Genre-Mixing Notes
## study-author: Positive Markers
The section ## study-author: Positive Markers lists positive style patterns that study-author looks for when analyzing a text of this genre, see Author Profiles. The section ## Genre-Mixing Notes describes how the genre interacts with others.
With list_genres you see all genres, with get_genre(name) you read a README.
Genre Mixing
A book combines up to three genres in the genres field of the book frontmatter. Typical combinations:
| Combination | Example |
|---|---|
| horror + supernatural | classic ghost novel |
| fantasy + romance | high-fantasy romance |
| mystery + contemporary + literary-fiction | literary crime novel set in the present |
| sci-fi + thriller | techno-thriller |
| historical + romance + lgbtq | queer historical romance |
| dark-fantasy + lgbtq | queer dark fantasy |
If the conventions of two genres conflict, for example on length or pacing, there is no fixed ranking in the code. The skills load the README of each genre, and chapter-writer treats the conventions as the contract with the reader: deviations should be deliberate. The Genre-Mixing Notes sections in the READMEs give hints.
More than three genres are rarely useful. Each further genre brings conventions that can contradict the others, so none is served properly. If a concept is undecided, it helps to start with one genre and re-evaluate after the first chapters with /storyforge:book-conceptualizer.
Genre-Specific Craft Guides
Besides the genre READMEs, nine craft guides live under reference/genre/:
| Genre | File |
|---|---|
| horror | horror-craft.md |
| fantasy | fantasy-craft.md |
| mystery | mystery-craft.md |
| thriller | thriller-craft.md |
| romance | romance-craft.md |
| sci-fi | scifi-craft.md |
| literary-fiction | literary-craft.md |
| supernatural | supernatural-craft.md |
| lgbtq | lgbtq-craft.md |
There is no dedicated guide for historical, drama, contemporary, kinderbuch, maerchen and the two mixes. You fetch the guides with get_craft_reference(name), which searches reference/genre/ after the general documents under reference/craft/. list_craft_references lists both folders. book-conceptualizer, chapter-writer and plot-architect additionally call get_craft_reference("{genre}-craft") for each of the book's genres when they load the genre READMEs; if the guide is missing, that is silently skipped. The sensitivity-reader uses lgbtq-craft to evaluate the portrayal of LGBTQ+ characters.
Genre Tags on Author Discoveries
Style principles in the author profile can be bound to genres. The entry then carries a genres list. chapter-writer and chapter-reviewer skip entries whose genres overlap with none of the book's genres.
- Entry without
genres: applies to every book. - Entry with
genres: applies only if the book has at least one of those genres. - Entry with
universal: always applies, regardless ofgenres.
The tags are set by write_author_discovery (parameters genres and universal). study-author asks for the source genres of the analyzed text and checks each genre with get_genre. If a genre does not exist, the tag only starts filtering once you create it with genre-creator. /storyforge:migrate-source-genres adds missing tags to older entries. More: Author Profiles.
Creating Your Own Genres
/storyforge:genre-creator <name> creates a new genre. The flow:
- Clarify the type: new base genre, mix genre or subgenre. By default a subgenre becomes a row in the parent genre's subgenre table, and only after your confirmation a README of its own.
- Check: the skill calls
list_genres. If the name exists, it overwrites nothing and asks instead. For mixes it checks withget_genrethat both parent genres exist. - Research: conventions, tensions, three to five example works. You confirm the direction.
- Write the README following the template above: at least five example authors or works, three to five anti-patterns, and for mixes synergies, tensions and the parent genre.
- Report: the genre is then available for new books.
The README is created under ~/.storyforge/genres/{name}/README.md. This directory survives plugin updates. list_genres and get_genre read both directories and prefer your own genre over the built-in one when the slug matches. The skill itself does not create a genre whose name already exists, it asks first. A custom genre with the slug of a built-in one therefore only arises when you create the directory by hand. The skill's template does not contain the study-author: Positive Markers section, you can add it by hand.
Examples of custom mixes
| Name | Base genres | Characteristic |
|---|---|---|
cozy-mystery |
mystery + contemporary | warm, small town, murder off the page |
grimdark |
fantasy + drama + literary-fiction | moral ambiguity, poetic prose |
folk-horror |
horror + historical | rural, pre-industrial |
nordic-noir |
mystery + thriller + literary-fiction | cold atmosphere, slow pace |
Choosing a Genre: Practical Help
I do not know what my book is
- What is the strongest source of conflict? Supernatural threat: horror or supernatural. Puzzle: mystery. Ticking clock: thriller. Relationship dynamics: romance or drama. Inner change: literary-fiction or drama. World discovery: fantasy or sci-fi.
- When does it take place? Today: contemporary. The past: historical. Another world: fantasy or sci-fi. The present with the supernatural: supernatural.
- What does the book promise the reader? Happy ending: romance. Solution of a puzzle: mystery. Adrenaline: thriller. Transformation: drama or literary-fiction. Fear and catharsis: horror.
The answers usually lead to one to three genres.
How many genres?
- One genre: rare, because real books usually cross borders.
- Two genres: the most common case, for example mystery + contemporary.
- Three genres: the maximum.
- With
lgbtq: can come on top as a cross-cutting genre.
Genre Anti-Patterns
Every genre README has an Anti-Patterns (Avoid) section. In the fantasy README these include, for example, exposition dumps as worldbuilding, magic as a cure-all, arbitrary power jumps and an incoherent magic system. chapter-writer loads the genre READMEs before writing, and deviations from the conventions should be deliberate.