From storyforge
Review and critique a chapter for craft quality, voice consistency, and AI-tells. Use when: (1) User says "Kapitel reviewen", "review chapter", (2) After chapter-writer completes a draft. Memoir books → use `/storyforge:chapter-reviewer-memoir` instead.
How this skill is triggered — by the user, by Claude, or both
Slash command
/storyforge:chapter-reviewer <book-slug> <chapter-slug><book-slug> <chapter-slug>claude-opus-4-7The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Read `book_category` from the review brief (Step 1). Treat missing as `fiction`.
Read book_category from the review brief (Step 1). Treat missing as fiction.
If book_category == "memoir" → invoke /storyforge:chapter-reviewer-memoir instead. Do not continue in this skill.
Call MCP get_review_brief(book_slug, chapter_slug). This returns:
book_category — must be fiction; if memoir → see Step 0chapter_timeline — intra-day time grid for this chapterprevious_chapter_timeline — same for the preceding chaptercanonical_timeline_entries — parsed plot/timeline.md eventstravel_matrix — parsed world/setting.md Travel Matrix rowscanon_log_facts — parsed plot/canon-log.md factstonal_rules — non-negotiable rules, litmus test, banned patterns from plot/tone.mdactive_rules — book CLAUDE.md ## Rules with severityactive_callbacks — book CLAUDE.md ## Callback Register itemserrors — non-empty means some files missing; degrade gracefully, do not inventHonor every populated field. Empty lists / null means "file missing — degrade gracefully."
get_author(). Why: Voice consistency check needs the documented baseline. writing_discoveries.recurring_tics (Issue #151) lists cross-book tics — flag any hit as Major findings. style_principles and donts feed the same review pass.~/.storyforge/authors/{slug}/vocabulary.md. Why: Banned-word scan and preferred-word check both run against this list.get_craft_reference():
dos-and-donts — general craft baseline for the Craft section (5 points).anti-ai-patterns — AI-tell catalog for the Anti-AI section (5 points).chapter-construction — hook/scene-sequel/ending criteria for the Structure section (5 points).dialog-craft — subtext, voice differentiation, tag discipline — for points 9 and 15.show-dont-tell — show/tell balance check for points 6 and 24.simile-discipline — the two-question test for point 10b.01- or 001-) or frontmatter chapter number. If Chapter 1: also load openings-and-endings craft reference.{project}/chapters/{chapter}/draft.md{project}/chapters/{chapter}/README.md{project}/research/manuscript-report.md exists, check whether any of THIS chapter's distinctive 5-7 word phrases appear in earlier chapters. Flag matches in the Continuity Report.If this is Chapter 1, run this checklist BEFORE the standard review. Rate each point: PASS / WARN / FAIL.
Set the Stage
Spotlight the Protagonist 4. Protagonist in their element — Shown doing what defines them best (not sitting, not waking up). 5. Protagonist wants something — A concrete desire or longing exists before the main plot hits. 6. Normal world revealed — Everyday life before disruption is visible. 7. Problem illustrated — Something is broken or unsatisfying in the protagonist's world. 8. Theme seeded — A subtle hint at the story's deeper questions exists. 9. Internal conflict established — Fear-versus-desire tension is present.
Give Readers a Reason to Stay 10. Killer first sentence — Opening line sparks curiosity and makes the reader ask a question. 11. Curiosity sparked — Unanswered questions or intriguing dialogue keep reader leaning forward. 12. Dread established — Coming challenges are foreshadowed. 13. First domino knocked — The initial event that sets the journey in motion occurs by chapter's end.
Load-bearing items (FAIL here = chapter needs revision before moving on): 4, 5, 9, 10, 13.
10b. Simile discipline (craft sub-point) — Apply the two-question test from simile-discipline.md to every like, as if, as [adj] as, the way [X], moved/felt/sounded like, and the kind of [noun] that [clause] construction. For each: does the vehicle literally resemble the tenor? Does it do work a concrete beat couldn't? Flag illogical or decorative similes, stacked similes (2+ per paragraph without each doing distinct work), and dead similes. Respect author-voice bias.
14b. Phrase micro-echo (voice sub-point) — Within any 3-sentence window, are content words (nouns, verbs, adjectives) repeated more than once without intentional rhetorical effect? Flag: (a) flat anaphor — a noun from sentence N used again as the referent in sentence N+1 or N+2 where a pronoun or reframing would serve better (e.g. "the locked-down quality … Theo knew that quality"); (b) close-range noun repetition with no variation; (c) accidental verb twins. Exclude intentional repetition (anaphora, refrain, litany). Severity: WARN by default; FAIL only if the echo derails a critical scene beat. Suggest the simplest fix first (pronoun, synonym, or reword) — not elaborate imagery.
CHANGED facts.plot/timeline.md?revision_impact list of any **CHANGED** bullet in plot/canon-log.md? If so, verify the chapter uses the NEW version of every changed fact.Load analyze_plot_logic(book_slug, scope="chapter", chapter_slug=...) once before scoring this section. The returned knowledge_index provides facts, promises, and chapter story-days.
20b. Information leak — Does the POV character reference any fact established in a later chapter, or in an earlier chapter where the POV was absent? Severity: high (FAIL) if demonstrably absent; WARN otherwise.
20c. Motivation chain — Does each significant decision follow from the character's established wants and knowledge? Flag contradictions without on-page justification. Severity: WARN.
20d. Causality direction — Run static causality_inversion findings for this chapter. FAIL on any.
20e. World rule consistency — Does the chapter break any rule from the canon log "World / Setting Facts" or world/rules.md? Look for negation patterns that the prose violates without an exception clause. Severity: high (FAIL).
20f. Chapter promise — If the chapter places a setup-element, is it logged in ## Promises? Suggest missing promises; on approval call register_chapter_promises. Severity: WARN.
plot/tone.md existsReport target: 800–1200 words total. Critical findings first, then Recommended, Minor only if a pattern emerges (3+ instances). Skip empty sections — if there are zero AI-tells, the AI-Tell Report is one line ("Flagged words: none. Variance high. Generic descriptions: 0."), not a full table.
## Chapter Review: {Chapter Title}
### First Chapter Report (only if Chapter 1)
| # | Requirement | Result | Notes |
|---|---|---|---|
| 1 | Orient the reader | PASS/WARN/FAIL | |
| 2 | Set the tone | PASS/WARN/FAIL | |
| 3 | Establish genre | PASS/WARN/FAIL | |
| 4 | Protagonist in element ⚠️ | PASS/WARN/FAIL | |
| 5 | Protagonist wants something ⚠️ | PASS/WARN/FAIL | |
| 6 | Normal world revealed | PASS/WARN/FAIL | |
| 7 | Problem illustrated | PASS/WARN/FAIL | |
| 8 | Theme seeded | PASS/WARN/FAIL | |
| 9 | Internal conflict ⚠️ | PASS/WARN/FAIL | |
| 10 | Killer first sentence ⚠️ | PASS/WARN/FAIL | |
| 11 | Curiosity sparked | PASS/WARN/FAIL | |
| 12 | Dread established | PASS/WARN/FAIL | |
| 13 | First domino knocked ⚠️ | PASS/WARN/FAIL | |
⚠️ = load-bearing, FAIL requires revision before proceeding.
---
### Score: [X]/25 (core) + [X]/5 (tonal, if tone.md exists) + [X]/3 (timeline)
### Strengths
- *What works well*
- *Specific quotes that shine*
### Issues
#### Critical (Must Fix)
- [Issue] — [Location] — [Suggested fix]
#### Recommended (Should Fix)
- [Issue] — [Location] — [Suggested fix]
#### Minor (Nice to Have)
- [Issue] — [Location] — [Suggested fix]
### Continuity Report
- Canon conflicts: [count] — [details]
- Timeline conflicts: [count] — [details]
- Travel Matrix conflicts: [count] — [details]
- Stale references (from revisions): [count] — [details]
### Plot Logic Report
- Information leaks (high): [count] — [details with evidence]
- Information leaks (warn): [count] — [details]
- Motivation breaks: [count] — [details]
- Causality inversions: [count] — [details]
- World-rule violations: [count] — [details]
- Promise log: [N placed, M logged, K missing]
### Tonal Report (if tone.md exists)
- Dominant mode match: [yes/no — expected: X, actual: Y]
- Warning signs triggered: [list or "none"]
- Non-negotiable rules: [PASS/FAIL per rule]
- Litmus test: [pass/fail per question]
- Banned patterns found: [list or "none"]
### Chapter Timeline Report
- Time anchor: [established / missing / inconsistent with previous chapter]
- Internal time conflicts: [count] — [details]
- Cross-chapter time conflicts: [count] — [details]
### AI-Tell Report
- Flagged words: [list]
- Sentence length variance: [high/medium/low]
- Generic descriptions found: [count]
### Simile Report
- Total simile markers found: [count]
- Illogical / decorative (cut or revise): [list with quote + location]
- Stacked (2+ per paragraph without distinct work): [list]
- Dead similes: [list]
- Passing similes: [count]
- Author-voice register applied: [sparse / simile-heavy / as documented in profile]
### Phrase Echo Report
- Close-range echoes found: [count, or "none"]
- [quote → location → suggested fix (pronoun / synonym / reword)]
- Intentional refrains excluded: [count]
### Verdict
[PASS / NEEDS REVISION / MAJOR REVISION]
VERDICT: PASS | WARN | FAIL
### Suggested Next Step
[/storyforge:chapter-writer to revise | move to next chapter]
Verdict mapping:
npx claudepluginhub markus-michalski/storyforge --plugin storyforgeCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.