scriveno 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +222 -0
  3. package/agents/continuity-checker.md +85 -0
  4. package/agents/drafter.md +248 -0
  5. package/agents/plan-checker.md +209 -0
  6. package/agents/researcher.md +114 -0
  7. package/agents/translator.md +204 -0
  8. package/agents/voice-checker.md +154 -0
  9. package/bin/install.js +1620 -0
  10. package/commands/scr/add-note.md +51 -0
  11. package/commands/scr/add-unit.md +101 -0
  12. package/commands/scr/art-direction.md +225 -0
  13. package/commands/scr/autopilot-publish.md +210 -0
  14. package/commands/scr/autopilot-translate.md +237 -0
  15. package/commands/scr/autopilot.md +200 -0
  16. package/commands/scr/back-matter.md +630 -0
  17. package/commands/scr/back-translate.md +197 -0
  18. package/commands/scr/beta-reader.md +97 -0
  19. package/commands/scr/blurb.md +149 -0
  20. package/commands/scr/book-proposal.md +210 -0
  21. package/commands/scr/build-ebook.md +448 -0
  22. package/commands/scr/build-poetry-submission.md +202 -0
  23. package/commands/scr/build-print.md +598 -0
  24. package/commands/scr/build-smashwords.md +171 -0
  25. package/commands/scr/build-world.md +158 -0
  26. package/commands/scr/cast-list.md +104 -0
  27. package/commands/scr/chapter-header.md +158 -0
  28. package/commands/scr/character-arc.md +108 -0
  29. package/commands/scr/character-ref.md +160 -0
  30. package/commands/scr/character-sheet.md +143 -0
  31. package/commands/scr/character-touch.md +157 -0
  32. package/commands/scr/character-voice-sample.md +111 -0
  33. package/commands/scr/check-notes.md +50 -0
  34. package/commands/scr/cleanup.md +159 -0
  35. package/commands/scr/compare.md +112 -0
  36. package/commands/scr/complete-draft.md +49 -0
  37. package/commands/scr/continuity-check.md +129 -0
  38. package/commands/scr/copy-edit.md +118 -0
  39. package/commands/scr/cover-art.md +382 -0
  40. package/commands/scr/cultural-adaptation.md +177 -0
  41. package/commands/scr/demo.md +93 -0
  42. package/commands/scr/dialogue-audit.md +143 -0
  43. package/commands/scr/discuss.md +118 -0
  44. package/commands/scr/discussion-questions.md +129 -0
  45. package/commands/scr/do.md +68 -0
  46. package/commands/scr/draft.md +97 -0
  47. package/commands/scr/editor-review.md +466 -0
  48. package/commands/scr/export.md +942 -0
  49. package/commands/scr/fast.md +65 -0
  50. package/commands/scr/front-matter.md +696 -0
  51. package/commands/scr/health.md +113 -0
  52. package/commands/scr/help.md +121 -0
  53. package/commands/scr/history.md +92 -0
  54. package/commands/scr/illustrate-scene.md +211 -0
  55. package/commands/scr/import.md +95 -0
  56. package/commands/scr/insert-unit.md +108 -0
  57. package/commands/scr/line-edit.md +146 -0
  58. package/commands/scr/manager.md +77 -0
  59. package/commands/scr/manuscript-stats.md +139 -0
  60. package/commands/scr/map-illustration.md +213 -0
  61. package/commands/scr/map-manuscript.md +134 -0
  62. package/commands/scr/merge-units.md +136 -0
  63. package/commands/scr/multi-publish.md +344 -0
  64. package/commands/scr/new-character.md +167 -0
  65. package/commands/scr/new-revision.md +50 -0
  66. package/commands/scr/new-work.md +148 -0
  67. package/commands/scr/next.md +125 -0
  68. package/commands/scr/originality-check.md +170 -0
  69. package/commands/scr/outline.md +131 -0
  70. package/commands/scr/pacing-analysis.md +170 -0
  71. package/commands/scr/panel-layout.md +225 -0
  72. package/commands/scr/pause-work.md +88 -0
  73. package/commands/scr/plan.md +112 -0
  74. package/commands/scr/plant-seed.md +57 -0
  75. package/commands/scr/plot-graph.md +199 -0
  76. package/commands/scr/polish.md +141 -0
  77. package/commands/scr/profile-writer.md +154 -0
  78. package/commands/scr/progress.md +51 -0
  79. package/commands/scr/publish.md +455 -0
  80. package/commands/scr/query-letter.md +183 -0
  81. package/commands/scr/quick-write.md +82 -0
  82. package/commands/scr/relationship-map.md +129 -0
  83. package/commands/scr/remove-unit.md +120 -0
  84. package/commands/scr/reorder-units.md +126 -0
  85. package/commands/scr/resume-work.md +97 -0
  86. package/commands/scr/sacred/annotation-layer.md +105 -0
  87. package/commands/scr/sacred/chronology.md +121 -0
  88. package/commands/scr/sacred/concordance.md +88 -0
  89. package/commands/scr/sacred/cross-reference.md +97 -0
  90. package/commands/scr/sacred/doctrinal-check.md +129 -0
  91. package/commands/scr/sacred/genealogy.md +107 -0
  92. package/commands/scr/sacred/source-tracking.md +101 -0
  93. package/commands/scr/sacred/verse-numbering.md +103 -0
  94. package/commands/scr/sacred-numbering-format.md +103 -0
  95. package/commands/scr/save.md +109 -0
  96. package/commands/scr/scan.md +291 -0
  97. package/commands/scr/sensitivity-review.md +169 -0
  98. package/commands/scr/series-bible.md +127 -0
  99. package/commands/scr/session-report.md +80 -0
  100. package/commands/scr/settings.md +58 -0
  101. package/commands/scr/split-unit.md +123 -0
  102. package/commands/scr/spread-layout.md +187 -0
  103. package/commands/scr/storyboard.md +262 -0
  104. package/commands/scr/subject-touch.md +168 -0
  105. package/commands/scr/submit.md +50 -0
  106. package/commands/scr/subplot-map.md +147 -0
  107. package/commands/scr/sync.md +116 -0
  108. package/commands/scr/synopsis.md +137 -0
  109. package/commands/scr/theme-tracker.md +128 -0
  110. package/commands/scr/thread.md +83 -0
  111. package/commands/scr/timeline.md +141 -0
  112. package/commands/scr/track.md +564 -0
  113. package/commands/scr/translate.md +260 -0
  114. package/commands/scr/translation-glossary.md +298 -0
  115. package/commands/scr/translation-memory.md +310 -0
  116. package/commands/scr/troubleshoot.md +59 -0
  117. package/commands/scr/undo.md +106 -0
  118. package/commands/scr/validate.md +133 -0
  119. package/commands/scr/versions.md +94 -0
  120. package/commands/scr/voice-check.md +133 -0
  121. package/commands/scr/voice-test.md +68 -0
  122. package/data/CONSTRAINTS.json +1606 -0
  123. package/data/demo/.manuscript/BRIEF.md +37 -0
  124. package/data/demo/.manuscript/CHARACTERS.md +90 -0
  125. package/data/demo/.manuscript/OUTLINE.md +46 -0
  126. package/data/demo/.manuscript/PLOT-GRAPH.md +75 -0
  127. package/data/demo/.manuscript/STATE.md +44 -0
  128. package/data/demo/.manuscript/STYLE-GUIDE.md +119 -0
  129. package/data/demo/.manuscript/THEMES.md +51 -0
  130. package/data/demo/.manuscript/WORK.md +51 -0
  131. package/data/demo/.manuscript/config.json +59 -0
  132. package/data/demo/.manuscript/drafts/body/1-the-letter-DRAFT.md +51 -0
  133. package/data/demo/.manuscript/drafts/body/2-the-workshop-DRAFT.md +51 -0
  134. package/data/demo/.manuscript/drafts/body/3-the-pier-DRAFT.md +45 -0
  135. package/data/demo/.manuscript/drafts/body/4-the-clock-DRAFT.md +59 -0
  136. package/data/demo/.manuscript/plans/5-the-reunion-PLAN.md +52 -0
  137. package/data/demo/.manuscript/reviews/2-the-workshop-REVIEW.md +61 -0
  138. package/data/export-templates/scriveno-academic.latex +184 -0
  139. package/data/export-templates/scriveno-acm.latex +67 -0
  140. package/data/export-templates/scriveno-apa7.latex +83 -0
  141. package/data/export-templates/scriveno-book.typst +175 -0
  142. package/data/export-templates/scriveno-chapbook.typst +121 -0
  143. package/data/export-templates/scriveno-elsevier.latex +76 -0
  144. package/data/export-templates/scriveno-epub.css +386 -0
  145. package/data/export-templates/scriveno-fixed-layout-epub.css +76 -0
  146. package/data/export-templates/scriveno-fixed-layout.opf +23 -0
  147. package/data/export-templates/scriveno-ieee.latex +77 -0
  148. package/data/export-templates/scriveno-lncs.latex +79 -0
  149. package/data/export-templates/scriveno-picturebook.typst +113 -0
  150. package/data/export-templates/scriveno-poetry-submission-styles.md +45 -0
  151. package/data/export-templates/scriveno-poetry-submission.docx +0 -0
  152. package/data/export-templates/scriveno-smashwords-styles.md +45 -0
  153. package/data/export-templates/scriveno-smashwords.docx +0 -0
  154. package/data/export-templates/scriveno-stageplay.typst +129 -0
  155. package/data/proof/creative-context/README.md +79 -0
  156. package/data/proof/voice-dna/GUIDED-SAMPLE.md +19 -0
  157. package/data/proof/voice-dna/README.md +45 -0
  158. package/data/proof/voice-dna/STYLE-GUIDE-EXCERPT.md +43 -0
  159. package/data/proof/voice-dna/UNGUIDED-SAMPLE.md +11 -0
  160. package/data/proof/watchmaker-flow/README.md +78 -0
  161. package/docs/architecture.md +425 -0
  162. package/docs/command-reference.md +2384 -0
  163. package/docs/configuration.md +228 -0
  164. package/docs/context-protocol.md +81 -0
  165. package/docs/contributing.md +430 -0
  166. package/docs/creative-context.md +158 -0
  167. package/docs/development.md +152 -0
  168. package/docs/drafter-quality.md +127 -0
  169. package/docs/getting-started.md +198 -0
  170. package/docs/history-protocol.md +96 -0
  171. package/docs/proof-artifacts.md +56 -0
  172. package/docs/publishing.md +296 -0
  173. package/docs/release-notes.md +457 -0
  174. package/docs/runtime-support.md +77 -0
  175. package/docs/sacred-texts.md +296 -0
  176. package/docs/shipped-assets.md +129 -0
  177. package/docs/testing.md +156 -0
  178. package/docs/translation.md +343 -0
  179. package/docs/voice-dna.md +297 -0
  180. package/docs/work-types.md +339 -0
  181. package/lib/architectural-profiles.js +134 -0
  182. package/package.json +54 -0
  183. package/templates/BRIEF.md +51 -0
  184. package/templates/CHARACTERS.md +64 -0
  185. package/templates/CONTEXT.md +56 -0
  186. package/templates/OUTLINE.md +36 -0
  187. package/templates/RECORD.md +68 -0
  188. package/templates/STATE.md +50 -0
  189. package/templates/STYLE-GUIDE.md +121 -0
  190. package/templates/THEMES.md +36 -0
  191. package/templates/WORK.md +67 -0
  192. package/templates/WORLD.md +62 -0
  193. package/templates/WRITING-RULES.md +156 -0
  194. package/templates/academic/ARGUMENT-MAP.md +40 -0
  195. package/templates/academic/CONCEPTS.md +34 -0
  196. package/templates/academic/CONTEXT.md +29 -0
  197. package/templates/academic/PROPOSAL.md +37 -0
  198. package/templates/academic/QUESTIONS.md +24 -0
  199. package/templates/config.json +72 -0
  200. package/templates/pitfalls/comic.md +54 -0
  201. package/templates/pitfalls/commentary.md +62 -0
  202. package/templates/pitfalls/memoir.md +48 -0
  203. package/templates/pitfalls/novel.md +53 -0
  204. package/templates/pitfalls/poetry_collection.md +63 -0
  205. package/templates/pitfalls/research_paper.md +66 -0
  206. package/templates/pitfalls/runbook.md +64 -0
  207. package/templates/pitfalls/screenplay.md +54 -0
  208. package/templates/platforms/README.md +16 -0
  209. package/templates/platforms/apple/manifest.yaml +20 -0
  210. package/templates/platforms/bn/manifest.yaml +20 -0
  211. package/templates/platforms/d2d/manifest.yaml +20 -0
  212. package/templates/platforms/google/manifest.yaml +20 -0
  213. package/templates/platforms/ingram/manifest.yaml +44 -0
  214. package/templates/platforms/kdp/manifest.yaml +42 -0
  215. package/templates/platforms/kobo/manifest.yaml +20 -0
  216. package/templates/platforms/smashwords/manifest.yaml +26 -0
  217. package/templates/sacred/COSMOLOGY.md +88 -0
  218. package/templates/sacred/DOCTRINES.md +45 -0
  219. package/templates/sacred/FIGURES.md +69 -0
  220. package/templates/sacred/FRAMEWORK.md +98 -0
  221. package/templates/sacred/LINEAGES.md +52 -0
  222. package/templates/sacred/README.md +20 -0
  223. package/templates/sacred/THEOLOGICAL-ARC.md +69 -0
  224. package/templates/sacred/catholic/manifest.yaml +93 -0
  225. package/templates/sacred/islamic-hafs/manifest.yaml +134 -0
  226. package/templates/sacred/islamic-warsh/manifest.yaml +134 -0
  227. package/templates/sacred/jewish/manifest.yaml +56 -0
  228. package/templates/sacred/orthodox/manifest.yaml +98 -0
  229. package/templates/sacred/pali/manifest.yaml +20 -0
  230. package/templates/sacred/protestant/manifest.yaml +86 -0
  231. package/templates/sacred/sanskrit/manifest.yaml +20 -0
  232. package/templates/sacred/tewahedo/manifest.yaml +106 -0
  233. package/templates/sacred/tibetan/manifest.yaml +20 -0
  234. package/templates/technical/AUDIENCE.md +26 -0
  235. package/templates/technical/DEPENDENCIES.md +19 -0
  236. package/templates/technical/DOC-BRIEF.md +45 -0
  237. package/templates/technical/PROCEDURES.md +37 -0
  238. package/templates/technical/REFERENCES.md +36 -0
  239. package/templates/technical/SYSTEM.md +25 -0
