Zurück zur StoryForge-Hauptseite
StoryForge kommt mit 45 Skills, die über die Claude-Code-Syntax /storyforge:<skill-name> aufgerufen werden. Jedes Skill ist auf ein bestimmtes Aufgabengebiet spezialisiert und nutzt ein passendes Claude-Modell:
| Anspruch | Modell | Beispiele |
|---|---|---|
| Prosa, kreative Entscheidungen | Opus | chapter-writer, character-creator, plot-architect |
| State-Management, Formatierung | Sonnet | session-start, export-engineer, configure |
| Klassifikation, kurze Listen | Haiku | ideas, register-callback, help |
/storyforge:new-book| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | [title] (optional) |
| Pflicht-Voraussetzung | Autorenprofil existiert |
Zweck: Legt ein neues Buchprojekt an. Fragt nach Titel, Typ (novel/novella/...), Genre(s), Autor, Hauptsprache und erstellt die komplette Verzeichnisstruktur.
Output:
{content_root}/projects/{slug}/ mit allen Skeleton-DateienREADME.md mit YAML-Frontmattersynopsis.md, plot/*, characters/INDEX.md, world/*, CLAUDE.mdWann aufrufen:
/storyforge:brainstorm mit "promoted" IdeaRouting-Trigger in CLAUDE.md: Immediately when user says "New book"
Step 6 — Series-aware Recurring-Character-Copy (#196): Wenn das neue Buch Teil einer Serie ist UND ein Vorgängerbuch existiert, bietet das Skill an, alle recurring Character-Files aus dem vorherigen Band automatisch zu kopieren. Argument: --copy-recurring-from={prev-book-slug} (oder Auto-Detect via series_number). Filtert nach Tracker recurs_in — nur Charaktere, die im neuen Band recurs werden, werden kopiert. 1:1-File-Copy, keine Frontmatter-Mutation (die eigentliche Snapshot-Synthese übernimmt später /storyforge:bootstrap-book-from-series).
/storyforge:session-start| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | keines |
Zweck: Initialisiert eine neue Session. Prüft Setup (venv, config, Autorenprofile). Rebuildet den State Cache aus Markdown. Zeigt letzte Session-Info (letztes Buch, Phase).
Wann aufrufen:
list_books leer scheint, obwohl Projekte existieren/storyforge:resume| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | <book-slug> |
Zweck: Nimmt die Arbeit an einem Buch wieder auf. Lädt Metadaten, Status, letzte Session-Kontext und empfiehlt den nächsten sinnvollen Skill.
Output:
/storyforge:next-step| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | keines (nutzt Session-Kontext) |
Zweck: Analysiert den aktuellen Buch-Status und empfiehlt den nächstlogischen Schritt basierend auf Writing Mode (Outliner/Plantser/Discovery).
Beispiel-Output:
Buch: "Der Leuchtturmhüter"
Status: Plot Outlined
Writing Mode: outliner
Fertige Figuren: 2 / 6 geplant
→ Empfehlung: /storyforge:character-creator der-leuchtturmhueter
Weitere 4 Figuren nach character-arcs-Template definieren.
/storyforge:book-dashboard| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | [book-slug] (optional) |
Zweck: Kompaktes Fortschritts-Dashboard für ein Buch oder alle Bücher.
Zeigt:
Beispiel ohne Argument: Listet alle Bücher tabellarisch.
/storyforge:brainstorm| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | keines (interaktiv) |
Zweck: Explorative Ideen-Entwicklung, bevor ein Buch angelegt wird. Geht durch 5 Phasen: Seed, Exploration, What-If, Genre-Check, Feasibility.
Output:
{content_root}/ideas/{slug}.md (z.B. ~/projekte/book-projects/ideas/) — Per-File-Markdown mit YAML-Frontmatterraw → explored → developed → ready/storyforge:new-book promoted werdenHinweis: ~/.storyforge/cache/state.json ist nur ein Indexer-Cache, nicht der Speicherort der Ideen. Source-of-Truth ist immer die Markdown-Datei unter {content_root}/ideas/.
Beispiel-Frage: "Ich habe eine Idee mit einem alten Leuchtturmwärter. Entwickle das mit mir."
/storyforge:ideas| Eigenschaft | Wert |
|---|---|
| Modell | Haiku |
| Argument | [status] [genre] (Filter) |
Zweck: Listet gespeicherte Ideen. Filter nach Status (raw, ready, ...) oder Genre.
Beispiel:
/storyforge:ideas ready
/storyforge:ideas developed mystery
/storyforge:create-author| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <author-name> |
Zweck: Legt ein neues Autorenprofil an. Interaktiv. Fragt nach:
Output: ~/.storyforge/authors/{slug}/profile.md (inkl. leerer ## Writing Discoveries-Sektion) + vocabulary.md
/storyforge:study-author| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <file-path> [author-slug] |
Zweck: Extrahiert Stil-DNA aus eigenen früheren Werken. Unterstützt PDF, EPUB, DOCX. Analysiert:
Output:
profile.md (Stil-Parameter) via update_author(slug, field, value) für Felder wie tone, sentence_style, Frontmattervocabulary.md (Preferred Words, Phrases) — direkter Write nach ~/.storyforge/authors/{slug}/vocabulary.md~/.storyforge/authors/{slug}/studied-works/{title}.mdwrite_author_discovery(author_slug, section="style_principles", text=..., book_slug=...)write_author_banned_phrase(author_slug, phrase, reason=...)Typischer Aufruf:
/storyforge:study-author ~/mein-vorheriger-roman.epub maja-sundberg
/storyforge:harvest-author-rules| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | <book-slug> [author-slug] |
| Pflicht-Voraussetzung | Buch in Status Revision oder später, idealerweise nach manuscript-checker |
Zweck: Promoted Findings aus einem fertigen Buch ins Autorenprofil. Klassifiziert jeden Eintrag aus der Buch-CLAUDE.md ## Rules als banned_phrase, style_principle oder world_rule und dedupiert gegen das bestehende Autorenprofil + Vocabulary.
Workflow:
harvest_book_rules(book_slug, author_slug?) auf — klassifiziert + dedupliziertbanned_phrase → vocabulary.md ### Absolutely Forbidden (oder passende Sektion)style_principle → profile.md ## Writing Discoveries / Style Principlesworld_rule → bleibt in Buch-CLAUDE.md_(emerged from {book}, YYYY-MM)_. Bei Recurrence in einem späteren Buch wird ein zweiter Origin-Tag angehängt — kein Duplikat.mode=remove entfernt die Rule, mode=annotate lässt sie stehen mit Tag).Trigger:
manuscript-checker und chapter-reviewer, wenn cross-book-relevante Findings gesammelt wurdenKonzept-Hintergrund: Siehe reference/author-evolution.md im Plugin-Repo. 3-Tier-Hierarchie Buch → Autor → Global.
/storyforge:voice-checker| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> [chapter-slug] |
Zweck: Optionaler holistischer Authentizitäts-Score (0–100) über 7 Dimensionen. Vergleicht gegen Autorenprofil (inkl. ## Writing Discoveries). Kein Pflichtschritt im Standard-Workflow — für gezielte AI-Tell-Entfernung stattdessen /storyforge:chapter-humanizer nutzen.
Detailbeschreibung: Quality System
/storyforge:book-conceptualizer| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> |
Zweck: Entwickelt das Buchkonzept in 5 Phasen:
Output:
synopsis.md mit Klappentext + LangsynopseREADME.md (Theme, Tone, Premise in Frontmatter)plot/tone.md (Tonale Leitplanken)Discovery-Writer-Variante: Reduziert auf Prämisse + Protagonist + Core Tension — ohne Theme/Ton-Deep-Dive, falls Autor Discovery-Modus gewählt hat.
/storyforge:plot-architect| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> |
Zweck: Strukturiert den Plot mit einer der 8 Methoden:
Snowflake Method (Highlight):
10-Schritt-Prozess von Einzeilensatz zu komplettem Szenenkatalog:
1. Ein-Satz-Summary des ganzen Romans
2. Fünf-Satz-Plot-Paragraph
3. Charakter-Synopsen (1 Seite pro Hauptfigur)
4. Ausbau der 5 Sätze zu 1-seitigem Plot-Synopsis
5. Charakter-Bibles (4 Seiten pro Hauptfigur)
6. Ausbau zu 4-seitigem Plot-Synopsis
7. Character-Charts (Visualisierung)
8. Komplette Szenen-Liste
9. Narrative Rohfassung jeder Szene
10. Erste Schreibfassung
Output:
plot/outline.md mit Akten und Beatsplot/arcs.md mit Charakter-Arc-Übersichtchapters/{NN-slug}/README.mdPlantser-Variante: Nur 6 Key Beats (MVO — Minimum Viable Outline). Kapitel-Details kommen später via Rolling Planner.
/storyforge:character-creator| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> [character-name] |
Zweck: Erstellt 3D-Figuren in 14 Psychologie-Schritten:
Output:
characters/{char-slug}.md mit YAML-Frontmattercharacters/INDEX.mdplot/arcs.md mit Arc-OverviewDie Charakter-Frontmatter unterstützt zwei optionale Blöcke, die von Quality-Gates konsumiert werden:
tactical: — für Action-relevante Figuren. Wird vom verify_tactical_setup-MCP-Tool gelesen, um Combat/Travel-Szenen vor dem Schreiben gegen Walking-Order-Probleme zu prüfen:
tactical:
protector_role: true # actively protects others
protected_role: false # needs protection in combat
combat_skill: high # none|low|medium|high|elite|unknown
movement_lead: true # tends to take point
movement_rear: false # tends to bring up the rear
vulnerable_to: [daylight]
carries: [knife, backup_blade]
knowledge: — für POV-Charaktere. Wird vom POV-Boundary-Checker-Hook gelesen, um Narration zu flaggen, die der Figur Domänen-Wissen unterstellt, das sie nicht hat:
knowledge:
expert: [it, programming, networking]
competent: [photography]
layperson: [psychology, history]
none: [forensics, ballistics, medicine, tactical_combat, automotive_repair]
Beide Blöcke sind optional. Fehlen sie, läuft das Plugin graceful weiter (info-severity Warning bei tactical, scan-skipped bei knowledge). Nicht jede Figur braucht beide — tactical: nur für Combat/Travel-relevante Figuren, knowledge: nur für POV-Charaktere.
Beispiel (fiktive Figur "Inga Holm"):
---
name: Inga Holm
slug: inga-holm
role: deuteragonist
age: 34
profession: Marine-Biologin
status: Arc Defined
arc_type: Positive Change
fatal_flaw: misstraut jedem, der älter als 50 ist
tactical:
protector_role: false
protected_role: false
combat_skill: low
vulnerable_to: []
carries: []
knowledge:
expert: [marine_biology, oceanography]
competent: [photography, sailing]
layperson: [psychology]
none: [forensics, tactical_combat, ballistics]
---
## GMC
- Want: Eine wissenschaftliche Studie fertigstellen
- Motivation: Beweis, dass ihre akademische Theorie richtig ist
- Conflict: Arne kennt das Meer besser, aber sie will keinen Mentor
## Ghost
Vater (Fischer) starb, als sie 8 war. Ausgerechnet in der Nacht, als er
ihr versprach, nach dem Abendbrot zurück zu sein.
## Lie
"Wer älter ist, verrät dich früher oder später."
## Truth
"Nähe zu alten Menschen ist nicht Verrat — es ist Risiko, Liebe zu riskieren."
/storyforge:world-builder| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> |
Zweck: Baut die Welt des Buchs. Anpassung je nach Genre:
Pflicht-Komponente: Travel Matrix
Für ALLE Bücher (nicht nur Fantasy) — Tabelle mit Reisezeiten zwischen allen Locations:
# Travel Matrix — Kargholm (fiktive Nordseeinsel)
| Von → Nach | Leuchtturm | Hafen | Dorf | Pfarrhaus | Klippe | Fähre-Festland |
|------------|------------|-------|------|-----------|--------|----------------|
| Leuchtturm | — | 25 min | 40 min | 45 min | 15 min | 2.5 h (inkl. 1h Fähre) |
| Hafen | 25 min | — | 15 min | 20 min | 35 min | 1.75 h |
| Dorf | 40 min | 15 min | — | 5 min | 30 min | 2 h |
| ... | | | | | | |
Annahmen: Fußgeschwindigkeit 4 km/h, Wetter trocken.
Bei Sturm: Leuchtturm-Weg unpassierbar, 60 min Umweg.
Output:
world/setting.md (mit Travel Matrix)world/rules.md (World Rules / Magic System)world/history.mdplot/canon-log.md befüllt/storyforge:rolling-planner| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | [book-slug] |
Zweck: Szene-für-Szene-Planung für Discovery Writer und Plantser. Plant 3-5 Szenen voraus mit der Goal / Conflict / Consequence (GCC) Recipe.
Scene-Recipe-Template:
Szene: "Arne findet die Münze"
POV: Arne Kruse
Location: Leuchtturm-Keller
Time: Tag 3, 23:40 Uhr
Goal: Arne sucht die alte Logbuch-Kiste.
Conflict: Der Keller ist nach Hochwasser überflutet, die Kiste unter Wasser.
Consequence: Er findet nicht das Logbuch — aber eine alte Silbermünze mit
dem Prägedatum 1987, dem Jahr, in dem sein Bruder verschwand.
→ Neues Mystery. Treibt Kapitel 5 an.
Wann aufrufen:
Step 4b — Tactical Sanity Check: Bei Combat- oder Travel-Szenen (Keywords walk, hike, drive, attack, mission, enter the building, approach mit mehreren Charakteren) ruft das Skill verify_tactical_setup(book_slug, scene_outline_text, characters_present) auf, bevor die Recipe gespeichert wird. Walking-Order-Probleme werden so im Plan adressiert, nicht erst beim Schreiben des Drafts.
/storyforge:chapter-writer| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> <chapter-number> |
Zweck: THE core creative skill. Schreibt ein Kapitel in Autorenstimme.
Pflicht-Loads vor dem ersten Wort (Brief-Architektur):
Ein MCP-Tool bündelt 14 Datenquellen in einem strukturierten JSON-Brief. Verbleibende 9 Pflicht-Loads:
get_chapter_writing_brief(book_slug, chapter_slug)) — Why: Bündelt 14 Datenquellen in einem JSON: chapter-meta, pov_character, story_anchor, recent_chapter_timelines, recent_chapter_endings, characters_present (mit knowledge + tactical), pov_character_inventory (deterministisch extrahiertes Inventar des POV-Charakters mit Quellen-Pointern; extraction_method ∈ {frontmatter, timeline_regex, draft_heuristic, none}; nicht-leere warnings → Benutzer fragen statt erfinden), pov_character_state (4 physische Kategorien: clothing, injuries, altered_states, environmental_limiters; jede unabhängig extrahiert; outline-aware warnings; consumed by Pre-Scene Logic Audit), rules_to_honor, callbacks_in_register, banned_phrases, recent_simile_count_per_chapter, tone_litmus_questions, tactical_constraints (auto-aktiv bei Combat/Travel), review_handle. Defensive Composition: jede Sub-Komponente in try/except, einzelne Failures landen als {component, error} in errors, Brief shipped weiter.get_author()) — Why: Drives EVERYTHING — tone, vocabulary, rhythm, voice. Lädt jetzt auch ## Writing Discoveries (Recurring Tics / Style Principles / Don'ts) — promoted Findings aus früheren Büchern. Außerhalb Buch-Scope, daher separater Load.get_book_full()) — Why: Genres, plot context, the frame the chapter must fit.get_genre()) — Why: Reader-expected conventions; violations need to be deliberate.get_craft_reference()):
chapter-construction — Hooks, scene-sequel, endingsdialog-craft — Subtext, beats, voice differentiationshow-dont-tell — Techniques and five sensespacing-guide — Scene vs. summaryanti-ai-patterns — Negative-space catalogprose-style — Sentence-level craftsimile-discipline — Two-question test for the pre-save scanplot-logic — Plot-Hole-Patterns für Pre-Write-Awareness (causality_inversion, chekhov_gun, information_leak, motivation_break, premise_violation, pov_knowledge_boundary)world/setting.md) — Why: Travel Matrix and location facts. Mandatory when chapter involves travel.plot/timeline.md) — Why: Canonical day/date calendar (the brief's recent_chapter_timelines covers intra-day grids; timeline.md covers the macro arc).plot/canon-log.md) — Why: Established facts, including CHANGED revisions.Writing Modes (User wählt):
Pre-Scene Logic Audit (Step A1b / Step 2c) — PFLICHT vor jeder Szene / vor dem Kapitel: Das Skill emittiert vor jeder Szene (Mode A: Step A1b) bzw. einmalig vor dem Kapitel (Mode B: Step 2c) einen strukturierten Audit-Block in den Chat — das strukturelle Gegengewicht zu kontextdruckbedingter Erfindung. Fünf Pflicht-Kategorien, jede mit Quellenangabe:
pov_character_inventory im Brief. Bei extraction_method: "none" oder nicht-leeren warnings → Benutzer fragen, nicht erfinden.world/setting.md (Travel Matrix), plot/timeline.md, recent_chapter_timelines.characters/{slug}.md, Brief-canon_brief.banned_phrases im Brief und recurring_tics / donts im Autorenprofil prüfen. Tic-Verletzungen im Plan beheben, bevor Prosa entsteht.pov_character_state (clothing, injuries, altered_states, environmental_limiters). Bei extraction_methods[cat] == "none" und Abhängigkeit des Beats von dieser Kategorie → Benutzer fragen.Jede Lücke wird explizit dem Benutzer kommuniziert — niemals stillschweigend übergangen.
Step A2 — Tactical Pre-Write Check: Bei Combat/Travel-Szenen (Keyword-Detection via is_tactical_scene) ruft Step A2 verify_tactical_setup auf und resolvet warn-severity Findings BEVOR Prosa appendiert wird. Walking-Order-Probleme werden so nicht in Prose papered over.
Inline-Review-Handles:
Innerhalb der Prosa können während Scene-by-scene-Mode Kommentare mit dem konfigurierten Review-Handle stehen:
Arne stieg die Treppe hoch. Die Stufen knarrten in einem Rhythmus, den er
nach vierzig Jahren blind hätte nachspielen können.
Markus: Zu nostalgisch für den Anfang. Arne ist eher wütend, nicht sentimental.
Der Chapter-Writer liest diese Blöcke beim nächsten Pass und überarbeitet entsprechend. Read-First-Rule (GH#27): Bei {review_handle}:-Signal IMMER die ganze draft.md mit dem Read-Tool laden — nicht auf den file-change diff vertrauen, der bei langen Files trunkiert.
Nach-dem-Schreiben-Updates (Pflicht):
plot/timeline.md (eine Zeile pro Story-Tag)plot/canon-log.md (neue Fakten + geänderte Fakten markiert als CHANGED)chapters/{chapter}/README.md → ## Chapter Timeline Section (Intra-Day-Zeiten)## Promises-Sektion in chapters/{chapter}/README.md via register_chapter_promises(). Setup-Elemente (Chekhov Guns, Mysteries, registrierte Callbacks) werden persistiert für analyze_plot_logic-Scans.current_inventory, current_clothing, current_injuries, altered_states, environmental_limiters), wartet auf Bestätigung und persistiert via MCP update_character_snapshot(book_slug, pov_slug, snapshot_json, book_category). Hält pov_character_inventory und pov_character_state im Brief für das nächste Kapitel auf Frontmatter-Niveau (höchste Extraktionsprioritätsstufe).Mode-A-Session-Verhalten (Fixes #228, #230):
chapters/{kapitel}/README.md unter ## Scene Plan. Bei Session-Neustart wird der gespeicherte Plan automatisch geladen — kein Neuaufbau nötig.author_writing_mode: plantser oder discovery ohne gespeicherten Plan fragt das Skill, ob /storyforge:rolling-planner zuerst laufen soll./storyforge:chapter-reviewer| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> <chapter-slug> |
Zweck: 28-Punkte-Qualitäts-Check pro Kapitel inkl. Plot-Logic.
Daten-Brief (ein MCP-Aufruf): get_review_brief(book_slug, chapter_slug) bündelt Chapter-Timeline, Previous-Chapter-Timeline, kanonische Timeline-Einträge, Travel Matrix, Canon-Log-Fakten, Tonal-Rules, aktive Regeln und Callbacks in einem strukturierten JSON — ersetzt 6+ direkte Datei-Reads.
Check-Kategorien:
### Phrase Echo Report mit Zitat + Fundstelle + Lösungsvorschlag (Pronomen, Synonym, Umformulierung).analyze_plot_logic(book_slug, chapter_slug) auf und surface Findings für 5 weitere Kategorien:
causality_inversion — Cause-After-Effect-Pattern via Story-Day-Map (deterministisch).chekhov_gun — registrierte Promises ohne Payoff bis zum Ende des bisher gedrafteten Manuskripts (deterministisch). Skipped bei book_category: memoir.information_leak — POV-Charakter weiß Dinge, die laut Canon-Log noch nicht etabliert sind (LLM-Pass mit knowledge_index).motivation_break — Charakter-Aktion bricht mit etabliertem Arc-State (LLM-Pass mit Character-Arcs).pov_knowledge_boundary — wie Sub-Point 20a, aber semantisch (Domain-Wissen, das nicht im knowledge:-Block deklariert ist) — LLM-Pass.First-Chapter-Gate (zusätzlich 13 Punkte): Bei Kapitel 1 gelten strengere Kriterien. Details: Quality System.
/storyforge:chapter-humanizer| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> <chapter-slug> |
Zweck: Chirurgischer AI-Tell-Entferner. Scannt Kapitel-Drafts in zwei Pässen auf Section-11 Elegant-Abstraction-Shapes und flagged Vokabular. Schlägt pro Fund eine menschlichere Alternative in der Autorenstimme vor. Wendet Änderungen interaktiv auf draft.md an.
Workflow-Position: chapter-reviewer → chapter-humanizer → chapter-proofreader
Pass 1 — Elegant Abstraction Scan (8 Section-11-Shapes):
| Shape | Beschreibung |
|---|---|
| 11.1 Embodied Abstract Emotion | Körperteil handelt als Träger einer Emotion |
| 11.2 Trust Split | Körperreaktion als separater Agent |
| 11.3 Silence-as-Volition | Stille als aktiver Entschluss |
| 11.4 Possession Split | Besitz-Konstrukt als getrennter Agent |
| 11.5 Latent-Property Abstraction | Abstrakte Eigenschaft als handelndes Subjekt |
| 11.6 Ontological State Separation | Existenz-Zustands-Trennung |
| 11.7 Backward-Negation Loop | Verneinung in Vergangenheitsform verschachtelt |
| 11.8 Expository Repeat | Exposition desselben Fakts in zwei Sätzen |
Pass 2 — Vokabular-Scan: 55 flagged AI-Tell-Wörter aus Section 1 von anti-ai-patterns.md (z.B. tapestry, realm, testament, journey, kaleidoscope).
Interaktion: Nummerierte Hit-Liste. User antwortet mit apply 1, 3 / skip 2 / 4: shorter — bis zu 20 Hits pro Batch. Fixes werden nach User-Freigabe in draft.md zurückgeschrieben (liest Datei vor dem Schreiben neu).
Was NICHT gemacht wird: Kein Craft-Review (Aufgabe von chapter-reviewer), keine Grammatik/Rechtschreibung (Aufgabe von chapter-proofreader), keine Wholesale-Rewrites.
Verdicts: PASS (keine Hits) | HITS FOUND (mit Anzahl)
/storyforge:chapter-proofreader| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | <book-slug> <chapter-slug> |
Zweck: Sprachkorrektheitsprüfung (Rechtschreibung, Grammatik, Interpunktion) nach chapter-reviewer — bevor das Manuskript die Cross-Chapter-Analyse durch manuscript-checker durchläuft. Funktioniert für Fiction und Memoir.
Workflow-Position: chapter-reviewer → chapter-humanizer → chapter-proofreader → manuscript-checker
Spracherkennung:
| Priorität | Feld | Quelle |
|---|---|---|
| 1 | book_language |
Buch-Frontmatter (autoritativ) |
| 2 | preferred_writing_language |
Autorenprofil (Fallback) |
| 3 | "en" |
Globaler Fallback |
Erklärungssprache: native_language aus dem Autorenprofil — Erklärungen erscheinen auf Deutsch, Französisch, Spanisch etc. je nach Muttersprache des Autors. Für Muttersprachler wird keine Erklärung ausgegeben, nur der Fix.
Prüf-Kategorien:
writing_language ≠ native_language): Artikel-Fehler, Präpositionsfehler, False Friends, Calque-KonstruktionenWas NICHT geprüft wird: Craft-Probleme (Aufgabe von chapter-reviewer), Cross-Chapter-Wiederholungen (Aufgabe von manuscript-checker), bewusste Stilentscheidungen aus dem Autorenprofil (avoid-Liste).
Verdicts: CLEAN | ISSUES FOUND
/storyforge:continuity-checker| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | <book-slug> |
Zweck: Validiert das komplette Buch gegen Timeline und Travel Matrix.
Findet:
Rekonstruktion: Wenn Timeline/Travel Matrix fehlen, rekonstruiert das Skill sie aus allen bestehenden Kapitel-Drafts.
Nutzt get_continuity_brief(book_slug) als Single-MCP-Call: kanonischer Kalender, Travel Matrix, Canon-Log-Fakten, Character-Index und Intra-Day-Grids aller Kapitel (statusunabhängig) in einem Aufruf.
/storyforge:manuscript-checker| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> [--interactive] |
Zweck: Full-Manuscript Gate vor Revision. Detection in 16 Kategorien:
plot_hole, neu in Sprint 2 — sortiert vor cliche) — alle 6 Kategorien aus analyze_plot_logic aggregiert: causality_inversion, chekhov_gun (skipped bei Memoir), information_leak, motivation_break, premise_violation (skipped bei Memoir), pov_knowledge_boundarycallback_dropped, callback_deferred)Interactive Fix Mode: Geht durch jeden Fund und fragt: behalten / ändern / markieren?
Detailbeschreibung: Quality System.
/storyforge:beta-feedback| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> [--file path/to/feedback.md] |
Zweck: Triage kuratierter ARC/Beta-Reader-Feedback. Kategorisiert:
Output:
/storyforge:researcher| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <topic> [book-slug] |
Zweck: Strukturierte Recherche zu einem Thema. Nutzt Web-Zugriff, bewertet Quellen, speichert Ergebnisse.
Output:
{project}/research/notes/{topic-slug}.mdBeispiel: /storyforge:researcher nordsee-leuchtturm-geschichte der-leuchtturmhueter
/storyforge:sensitivity-reader| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> [chapter-slug] |
Zweck: Scan auf problematische Darstellungen:
Wichtig: Ersetzt keine menschliche Sensitivity Reader bei kritischen Themen (LGBTQ, Trauma, Rassismus). Ist ergänzend.
/storyforge:export-engineer| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | <book-slug> [format] |
Zweck: Generiert EPUB / PDF / MOBI via Pandoc (und optional Calibre für MOBI).
Pflicht-Voraussetzungen:
Final oder Polishedexport/front-matter.md): Copyright, Widmung, ggf. Zitatexport/back-matter.md): Über den Autor, weitere Büchercover/art/cover.jpgOutput: export/output/{book-slug}.epub (bzw. pdf/mobi)
CSS-Customization: Eigene Styles unter export/custom.css möglich.
/storyforge:promo-writer| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> [platform] |
Zweck: Komplette Marketing-Kampagne:
/storyforge:cover-artist| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> |
Zweck: Erstellt Cover-Brief und Image-Prompts. Kein direkter Bild-Gen — liefert Prompts für Midjourney, DALL-E oder menschliche Designer.
Output:
cover/brief.md — Mood, Genre-Conventions, Typografie-Hinweisecover/prompts.md — Fertige Prompts für Midjourney/DALL-E/storyforge:translator| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> <target-language> |
Zweck: Übersetzt das Buch in eine Zielsprache, mit Voice-Preservation.
Prozess:
translations/{lang}/glossary.md) mit Figurennamen, Orten, FachbegriffenBeispiel: /storyforge:translator der-leuchtturmhueter en
/storyforge:series-planner| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <series-name> |
Zweck: Erstellt eine Serien-Ebene über mehrere Bücher. Verwaltet:
{series}/world/canon.md)Struktur:
series/
├── README.md
├── world/
│ └── canon.md
├── characters-evolution.md
└── projects/
├── band-1-slug/
├── band-2-slug/
└── band-3-slug/
Step 5 — Tracker-Slug vs. Book-Slug Mismatch (#194): Wenn der Slug eines Tracker-Eintrags vom Book-Level-Character-File-Slug abweicht (Tracker king-caelan ↔ Book-File caelan.md), instruct das Skill den Autor, ein book_slug:-Feld in die Charakter-Frontmatter zu schreiben, damit Cross-References sauber auflösen:
---
name: "King Caelan"
slug: "king-caelan"
book_slug: "caelan" # NEU — nur wenn Tracker-Slug ≠ Book-Slug
---
Zero-Config wenn die Slugs übereinstimmen (kael ↔ kael.md). Das Feld wird von harvest-character-evolution und bootstrap-book-from-series gelesen, um Tracker-Einträge auf Charakter-Files zu mappen.
/storyforge:harvest-character-evolution| Eigenschaft | Wert |
|---|---|
| Modell | claude-sonnet-4-6 |
| Argument | [book-slug] (optional — Fallback auf aktive Session) |
| Pflicht-Voraussetzung | Buch-Status Final / Export Ready / Published UND Buch ist Teil einer Serie |
Zweck: End-of-Book-Harvester für serien-recurring Charaktere. Geht jeden recurring Tracker-Eintrag durch, liest den Book-Level-Endzustand des Charakters, schlägt ein B{N} Ende-Summary vor und schreibt nach Per-Character-Diff-Bestätigung in den Tracker. Strukturelles Gegenstück zu harvest-author-rules — aber auf der Serien-Charakter-Ebene statt auf der Rules-Ebene.
Liest (pro Charakter):
current_inventory, current_clothing, current_injuries, altered_states, environmental_limiters, as_of_chapter## Relationships-Sektion### B{N} Ende-Slot (falls vorhanden) für Diff-DisplaySchreibt:
### B{N} Ende-Slot (pro Charakter, bei User-Accept)## Updates Log-Eintrag mit Timestamp + Book-SlugWorkflow:
recurs_in, das das aktuelle Buch enthältSicherheits-Net: Kein Silent-Overwrite. Jeder Charakter braucht explizite User-Bestätigung. Tracker-Einträge mit bereits befülltem B{N} Ende-Slot werden als Diff angezeigt, damit der Autor sieht, was sich ändert.
Workflow-Position: Nach /storyforge:harvest-author-rules, vor /storyforge:new-book für den nächsten Band der Serie.
Trigger:
Final / Export Ready / Published für einen Serien-BandIssue-Referenz: D-1 of Epic #195.
/storyforge:bootstrap-book-from-series| Eigenschaft | Wert |
|---|---|
| Modell | claude-sonnet-4-6 |
| Argument | <prev-book-slug> <new-book-slug> (positional, beide erforderlich) |
| Pflicht-Voraussetzung | Beide Bücher existieren; Tracker hat B{prev} Ende für Vorgänger; neues Buch hat recurring Character-Files (typischerweise via /storyforge:new-book --copy-recurring-from= kopiert) |
Zweck: Charakter-Zustands-Migration für Folgebände. Liest Tracker-B{prev} Ende und B{new} (geplant), synthetisiert pro Charakter einen Start-Snapshot und walked Char-by-Char mit Autor-Bestätigung. Fügt jedem bootstrapped File einen series_evolution_imported_from: B{prev}-Marker hinzu, sodass spätere Pässe den Seed-Origin erkennen.
Wichtig: Dieses Skill erstellt KEIN neues Buch. Das neue Buch muss bereits existieren (via /storyforge:new-book --copy-recurring-from=). Dieser Skill übernimmt ausschließlich die Charakter-Zustands-Synthese aus dem Vorgängerband.
Liest (pro Charakter):
### B{prev} Ende (Endzustand des Vorgängerbands)### B{new} (geplant) (geplanter Startzustand für neuen Band — Autor-Intentionen)Schreibt:
current_inventory, current_clothing, current_injuries, altered_states, environmental_limiters, as_of_chapter: 0)series_evolution_imported_from: B{prev}## Updates Log-Eintrag mit Timestamp + new book slugWorkflow:
new-book/characters/ mit Tracker-Eintrag — Start-Snapshot aus B{prev} Ende + B{new} (geplant) synthetisierenWorkflow-Position: Nach /storyforge:new-book (mit --copy-recurring-from=) und nach /storyforge:harvest-character-evolution auf dem vorherigen Buch — bevor das Drafting beginnt.
Trigger:
new-book Auto-Copy (#196), bevor Kapitel-Drafts im neuen Band startenIssue-Referenz: D-2 of Epic #195.
/storyforge:genre-creator| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <genre-name> |
Zweck: Legt einen neuen Genre-Mix an. Fragt nach Base-Genres zur Kombination, definiert Conventions, Tropes, Expected Beats.
Output: {plugin_root}/genres/{name}/README.md
Detailbeschreibung: Genre-System
/storyforge:unblock| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | keines (diagnostisch) |
Zweck: Hilft bei Schreibblockade. Diagnostiziert Block-Typ und liefert zielgerichtete Übungen:
/storyforge:register-callback| Eigenschaft | Wert |
|---|---|
| Modell | Haiku |
| Argument | <Regel\|Workflow\|Callback>: <text> |
Zweck: Explizit einen Callback/eine Regel in die Per-Book CLAUDE.md schreiben. Alternative zum PreCompact-Hook-Automatismus.
Beispiel:
/storyforge:register-callback Callback: Die Silbermünze (Kap 5) muss in Kap 18 wiederkommen
/storyforge:report-issue| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | <book-slug> [author-slug] |
Zweck: Verwandelt wiederkehrende Prosa-Probleme in durchsetzbare Regeln. Wenn ein Muster in mehreren Kapiteln auftaucht (Filter-Words, bestimmte Formulierungen, AI-Tells), wandelt das Skill es in eine Banlist-Regel um — auf Buch-, Autoren- oder globaler Ebene.
Trigger:
problem:, recurring issue:, report issue, Regel meldenOutput:
append_book_rule(book_slug, phrase, reason, severity, source_context) — schreibt neue Backtick-Regel in Per-Book CLAUDE.mdwrite_author_banned_phrase(author_slug, phrase, reason) — schreibt in vocabulary.md des Autorenprofilsreference/craft/anti-ai-patterns.md/storyforge:promote-rule| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | [book-slug] ["phrase"] [--to author|global] |
Zweck: Verschiebt eine Verbots-Phrasen-Regel von Buch-Ebene → Autoren-Ebene → globale Ebene. Wenn eine Regel sich in mehreren Büchern bewährt, muss sie nicht mehr manuell eingetragen werden.
Trigger:
promote rule, rule global machen, promote to author, promote to global, Regel hochstufenOutput:
CLAUDE.md entferntvocabulary.md oder globale Banlist eingetragen/storyforge:rules-audit| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | [book-slug] (optional) |
Zweck: Interaktiver Audit der Rules in einem Buch-CLAUDE.md. Geht jede Rule durch, die der manuscript-checker still ignorieren würde — italic-wrapped Examples mit Ban-Cue, gemischte Quotes, dead Patterns, Klammer-Platzhalter — und bietet pro Finding vier Optionen: Suggested Rewrite, manuell editieren, als narrativ markieren, oder skippen.
Trigger:
rules audit, regeln prüfen, rules check, rules cleanup, audit my rulesWorkflow:
list_book_rules + lint_book_rulesupdate_book_rule(validate=True) mit Re-Lint nach jedem WriteWichtig: Keine blinden Rewrites. Jede Änderung läuft durch User-Confirmation. Lint-Findings sind advisory; der User entscheidet die Rule-Semantik.
/storyforge:backfill-promises| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> |
| Pflicht-Voraussetzung | Buch hat Kapitel-Drafts in Status Draft oder höher |
Zweck: One-shot LLM-Bridge für Bücher, die vor Sprint 2 gedraftet wurden und keine ## Promises-Sektion in den Kapitel-READMEs haben. Geht jedes Kapitel durch, extrahiert Setup-Elemente (Chekhov Guns, Mysteries, registrierte Callbacks) via LLM-Pass und schreibt sie via register_chapter_promises() in das Kapitel-README.md.
Trigger:
/storyforge:backfill-promiseschekhov_gun Detection in analyze_plot_logic greiftWorkflow:
Draft oder höher## Promises-Block in Kapitel-README.md via register_chapter_promises()Nach dem Run: analyze_plot_logic kann chekhov_gun-Findings für das Buch produzieren. Single-source-of-truth bleibt der Canon-Log; Promises sind ein zusätzlicher Index obenauf, kein zweiter Speicher für Character-Knowledge.
/storyforge:help| Eigenschaft | Wert |
|---|---|
| Modell | Haiku |
| Argument | keines |
Zweck: Zeigt alle verfügbaren Skills mit Kurzbeschreibung.
/storyforge:setup| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | keines |
Zweck: Ersteinrichtung. Erstellt venv, installiert Dependencies, kopiert Config-Template.
/storyforge:configure| Eigenschaft | Wert |
|---|---|
| Modell | Sonnet |
| Argument | keines (interaktiv) |
Zweck: Interaktive Config-Bearbeitung. Geht durch config.yaml Feld für Feld.
Diese Skills aktivieren nur bei Memoir-Büchern (book_category: memoir). Bei Fiction-Projekten verweigern sie den Start.
/storyforge:plot-architect-memoir| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> |
| Voraussetzung | book_category: memoir |
Zweck: Memoir-Variante von plot-architect. Wählt einen von vier Strukturtypen und formt das Kapitel-Gerüst danach. Lädt memoir-spezifische Craft-Referenzen (scene-vs-summary, emotional-truth, memoir-anti-ai-patterns) — keine Fiction-Strukturkataloge (3-Act, Hero's Journey, Snowflake etc.).
Bei Fiction-Büchern: Verweigert den Start und verweist auf /storyforge:plot-architect.
4 Memoir-Strukturtypen:
Output:
plot/outline.md mit Strukturtyp + Kapitel-Gerüstplot/arcs.md mit Personenentwicklung (Memoir: keine Charakter-Arcs, Realpersonen)Wann aufrufen:
/storyforge:book-conceptualizer (Memoir-Modus)book_category: memoir/storyforge:memoir-ethics-checker| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> |
| Voraussetzung | book_category: memoir, Personenprofile in people/ |
Zweck: Einwilligungs-Gate und Verleumdungsrisiko-Scanner für Memoir-Bücher.
Zweistufige Prüfung:
people/, prüft consent_status. Urteil: PASS / WARN / FAIL.Urteil: EXPORT FREI / VOR EXPORT LÖSEN / EXPORT BLOCKIERT
/storyforge:emotional-truth-prompt| Eigenschaft | Wert |
|---|---|
| Modell | Opus |
| Argument | <book-slug> [chapter-slug] |
| Voraussetzung | book_category: memoir, Kapitel-Draft vorhanden |
Zweck: Interaktiver Gefühls-Wahrheits-Durchlauf für Memoir-Kapitel-Drafts. Findet wo der Draft in Abstraktion abdriftet und stellt Fragen, die nur der Autor beantworten kann.
Grundregel: Gibt Fragen und Revisions-Richtungen aus — niemals Prosa-Umschreibungen.
7 Dimensionen: ET1 Implizites Gefühl · ET2 Retrospektiver Drift · ET3 Erinnerungs-Widerspruch · ET4 Ausweich-Hedge · ET5 Vollständigkeitsfalle · ET6 Szene/Summary-Fehler · ET7 "Ich lag falsch"-Darstellung
Urteil: PASS / VERTIEFEN / NEUSCHREIBEN
| Kategorie | Skill | Modell | Argumente |
|---|---|---|---|
| Core | new-book | Sonnet | [title] |
| Core | session-start | Sonnet | — |
| Core | resume | Sonnet | <book-slug> |
| Core | next-step | Sonnet | — |
| Core | book-dashboard | Sonnet | [book-slug] |
| Core | brainstorm | Opus | — |
| Core | ideas | Haiku | [status] [genre] |
| Author | create-author | Opus | <author-name> |
| Author | study-author | Opus | <file-path> [author-slug] |
| Author | harvest-author-rules | Sonnet | <book-slug> [author-slug] |
| Author | voice-checker | Opus | <book-slug> [chapter-slug] |
| Creative | book-conceptualizer | Opus | <book-slug> |
| Creative | plot-architect | Opus | <book-slug> |
| Creative | character-creator | Opus | <book-slug> [character-name] |
| Creative | world-builder | Opus | <book-slug> |
| Creative | rolling-planner | Sonnet | [book-slug] |
| Writing | chapter-writer | Opus | <book-slug> <chapter-number> |
| Writing | chapter-reviewer | Opus | <book-slug> <chapter-slug> |
| Writing | chapter-humanizer | Opus | <book-slug> <chapter-slug> |
| Writing | chapter-proofreader | Sonnet | <book-slug> <chapter-slug> |
| Writing | continuity-checker | Sonnet | <book-slug> |
| Writing | manuscript-checker | Opus | <book-slug> [--interactive] |
| Writing | beta-feedback | Opus | <book-slug> [--file path] |
| Research | researcher | Opus | <topic> [book-slug] |
| Research | sensitivity-reader | Opus | <book-slug> [chapter-slug] |
| Production | export-engineer | Sonnet | <book-slug> [format] |
| Production | promo-writer | Opus | <book-slug> [platform] |
| Production | cover-artist | Opus | <book-slug> |
| Production | translator | Opus | <book-slug> <target-language> |
| Series | series-planner | Opus | <series-name> |
| Series | harvest-character-evolution | Sonnet 4.6 | [book-slug] |
| Series | bootstrap-book-from-series | Sonnet 4.6 | <prev-book-slug> <new-book-slug> |
| Utility | genre-creator | Opus | <genre-name> |
| Utility | unblock | Opus | — |
| Utility | register-callback | Haiku | <Regel\|Workflow\|Callback>: <text> |
| Utility | report-issue | Sonnet | <book-slug> [author-slug] |
| Utility | promote-rule | Sonnet | [book-slug] ["phrase"] [--to author|global] |
| Utility | rules-audit | Sonnet | [book-slug] |
| Utility | backfill-promises | Opus | <book-slug> |
| Utility | help | Haiku | — |
| Utility | setup | Sonnet | — |
| Utility | configure | Sonnet | — |
| Memoir | plot-architect-memoir | Opus | <book-slug> |
| Memoir | memoir-ethics-checker | Opus | <book-slug> |
| Memoir | emotional-truth-prompt | Opus | <book-slug> [chapter-slug] |