@@ -0,0 +1,143 @@
1
+ ---
2
+ description: Audit dialogue for character voice differentiation, attribution clarity, and talking-head detection.
3
+ ---
4
+
5
+ # /scr:dialogue-audit -- Character Dialogue Quality Audit
6
+
7
+ Audit dialogue for voice differentiation, attribution clarity, dialect consistency, and talking-head detection.
8
+
9
+ ## Usage
10
+ ```
11
+ /scr:dialogue-audit [N]
12
+ ```
13
+
14
+ Where `N` is the scope (act, chapter, or section number depending on work type). Omit `N` to audit the entire manuscript.
15
+
16
+ ## Instruction
17
+
18
+ You are a **dialogue specialist**. Your job is to ensure every character sounds like themselves, dialogue is clearly attributed, and scenes avoid talking-head syndrome.
19
+
20
+ ---
21
+
22
+ ### STEP 0: LOAD CONTEXT
23
+
24
+ 1. Load `config.json` to determine work type and hierarchy
25
+ 2. Load `CONSTRAINTS.json` -- this command is **available** for prose, script, and interactive work types. It is **hidden** from academic, poetry, speech_song, and sacred work types. If the current work type is in a hidden group, inform the writer and exit gracefully
26
+ 3. Load `CHARACTERS.md` -- extract each character's **voice anchors**: vocabulary level, sentence length tendencies, verbal tics, speech patterns, dialect markers, and any other voice-defining traits
27
+ 4. Load the drafted prose for scope `N` (or full manuscript if `N` is omitted)
28
+
29
+ ---
30
+
31
+ ### STEP 1: VOICE DIFFERENTIATION
32
+
33
+ For each character with dialogue in the scope:
34
+
35
+ <voice_check>
36
+ Compare their actual dialogue against their voice anchor in CHARACTERS.md:
37
+ - **Vocabulary**: Does their word choice match their established register?
38
+ - **Sentence length**: Do their sentences match their pattern (short/clipped vs. flowing/complex)?
39
+ - **Verbal tics**: Are their signature phrases/expressions present?
40
+ - **Speech patterns**: Do they speak in a way that's distinguishable from other characters?
41
+
42
+ Test: Could you identify the speaker with all dialogue tags removed? If two characters sound interchangeable, flag it.
43
+
44
+ For each character, provide a voice consistency score:
45
+ - STRONG: Character is immediately recognizable by dialogue alone
46
+ - ADEQUATE: Character is mostly distinct but has moments of generic voice
47
+ - WEAK: Character sounds interchangeable with others
48
+ </voice_check>
49
+
50
+ ---
51
+
52
+ ### STEP 2: ATTRIBUTION CLARITY
53
+
54
+ Scan all dialogue passages for attribution issues:
55
+
56
+ <attribution_check>
57
+ - Flag any stretch of **more than 3 consecutive dialogue exchanges** without a dialogue tag, action beat, or internal thought to anchor the speaker
58
+ - Flag scenes where three or more characters are speaking and attribution becomes ambiguous
59
+ - Flag any passage where the reader would need to count backwards to determine who is speaking
60
+ - Note where attribution is handled well (action beats woven naturally, dialogue tags invisible)
61
+ </attribution_check>
62
+
63
+ ---
64
+
65
+ ### STEP 3: DIALECT CONSISTENCY
66
+
67
+ For characters who use dialect, regional speech, or non-standard English:
68
+
69
+ <dialect_check>
70
+ - Catalog their dialect markers (dropped letters, specific pronunciations, regional vocabulary)
71
+ - Scan for **inconsistent usage**: dialect present in some scenes but absent in others without narrative reason
72
+ - Scan for **overcorrection**: dialect so thick it becomes unreadable
73
+ - Scan for **undercorrection**: dialect markers so light they disappear entirely
74
+ - Note if dialect is used respectfully and consistently (not just for comic relief or othering)
75
+ </dialect_check>
76
+
77
+ ---
78
+
79
+ ### STEP 4: TALKING-HEAD DETECTION
80
+
81
+ Identify scenes where characters are disembodied voices:
82
+
83
+ <talking_head_check>
84
+ Flag any passage where:
85
+ - Characters exchange dialogue for more than **half a page** (~125 words of pure dialogue) without:
86
+ - Physical action (gestures, movement, interaction with objects)
87
+ - Setting interaction (noticing environment, reacting to surroundings)
88
+ - Internal thought or emotional reaction
89
+ - Sensory detail
90
+ - The scene reads like a transcript rather than a story
91
+
92
+ For each flagged passage, suggest what could be woven in:
93
+ - What are the characters physically doing during this conversation?
94
+ - What in the setting could they interact with?
95
+ - What are they thinking but not saying?
96
+ </talking_head_check>
97
+
98
+ ---
99
+
100
+ ### OUTPUT
101
+
102
+ For each issue found, present:
103
+
104
+ | Field | Content |
105
+ |-------|---------|
106
+ | **Passage** | The relevant dialogue excerpt |
107
+ | **Characters** | Who is involved |
108
+ | **Category** | Voice Differentiation / Attribution / Dialect / Talking Head |
109
+ | **Severity** | High (reader confusion) / Medium (craft improvement) / Low (polish) |
110
+ | **Suggestion** | Specific, actionable recommendation |
111
+
112
+ Group findings by scene/chapter, then by category within each.
113
+
114
+ End with a **Dialogue Health Summary**:
115
+ - Total issues by category and severity
116
+ - Characters with strongest voice distinction
117
+ - Characters needing the most voice work
118
+ - Overall dialogue quality assessment
119
+
120
+ Save to `.manuscript/{scope}-DIALOGUE-AUDIT.md` where `{scope}` is the act/chapter identifier or `full` for the entire manuscript.
121
+
122
+ ## Response Contract
123
+
124
+ Every writer-facing response must end with one to four next-command suggestions. Each suggestion must include a short explanation of what that path will do.
125
+
126
+ Use this format:
127
+
128
+ ```markdown
129
+ Next commands:
130
+ - `/scr:...`: One short sentence explaining what this path will do.
131
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
132
+ ```
133
+
134
+ If exactly one path is clearly best, provide one suggestion. If two, three, or four useful paths exist, show them as alternatives. Do not force a linear path when the writer has a real choice.
135
+
136
+ If the writer seems unsure or no specific next command is obvious, include this default option:
137
+
138
+ ```markdown
139
+ Next commands:
140
+ - `/scr:next`: Inspect the project state and choose the right next step.
141
+ ```
142
+
143
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
@@ -0,0 +1,118 @@
1
+ ---
2
+ description: Shape the next unit before planning. Discuss the approach, voice, themes, open questions.
3
+ argument-hint: "[unit number, optional]"
4
+ ---
5
+
6
+ # Discuss {unit}
7
+
8
+ You are in the **discuss phase** of the Scriveno workflow. Your job is to help the writer shape the next unit *before* planning and drafting. This is the conversation that turns a blank page into a concrete direction.
9
+
10
+ ## Adaptive naming
11
+
12
+ Load `.manuscript/config.json` to get the `command_unit` (chapter, act, section, surah, essay, etc.). The runnable command stays `/scr:discuss`; use the right unit term throughout your conversation and prompts.
13
+
14
+ ## What to do
15
+
16
+ 0. **Bootstrap (context-cost protocol).** Read `.manuscript/CONTEXT.md` first if it exists. If its `Updated` timestamp is newer than `.manuscript/STATE.md` and newer than the newest file in `.manuscript/drafts/body/`, use it for orientation (project title, work type, current unit, recent activity) and skip the corresponding STATE.md lookup in step 2. The discuss phase still needs the full creative inputs in step 1 (WORK.md, OUTLINE.md, RECORD.md, STYLE-GUIDE.md, characters, plot, themes, prior drafts) -- those are not orientation; they are source material the discussion turns on. If CONTEXT.md is missing or stale, run steps 1-2 unchanged. See `docs/context-protocol.md`.
17
+
18
+ 1. **Load Creative Context.** Read WORK.md, OUTLINE.md, RECORD.md, STYLE-GUIDE.md, CHARACTERS.md (or adapted equivalents), PLOT-GRAPH.md, THEMES.md, and any previously drafted units. If RECORD.md is missing in an older project, continue and note that `/scr:scan --fix` or `/scr:save` can initialize it later. If those files include `creative_pillar` frontmatter, use it as a routing hint only; older projects without metadata are equally valid. STYLE-GUIDE.md remains sovereign for voice. Load section 12 of the plan for discuss-phase categories (creative, academic, or sacred depending on group). See `docs/creative-context.md`.
19
+
20
+ 2. **Figure out which unit** to discuss. If the user passed a number, use it. Otherwise check STATE.md for the next pending unit.
21
+
22
+ 3. **Ask the right questions** based on the work type group:
23
+
24
+ - **Prose/Script/Visual/Interactive** -- Use the 14 creative writing categories from section 12.1: pacing, voice, POV, tension, character dynamics, dialogue density, descriptive depth, emotional beats, foreshadowing, cliffhangers, subtext, symbolism, scene-setting, continuity with previous units.
25
+ - **Academic** -- Use the 7 academic categories from section 12.2: argumentation, citation integration, methodology framing, data presentation, scholarly voice, theoretical framework, ethical framing.
26
+ - **Sacred/Historical** -- Use the 10 sacred categories from section 12.3:
27
+ 1. **Doctrinal framing** -- Confessional vs. neutral stance, denominational alignment, hedging on disputed points. How openly does this unit take a doctrinal position?
28
+ 2. **Voice register** -- Which register dominates (prophetic, wisdom, legal, liturgical, narrative-historical, apocalyptic, epistolary, psalmic, parabolic, didactic)? Transition handling if multiple registers appear. If this unit uses a different register than the previous one, always discuss the transition.
29
+ 3. **Intertextual density** -- Quote vs. allude vs. echo. Source attribution decisions. How much should the reader be expected to recognize? Dense intertextuality rewards the learned reader but may alienate the newcomer.
30
+ 4. **Supernatural / miraculous** -- Naturalistic vs. supernatural framing, narrator stance, faith assumptions. Does the narrator describe miracles as fact, as reported experience, or as metaphor? What does FRAMEWORK.md specify?
31
+ 5. **Genealogical integration** -- Compressed list vs. narrative weaving. Is this genealogy theological (proving lineage to a promise) or historical (recording descent)? How much does the reader need to care about each name?
32
+ 6. **Law vs. narrative** -- Where to embed legal/halakhic material within narrative flow. Transition style between prescriptive and descriptive. Didactic vs. storytelling balance. Does the law interrupt the story or emerge from it?
33
+ 7. **Historical claim weight** -- Historical-critical vs. faith-affirming approach. Hedging on disputed events. Does the text present events as "this happened" or "tradition holds that"? What does FRAMEWORK.md specify for contested history?
34
+ 8. **Liturgical rhythm** -- Meter, repetition, call-and-response, antiphonal structure. Is this unit meant to be read aloud, sung, or chanted? How does the rhythm serve the content?
35
+ 9. **Pastoral sensitivity** -- Tone toward the reader. Comfort vs. challenge. Contextual nuance for passages dealing with suffering, judgment, exclusion, or violence. How does the writer want the reader to feel?
36
+ 10. **Translation stance** -- When to preserve original terms (untranslated, transliterated, or translated). Footnote density. Audience assumptions about familiarity with source language and tradition.
37
+
38
+ For sacred works, pick the 3-4 most relevant categories for this specific unit. Always include Voice Register if this unit uses a different register than the previous one.
39
+
40
+ Don't ask all of them. Pick the 3-4 most relevant for this specific unit. If the writer seems ready to move on, move on.
41
+
42
+ If the unit involves named characters, read their `Persona under pressure` and `Relationship-specific interactions` sections from CHARACTERS.md. Ask at most one persona or interaction question, for example: "Mara gets terse when afraid, but Elias makes her defensive. Does this scene let that mask hold, or crack?" If the writer answers, capture it as a `CHOICE` or `WATCHPOINT`.
43
+
44
+ If the unit is driven by an idea, subject, theme, object, setting, process, doctrine, argument, reader problem, or image pattern, use subject dynamics whether or not named characters are present. Read the reader journey in BRIEF.md or DOC-BRIEF.md, the theme or doctrine threads, the argument or procedure map, and any adapted source such as QUESTIONS.md, REFERENCES.md, DOCTRINES.md, SYSTEM.md, or PROCEDURES.md.
45
+
46
+ Use this quick detection test: does this unit change what the reader understands, feels, fears, believes, can do, can verify, or notices about a subject? If yes, capture subject dynamics. Ask at most one subject-dynamics question, for example: "This section moves the reader from confusion to usable confidence. What is the main friction: a misconception, a risk, or a missing example?" If the writer answers, capture it as a `CHOICE`, `HUNCH`, or `WATCHPOINT`.
47
+
48
+ Use RECORD.md to ask about established content only when it matters. Good prompts connect the current unit to an existing thread, promise, continuity fact, or next-unit obligation without making the writer audit the whole project.
49
+
50
+ **Domain grilling:** Before you accept a fuzzy term, overloaded label, or claim about how the project works, check the relevant source files first. Use RECORD.md for established facts and definitions, STYLE-GUIDE.md for voice language, CHARACTERS.md or FIGURES.md for cast terms, WORLD.md or SYSTEM.md for operating rules, PLOT-GRAPH.md or PROCEDURES.md for sequence and causality, THEMES.md, QUESTIONS.md, DOCTRINES.md, or REFERENCES.md for subject language, and prior drafts for what has already appeared on the page.
51
+
52
+ If the files answer the question, do not ask the writer. If the writer's wording conflicts with existing language, call out the mismatch immediately and ask which term or rule wins. If the wording is vague, propose one precise canonical term and ask for confirmation. Always ask one question at a time and include your recommended answer.
53
+
54
+ For technical work types, treat REFERENCES.md as the canonical place for source-of-truth links and terminology. If a technical term is resolved during discussion, capture the durable term in `## Record Notes` as a recommended REFERENCES.md update, and also include any unit-specific effect in `## Subject Dynamics Notes` or `## Craft Notes`.
55
+
56
+ 4. **Capture craft notes** in `.manuscript/{N}-CONTEXT.md`. This file is the input to `/scr:plan`. It should contain: approach, voice notes, what to include, what to avoid, continuity anchors, specific beats the writer wants hit, and a `## Craft Notes` section using only these labels:
57
+
58
+ - `CHOICE`: confirmed creative decision
59
+ - `HUNCH`: creative bet to test in drafting
60
+ - `QUESTION`: unresolved issue for writer or editor; mark as `Blocking` or `Non-blocking`
61
+ - `WATCHPOINT`: thing to preserve, test, or re-check later
62
+
63
+ These labels belong in the context artifact only. Do not add them to drafted prose.
64
+
65
+ If character dynamics matter in this unit, add a `## Character Persona Notes` section with:
66
+ - characters present
67
+ - pressure behavior to show
68
+ - relationship-specific interaction to preserve
69
+ - any persona or relationship watchpoints
70
+
71
+ If the unit is driven by an idea, subject, process, procedure, place, object, doctrine, argument, reader problem, or image pattern, add a `## Subject Dynamics Notes` section with:
72
+ - active subject, idea, claim, procedure, place, object, doctrine, image pattern, or reader problem
73
+ - reader state at the start and desired shift by the end
74
+ - pressure or friction to make clear
75
+ - interaction to preserve, such as claim vs. counterclaim, rule vs. exception, step vs. failure mode, doctrine vs. practice, or image vs. meaning
76
+ - subject, reader, evidence, procedure, or theme watchpoints
77
+
78
+ Character Persona Notes and Subject Dynamics Notes may both appear in the same context file. Avoid duplicating the same point in both sections. If they seem to pull in different directions, record the conflict as a `QUESTION: Blocking` instead of leaving the drafter to guess.
79
+
80
+ Add a `## Record Notes` section when the conversation touches established content. Include:
81
+ - established facts, claims, procedures, or events this unit must honor
82
+ - open threads, promises, or reader expectations this unit should pay off, deepen, or leave open
83
+ - new facts or movement this unit is likely to establish
84
+ - any RECORD.md updates the draft or review should make after the unit lands
85
+ - any canonical terminology, source-of-truth, or adapted source-file updates resolved by domain grilling
86
+
87
+ 5. **Update STATE.md** to mark discuss phase complete for this unit.
88
+
89
+ 6. **Suggest next step:** "Ready to plan this {unit}? Run `/scr:plan N` or `/scr:next` and I'll handle it."
90
+
91
+ ## Response Contract
92
+
93
+ Every writer-facing response must end with one to four next-command suggestions. Each suggestion must include a short explanation of what that path will do.
94
+
95
+ Use this format:
96
+
97
+ ```markdown
98
+ Next commands:
99
+ - `/scr:...`: One short sentence explaining what this path will do.
100
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
101
+ ```
102
+
103
+ If exactly one path is clearly best, provide one suggestion. If two, three, or four useful paths exist, show them as alternatives. Do not force a linear path when the writer has a real choice.
104
+
105
+ If the writer seems unsure or no specific next command is obvious, include this default option:
106
+
107
+ ```markdown
108
+ Next commands:
109
+ - `/scr:next`: Inspect the project state and choose the right next step.
110
+ ```
111
+
112
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
113
+
114
+ ## Tone
115
+
116
+ Collaborative. This is the writer thinking out loud with you. Ask one question at a time. Listen. Paraphrase back to make sure you got it. This phase is where trust is built -- if the writer feels heard, they'll trust the draft that comes later.
117
+
118
+ If the writer says "just do it" -- skip to planning with sensible defaults from STYLE-GUIDE.md.
@@ -0,0 +1,129 @@
1
+ ---
2
+ description: Generate reading group discussion questions exploring themes, characters, and craft.
3
+ ---
4
+
5
+ # /scr:discussion-questions -- Reading Group Discussion Questions
6
+
7
+ Generate discussion questions for reading groups, book clubs, and study groups.
8
+
9
+ ## Usage
10
+ ```
11
+ /scr:discussion-questions [--count <N>]
12
+ ```
13
+
14
+ **Flags:**
15
+ - `--count` -- Number of questions to generate. Defaults to 10-15 if not specified.
16
+
17
+ ## Instruction
18
+
19
+ You are a **book club facilitator** who crafts discussion questions that spark genuine conversation -- not quiz questions with right answers, but open-ended prompts that help readers engage more deeply with the work.
20
+
21
+ ---
22
+
23
+ ### STEP 1: LOAD CONTEXT
24
+
25
+ Read the following files:
26
+
27
+ 1. `.manuscript/config.json` -- work type, genre
28
+ 2. Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) -- verify availability. Available: prose. Hidden: script, academic, visual, poetry, interactive, speech_song, sacred. If hidden, tell the writer this command is not available for their work type and stop.
29
+ 3. `.manuscript/WORK.md` -- genre, themes, central conflict
30
+ 4. `.manuscript/STYLE-GUIDE.md` -- tone and voice for matching question register
31
+ 5. The complete draft (all drafted units)
32
+
33
+ ---
34
+
35
+ ### STEP 2: DETERMINE QUESTION COUNT
36
+
37
+ Use the `--count` flag if provided. Otherwise, generate 10-15 questions -- enough for a robust discussion without overwhelming the group.
38
+
39
+ ---
40
+
41
+ ### STEP 3a: GENERATE DISCUSSION QUESTIONS (Standard)
42
+
43
+ For prose works, create questions across these categories. Mix categories throughout -- do not group them rigidly.
44
+
45
+ **Thematic Questions** (what does the book say about...?)
46
+ - Explore the work's central themes and what it argues or implies about them
47
+ - Ask readers to identify where themes emerge and how they develop
48
+ - Connect themes to broader cultural or universal human concerns
49
+
50
+ **Character Questions** (motivations, growth, moral choices)
51
+ - Explore character motivations -- why did they make the choices they did?
52
+ - Examine character growth or refusal to grow
53
+ - Present moral dilemmas characters faced and ask readers to weigh in
54
+ - Compare characters' worldviews or values
55
+
56
+ **Craft Questions** (narrative structure, POV choices, symbolism)
57
+ - Ask about the author's structural choices (why start here? why this POV?)
58
+ - Explore symbolism, motifs, and recurring imagery
59
+ - Discuss pacing decisions -- what effect does the timeline create?
60
+ - Examine the author's use of voice, tone, or language
61
+
62
+ **Personal Connection Questions** (how does this relate to the reader's experience?)
63
+ - Ask readers to connect the work to their own lives or observations
64
+ - Explore whether the work changed their perspective on anything
65
+ - Invite readers to imagine themselves in a character's situation
66
+
67
+ **Debate Questions** (questions with no single right answer)
68
+ - Present the work's most contentious moments and ask readers to take sides
69
+ - Pose "what if" scenarios -- how would the story change if X were different?
70
+ - Ask whether the ending was earned, satisfying, or inevitable
71
+
72
+ Ensure questions:
73
+ - Are open-ended (no yes/no answers)
74
+ - Reference specific moments, scenes, or passages when possible
75
+ - Build from accessible to more challenging as the list progresses
76
+ - Avoid spoiler assumptions -- frame questions so they work whether or not all members finished
77
+
78
+ ---
79
+
80
+ ### STEP 4: PRESENT AND REFINE
81
+
82
+ Present the questions to the writer in numbered order. Ask:
83
+
84
+ - Are any questions too basic or too obscure for the intended audience?
85
+ - Should any questions be reframed or replaced?
86
+ - Is there a specific theme, character, or moment they want explored more deeply?
87
+
88
+ ---
89
+
90
+ ### STEP 5: SAVE
91
+
92
+ Save to `.manuscript/back-matter/discussion-questions.md`:
93
+
94
+ ```markdown
95
+ # Discussion Questions
96
+
97
+ [numbered questions]
98
+
99
+ ---
100
+ *Generated by /scr:discussion-questions*
101
+ *Question count: [N]*
102
+ ```
103
+
104
+ For sacred works, use the header `# Study Questions` instead.
105
+
106
+ Create the `.manuscript/back-matter/` directory if it does not exist.
107
+
108
+ ## Response Contract
109
+
110
+ Every writer-facing response must end with one to four next-command suggestions. Each suggestion must include a short explanation of what that path will do.
111
+
112
+ Use this format:
113
+
114
+ ```markdown
115
+ Next commands:
116
+ - `/scr:...`: One short sentence explaining what this path will do.
117
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
118
+ ```
119
+
120
+ If exactly one path is clearly best, provide one suggestion. If two, three, or four useful paths exist, show them as alternatives. Do not force a linear path when the writer has a real choice.
121
+
122
+ If the writer seems unsure or no specific next command is obvious, include this default option:
123
+
124
+ ```markdown
125
+ Next commands:
126
+ - `/scr:next`: Inspect the project state and choose the right next step.
127
+ ```
128
+
129
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
@@ -0,0 +1,68 @@
1
+ ---
2
+ description: Natural language router. Type what you want in plain English, Scriveno figures out which command to run.
3
+ argument-hint: "\"<what you want to do>\""
4
+ ---
5
+
6
+ # Do
7
+
8
+ You are a free-text command router. The writer is telling you what they want in natural language. Your job is to map that to the right Scriveno command and run it.
9
+
10
+ ## What to do
11
+
12
+ 1. **Parse the user's intent** from the argument. Look for action verbs and objects.
13
+ 2. **Load Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`)** to see available commands for the current work type.
14
+ 3. **Pick the best-matching command** and run it with appropriate arguments.
15
+ 4. **If uncertain between 2-3 commands**, ask a short clarifying question with numbered options. Don't guess if it's ambiguous.
16
+
17
+ ## Example mappings
18
+
19
+ | User says | Command to run |
20
+ |-----------|----------------|
21
+ | "write the next chapter" | `/scr:draft N` (next pending, framed with the current unit terminology) |
22
+ | "work on chapter 5" | `/scr:next` but scoped to chapter 5 |
23
+ | "check for plot holes" | `/scr:continuity-check` |
24
+ | "add a new villain" | `/scr:new-character` with villain framing |
25
+ | "scholarly review this passage" (sacred) | `/scr:editor-review` with sacred scholarly framing |
26
+ | "make a cover" | `/scr:cover-art` |
27
+ | "how's the pacing?" | `/scr:pacing-analysis` |
28
+ | "I want to publish on KDP" | `/scr:publish --preset kdp-paperback` |
29
+ | "translate to French" | `/scr:translate french` |
30
+ | "what did I do last session?" | `/scr:session-report` |
31
+ | "save my work" | `/scr:save` (writer mode) or `/scr:pause-work` |
32
+ | "I'm stuck" | `/scr:troubleshoot` |
33
+ | "start over on chapter 2" | Ask: revise in place or discard draft? |
34
+
35
+ ## When intent is unclear
36
+
37
+ Don't run anything. Ask: "I want to make sure I do the right thing -- did you mean: (1) X, or (2) Y?" Numbered options only, max 3.
38
+
39
+ ## When the command doesn't exist for this work type
40
+
41
+ Suggest the canonical runnable command plus the adapted label from CONSTRAINTS.json. Example: user says "scholarly review this" in a sacred commentary project -> "Sacred projects surface that as scholarly review. Want me to run `/scr:editor-review` and use sacred review framing?"
42
+
43
+ ## Response Contract
44
+
45
+ Every writer-facing response must end with one to four next-command suggestions. Each suggestion must include a short explanation of what that path will do.
46
+
47
+ Use this format:
48
+
49
+ ```markdown
50
+ Next commands:
51
+ - `/scr:...`: One short sentence explaining what this path will do.
52
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
53
+ ```
54
+
55
+ If exactly one path is clearly best, provide one suggestion. If two, three, or four useful paths exist, show them as alternatives. Do not force a linear path when the writer has a real choice.
56
+
57
+ If the writer seems unsure or no specific next command is obvious, include this default option:
58
+
59
+ ```markdown
60
+ Next commands:
61
+ - `/scr:next`: Inspect the project state and choose the right next step.
62
+ ```
63
+
64
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
65
+
66
+ ## Tone
67
+
68
+ Fast. Natural. Don't quote the user back at them. Just act -- or ask one crisp question if you can't.
@@ -0,0 +1,97 @@
1
+ ---
2
+ description: Draft the planned unit. Invokes the drafter agent in fresh context per atomic unit.
3
+ argument-hint: "[unit number, optional]"
4
+ ---
5
+
6
+ # Draft {unit}
7
+
8
+ You are orchestrating the drafter agent to produce the actual prose (or script, or verse, or passage) for a planned unit.
9
+
10
+ ## Adaptive naming
11
+
12
+ Load `.manuscript/config.json` for `command_unit`. The runnable command stays `/scr:draft`; adapt the unit terminology in prompts and summaries.
13
+
14
+ ## Prerequisites
15
+
16
+ Require `.manuscript/plans/{N}-*-PLAN.md` files to exist. If none exist, also check legacy root-level `.manuscript/{N}-*-PLAN.md` files before offering `/scr:plan N`. If the writer says "skip planning", generate minimal plans on the fly from OUTLINE.md + STYLE-GUIDE.md and save them in `.manuscript/plans/`.
17
+
18
+ ## What to do
19
+
20
+ 1. **Find all plan files for the unit.** Prefer `.manuscript/plans/{N}-*-PLAN.md` -- one per atomic unit (scene, subsection, passage). If no files exist there, fall back to legacy `.manuscript/{N}-*-PLAN.md`.
21
+
22
+ Before invoking the drafter, scan each plan for `QUESTION: Blocking`. If any blocking question remains, pause and route back to `/scr:discuss N`. Non-blocking questions and watchpoints may proceed into drafting.
23
+
24
+ 2. **For each atomic unit, invoke the installed `drafter.md` agent for the current runtime in a fresh context.** Use the agent path for the writer's active Scriveno install (for example the runtime's global or project-scoped `agents/drafter.md`). Fresh context per atomic unit is critical -- it prevents voice drift, context bloat, and lets each scene be its best. The drafter receives:
25
+ - STYLE-GUIDE.md (always, every time -- this is the voice DNA)
26
+ - The specific `.manuscript/plans/{N}-{A}-PLAN.md` for this atomic unit, or the matching legacy root-level plan if that is all the project has
27
+ - The plan's `## Craft Notes` section, including any `CHOICE`, `HUNCH`, `QUESTION`, and `WATCHPOINT` items
28
+ - The plan's `## Record Notes` section, when present
29
+ - RECORD.md, when present, so the drafter can honor established facts, open threads, promises, payoffs, continuity facts, and next-unit obligations
30
+ - The plan's `## Character Persona Notes` section, when present
31
+ - The plan's `## Subject Dynamics Notes` section, when present
32
+ - CHARACTERS.md or FIGURES.md (full file by default; only filtered to "relevant figures" when `draft.context_profile` is `minimal`). Loading the full file is the default because a character introduced via `/scr:new-character` after some plans were already written will not appear in those plans, and a relevance filter would silently exclude them from the drafter's view -- breaking character continuity through the manuscript.
33
+ - The last 200 words of the previous atomic unit (for voice/tone continuity)
34
+ - THEMES.md or DOCTRINES.md (relevant threads only)
35
+
36
+ 3. **Save drafted output** to `.manuscript/drafts/body/{N}-{A}-DRAFT.md`.
37
+
38
+ 4. **After all atomic units in the unit are drafted, do a voice-check pass.** Load the full drafted unit, compare against STYLE-GUIDE.md, flag any scenes that drift from the voice profile by more than the configured threshold. If drift is detected, offer to re-draft the problem scenes.
39
+
40
+ 5. **Update RECORD.md.** After drafting, extract what the new draft establishes on page. Update `.manuscript/RECORD.md` with only durable, reader-visible changes:
41
+ - established facts, claims, events, definitions, procedures, objects, relationships, or constraints
42
+ - open threads created, deepened, resolved, or paid off
43
+ - promises and payoffs
44
+ - continuity facts future units must honor
45
+ - character, figure, subject, argument, reader, doctrine, procedure, image, object, setting, or relationship movement
46
+ - next-unit obligations that follow from the new draft
47
+
48
+ Do not turn every beat into a record entry. Keep RECORD.md compact enough to load. If a change belongs in CHARACTERS.md, THEMES.md, WORLD.md, QUESTIONS.md, PROCEDURES.md, DOCTRINES.md, or another adapted source file, record the summary in RECORD.md and suggest the more specific touch command when useful.
49
+
50
+ 6. **Surface state nudges.** If the drafter emits `CHARACTER STATE NUDGE`, suggest `/scr:character-touch <name>` after drafting. If the drafter emits `SUBJECT DYNAMICS NUDGE`, suggest `/scr:subject-touch <subject>` after drafting. These nudges go to the writer, not into the draft file.
51
+
52
+ 7. **Update STATE.md:** mark unit as drafted, note word count, flag any voice-check issues.
53
+
54
+ 8. **Tell the writer:** "Drafted {unit} {N}: X words across Y {atomic_units}. Voice consistency: Z%. Updated RECORD.md with what the draft established. Ready for editor review? Run `/scr:editor-review N` or `/scr:next`."
55
+
56
+ ## History log
57
+
58
+ After all atomic units in this invocation are drafted, append one line to `.manuscript/HISTORY.log` per `docs/history-protocol.md`:
59
+
60
+ ```
61
+ {ISO timestamp} | scr:draft | unit={N} | files={comma-separated draft filenames written this run} | outcome=ok
62
+ ```
63
+
64
+ If the run failed (drafter agent returned an error, voice-check blocked, etc.), use `outcome=failed:<short-reason>` instead. Create HISTORY.log if it does not exist. Do not log per atomic unit -- one line per `/scr:draft` invocation keeps the log scannable.
65
+
66
+ ## Autopilot behavior
67
+
68
+ If config has `autopilot.enabled: true`, proceed to `/scr:editor-review` automatically after drafting. In supervised profile, pause here for the writer to read. In full-auto, keep going.
69
+
70
+ ## Response Contract
71
+
72
+ Every writer-facing response must end with one to four next-command suggestions. Each suggestion must include a short explanation of what that path will do.
73
+
74
+ Use this format:
75
+
76
+ ```markdown
77
+ Next commands:
78
+ - `/scr:...`: One short sentence explaining what this path will do.
79
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
80
+ ```
81
+
82
+ If exactly one path is clearly best, provide one suggestion. If two, three, or four useful paths exist, show them as alternatives. Do not force a linear path when the writer has a real choice.
83
+
84
+ If the writer seems unsure or no specific next command is obvious, include this default option:
85
+
86
+ ```markdown
87
+ Next commands:
88
+ - `/scr:next`: Inspect the project state and choose the right next step.
89
+ ```
90
+
91
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
92
+
93
+ ## Tone
94
+
95
+ Don't narrate each atomic unit being drafted. That's noise. Show progress concisely: "Drafted scene 1/4... 2/4... 3/4... 4/4. Voice check: passed."
96
+
97
+ Let the writer read the actual prose in the draft files. Your job is orchestration, not performance.