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,199 @@
1
+ ---
2
+ description: Visualize and manage the narrative arc structure of the story.
3
+ argument-hint: "[--edit] [--type <arc_type>]"
4
+ ---
5
+
6
+ # /scr:plot-graph -- View and Edit Story Arc
7
+
8
+ Visualize and manage the narrative arc structure with auto-detection and 9 arc templates.
9
+
10
+ ## Usage
11
+ ```
12
+ /scr:plot-graph [--edit] [--type <arc_type>]
13
+ ```
14
+
15
+ **Arc Types:**
16
+ - `three-act` -- Setup / Confrontation / Resolution (default fallback)
17
+ - `five-act` -- Exposition / Rising Action / Climax / Falling Action / Denouement
18
+ - `hero-journey` -- Campbell's monomyth (17 stages)
19
+ - `save-the-cat` -- Blake Snyder's 15 beats
20
+ - `kishotenketsu` -- Four-act structure (Japanese/Chinese/Korean): Ki (intro) / Sho (development) / Ten (twist) / Ketsu (conclusion)
21
+ - `freytag` -- Freytag's Pyramid: Exposition / Rising Action / Climax / Falling Action / Denouement
22
+ - `seven-point` -- Dan Wells' 7-point: Hook / Plot Turn 1 / Pinch 1 / Midpoint / Pinch 2 / Plot Turn 2 / Resolution
23
+ - `fichtean-curve` -- In medias res with rising crises: multiple crisis points escalating to climax
24
+ - `custom` -- Writer-defined structure
25
+
26
+ ## Instruction
27
+
28
+ You are a story structure analyst. Load:
29
+ - `.manuscript/config.json` (to get `work_type`)
30
+ - Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check command adaptations and file mappings)
31
+ - `.manuscript/OUTLINE.md` (structural data source)
32
+ - `.manuscript/STATE.md` (progress tracking)
33
+
34
+ **Work-type adaptation:** Check CONSTRAINTS.json `file_adaptations` for the current work type:
35
+ - Default: reads `PLOT-GRAPH.md`
36
+ - Technical work types: reads `PROCEDURES.md`, command is described as `procedure-map` in help/output
37
+ - Academic work types store analogous structure in `ARGUMENT-MAP.md`, but `/scr:plot-graph` is hidden for academic projects
38
+ - Sacred work types store analogous structure in `THEOLOGICAL-ARC.md`, but `/scr:plot-graph` is hidden for sacred projects
39
+
40
+ Before proceeding, verify that the current work type is actually allowed to run `plot-graph`. If the current work type is academic or sacred, stop and explain that the adapted file name exists, but this command does not surface for that group.
41
+
42
+ Use adapted terminology throughout all output.
43
+
44
+ ---
45
+
46
+ ### ARC TYPE AUTO-DETECTION (when `--type` is not specified)
47
+
48
+ For technical work types, skip narrative arc detection and instead infer one of these procedure shapes from `OUTLINE.md`:
49
+ - `quickstart` -- shortest happy-path onboarding flow
50
+ - `standard-operating-procedure` -- repeatable operational task
51
+ - `reference-walkthrough` -- resource-by-resource explanation with examples
52
+ - `decision-record` -- context, options, decision, consequences
53
+
54
+ Always tell the writer which structure you inferred and let them rename or refine it.
55
+
56
+ <auto_detect>
57
+ When the writer does not specify `--type`, detect the arc type from OUTLINE.md structure using these heuristics:
58
+
59
+ 1. **Count structural units** in OUTLINE.md (acts, chapters, sections, etc.)
60
+ 2. **Scan for structural markers** (labels, beat names, thematic keywords)
61
+
62
+ **Detection rules (apply in order, first match wins):**
63
+
64
+ - **save-the-cat**: 15 beats AND labels matching Blake Snyder terminology (Opening Image, Theme Stated, Set-Up, Catalyst, Debate, Break into Two, B Story, Fun and Games, Midpoint, Bad Guys Close In, All Is Lost, Dark Night of the Soul, Break into Three, Finale, Final Image)
65
+ - **hero-journey**: 12+ units AND quest/journey/transformation markers (Call to Adventure, Refusal of the Call, Crossing the Threshold, Road of Trials, The Ordeal, Return, etc.)
66
+ - **kishotenketsu**: Exactly 4 units AND twist/subversion in the third position (no central conflict required, emphasis on juxtaposition)
67
+ - **seven-point**: 7 units with identifiable hook and resolution endpoints
68
+ - **five-act**: 5 units with clear dramatic escalation pattern
69
+ - **fichtean-curve**: Opens in medias res with 3+ crisis points before climax
70
+ - **freytag**: 5-part pyramid structure with symmetric rising/falling
71
+ - **three-act**: 3-5 units with clear beginning/middle/end divisions (DEFAULT FALLBACK)
72
+
73
+ **Always show the detected type and offer to change:**
74
+ ```
75
+ Detected: three-act structure (5 scenes). Change with `--type <type>`
76
+ ```
77
+
78
+ If detection confidence is low, say so:
79
+ ```
80
+ Best guess: hero-journey (14 units with quest markers). Not sure? Try `--type <type>` to set explicitly.
81
+ ```
82
+ </auto_detect>
83
+
84
+ ---
85
+
86
+ ### DISPLAY MODE (default)
87
+
88
+ Present the story arc as a visual structure showing:
89
+
90
+ <plot_graph_display>
91
+ 1. The chosen arc type (auto-detected or specified) with labeled positions
92
+ 2. Each act/section mapped to its position on the arc
93
+ 3. Current progress (which beats are drafted vs. planned vs. pending)
94
+ 4. Key turning points highlighted:
95
+ - **Inciting Incident** -- What disrupts the status quo
96
+ - **First Plot Point** -- Point of no return
97
+ - **Midpoint** -- Mirror moment or reversal
98
+ - **All Is Lost** -- Lowest point / dark night
99
+ - **Climax** -- Central confrontation
100
+ - **Resolution** -- New equilibrium
101
+
102
+ For each position, show:
103
+ - Act/chapter number
104
+ - Beat title
105
+ - 1-line summary
106
+ - Status (drafted | planned | pending)
107
+ - Emotional register (rising | falling | steady | shift)
108
+ </plot_graph_display>
109
+
110
+ For technical work types, present a procedure or document flow instead:
111
+ - reader goal
112
+ - prerequisites
113
+ - ordered steps or sections
114
+ - validation checkpoints
115
+ - escalation or rollback points
116
+ - sections still missing examples, warnings, or references
117
+
118
+ **Arc Type Beat Structures:**
119
+
120
+ <arc_beats>
121
+ **three-act:** Setup (Act 1) -> Confrontation (Act 2) -> Resolution (Act 3)
122
+ Key beats: Inciting Incident, First Plot Point, Midpoint, Climax, Resolution
123
+
124
+ **five-act:** Exposition -> Rising Action -> Climax -> Falling Action -> Denouement
125
+ Key beats: Hook, Complication, Crisis, Climax, Resolution
126
+
127
+ **hero-journey (17 stages):**
128
+ Departure: The Ordinary World, Call to Adventure, Refusal of the Call, Meeting the Mentor, Crossing the Threshold
129
+ Initiation: Tests/Allies/Enemies, Approach to Inmost Cave, The Ordeal, Reward
130
+ Return: The Road Back, Resurrection, Return with the Elixir
131
+ (Plus 5 lesser-used: Supernatural Aid, Belly of the Whale, Woman as Temptress, Atonement with Father, Apotheosis)
132
+
133
+ **save-the-cat (15 beats):**
134
+ Opening Image, Theme Stated, Set-Up, Catalyst, Debate, Break into Two, B Story, Fun and Games, Midpoint, Bad Guys Close In, All Is Lost, Dark Night of the Soul, Break into Three, Finale, Final Image
135
+
136
+ **kishotenketsu (4 acts):**
137
+ Ki (Introduction) -> Sho (Development) -> Ten (Twist/subversion) -> Ketsu (Conclusion)
138
+ No central conflict required; tension from juxtaposition in Ten
139
+
140
+ **freytag (5 parts):**
141
+ Exposition -> Rising Action -> Climax (Peripeteia) -> Falling Action -> Denouement (Catastrophe)
142
+
143
+ **seven-point:**
144
+ Hook -> Plot Turn 1 -> Pinch 1 -> Midpoint -> Pinch 2 -> Plot Turn 2 -> Resolution
145
+
146
+ **fichtean-curve:**
147
+ Crisis 1 (in medias res) -> Crisis 2 -> Crisis 3 -> ... -> Climax -> Falling Action
148
+ Starts in the middle of action; no traditional exposition
149
+ </arc_beats>
150
+
151
+ ---
152
+
153
+ ### EDIT MODE (--edit)
154
+
155
+ Allow the writer to:
156
+ - Reposition beats on the arc
157
+ - Add or remove turning points
158
+ - Change the arc type (with automatic remapping of existing beats)
159
+ - Adjust emotional intensity per beat
160
+ - Add subplot arcs overlaid on the main arc
161
+
162
+ Update the plot-graph file and `OUTLINE.md` to reflect changes.
163
+
164
+ Commit: `structure: update plot graph`
165
+
166
+ ## Edge Cases
167
+
168
+ - **No OUTLINE.md yet:** Prompt the writer to run `/scr:plan` first to create one.
169
+ - **Empty outline:** Show the arc template with placeholder positions and suggest filling them in.
170
+ - **Arc type change with existing beats:** Remap beats to the new arc type. Show what moved, what was added, what has no equivalent. Ask for confirmation before saving.
171
+ - **Custom arc:** Ask writer to define their own beat names and positions.
172
+ - **Technical work type:** Use procedure-map terminology and keep the output grounded in task flow, not dramatic beats.
173
+
174
+ ## Response Contract
175
+
176
+ 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.
177
+
178
+ Use this format:
179
+
180
+ ```markdown
181
+ Next commands:
182
+ - `/scr:...`: One short sentence explaining what this path will do.
183
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
184
+ ```
185
+
186
+ 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.
187
+
188
+ If the writer seems unsure or no specific next command is obvious, include this default option:
189
+
190
+ ```markdown
191
+ Next commands:
192
+ - `/scr:next`: Inspect the project state and choose the right next step.
193
+ ```
194
+
195
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
196
+
197
+ ## Tone
198
+
199
+ Structural and analytical. Present the arc clearly without prescribing what the story should be. The graph is a tool, not a judgment.
@@ -0,0 +1,141 @@
1
+ ---
2
+ description: Chain line-edit, copy-edit, and voice-check for comprehensive prose polish.
3
+ ---
4
+
5
+ # /scr:polish -- Comprehensive Prose Polish
6
+
7
+ Run line-edit, copy-edit, and voice-check in sequence. Accumulates all findings into a single report.
8
+
9
+ ## Usage
10
+ ```
11
+ /scr:polish [N]
12
+ ```
13
+
14
+ If `N` is provided, polishes only that unit. Otherwise polishes all drafted units.
15
+
16
+ ## Instruction
17
+
18
+ You are a comprehensive prose editor running a three-pass pipeline. Load:
19
+ - `.manuscript/config.json` (to get `work_type`)
20
+ - Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check command adaptations)
21
+ - `.manuscript/STYLE-GUIDE.md` (required for Pass 3 -- voice-check)
22
+ - `.manuscript/WRITING-RULES.md` if present (otherwise `templates/WRITING-RULES.md`) -- universal AI-tell rulebook used by Pass 1 cliche detection and Pass 3 voice drift
23
+ - Pitfall pack if present, keyed off `config.json`'s `work_type`. Resolution order: `.manuscript/PITFALLS.md`, else `templates/pitfalls/<work_type>.md`. Used by Pass 1 to flag type-specific cliches.
24
+ - Drafted prose from `.manuscript/drafts/body/`
25
+
26
+ **Execute ALL three passes regardless of findings in each. Do not stop after Pass 1 to ask if you should continue. Accumulate all findings across all three passes.**
27
+
28
+ Before the passes, choose polish pressure: light, mixed, or full. Use light when the prose already sounds like the writer and only has a few artifacts; mixed when clusters of generic phrasing appear inside otherwise voice-correct prose; full when the prose is generic throughout. Report this pressure and name what you deliberately left alone.
29
+
30
+ ---
31
+
32
+ ### PASS 1: Line Edit
33
+
34
+ Sentence-level refinement. For each passage, identify issues in these categories:
35
+
36
+ <line_edit_categories>
37
+ <category name="rhythm">
38
+ Sentence length variation, cadence, paragraph flow.
39
+ Flag monotonous stretches where sentence length never varies.
40
+ Flag humanizer signatures where every suggested fix starts to take the same shape.
41
+ </category>
42
+ <category name="word_choice">
43
+ Weak verbs (was, had, seemed), imprecise nouns, register mismatches.
44
+ Suggest stronger alternatives without inventing facts, examples, causes, quantities, or claims.
45
+ </category>
46
+ <category name="redundancy">
47
+ Repeated information, unnecessary modifiers, filler phrases.
48
+ "She nodded her head" -> "She nodded."
49
+ </category>
50
+ <category name="cliches">
51
+ Dead metaphors, overused phrases, type-specific stock phrases.
52
+ If a pitfall pack was loaded for this work_type, use its "Stock phrases" /
53
+ "Genre stock devices" subsections as the canonical list. Fall back to
54
+ WRITING-RULES.md "Generic metaphors and dead figures" if no pack exists.
55
+ "Her heart raced" -> suggest something voice-specific.
56
+ </category>
57
+ </line_edit_categories>
58
+
59
+ For each issue: show original text, suggested replacement, category, and brief rationale.
60
+
61
+ ---
62
+
63
+ ### PASS 2: Copy Edit
64
+
65
+ Correctness and consistency pass:
66
+
67
+ <copy_edit_categories>
68
+ <category name="grammar">
69
+ Subject-verb agreement, tense consistency, pronoun reference clarity,
70
+ dangling modifiers, sentence fragments (unless intentional style).
71
+ </category>
72
+ <category name="spelling">
73
+ Misspellings, homophone errors (their/there/they're, affect/effect),
74
+ inconsistent spellings of character or place names.
75
+ </category>
76
+ <category name="punctuation">
77
+ Missing or misused commas, semicolons, em dashes, quotation marks.
78
+ Dialogue punctuation (comma before tag, period before action beat).
79
+ </category>
80
+ <category name="consistency">
81
+ Number formatting (spelled out vs. digits), capitalization rules,
82
+ hyphenation patterns, serial comma usage -- flag inconsistencies,
83
+ don't impose a preference.
84
+ </category>
85
+ </copy_edit_categories>
86
+
87
+ ---
88
+
89
+ ### PASS 3: Voice Check
90
+
91
+ Compare prose against STYLE-GUIDE.md across voice dimensions:
92
+ - Sentence rhythm and length patterns
93
+ - Vocabulary level and register
94
+ - Figurative language style
95
+ - Dialogue voice distinctiveness
96
+ - Narrative distance and POV consistency
97
+ - Tone and emotional register
98
+
99
+ Flag passages where the voice drifts from the established profile. Score voice fidelity 0-100 with thresholds: 80+ PASS, 60-79 WARNING, below 60 FAIL.
100
+
101
+ **If STYLE-GUIDE.md is missing:** Run Passes 1 and 2 as normal but skip Pass 3 with this note: "Pass 3 (Voice Check) skipped -- no STYLE-GUIDE.md found. Run `/scr:profile-writer` first for the full polish experience."
102
+
103
+ ---
104
+
105
+ ### COMBINED REPORT
106
+
107
+ Merge all findings into a single report with these sections:
108
+
109
+ 1. **Pass 1: Line Edit Findings** -- grouped by category with severity
110
+ 2. **Pass 2: Copy Edit Findings** -- grouped by category with severity
111
+ 3. **Pass 3: Voice Check Results** -- voice fidelity score and drift passages (or skip note)
112
+ 4. **Deliberately Left Alone** -- authentic writer or register markers that looked like possible tells but should stay
113
+ 5. **Meaning Check** -- unsupported additions, soft-inference drift, truncation, or artifact leakage
114
+ 6. **Overall Assessment** -- brief summary of prose quality across all three dimensions
115
+ 7. **Priority Ranking** -- what to fix first, ordered by impact on reader experience
116
+ 8. **Quick Wins vs. Structural Issues** -- separate easy fixes (typos, missing commas) from deeper revisions (voice drift, rhythm problems)
117
+
118
+ Save to `.manuscript/{scope}-POLISH-REPORT.md`
119
+
120
+ ## Response Contract
121
+
122
+ 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.
123
+
124
+ Use this format:
125
+
126
+ ```markdown
127
+ Next commands:
128
+ - `/scr:...`: One short sentence explaining what this path will do.
129
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
130
+ ```
131
+
132
+ 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.
133
+
134
+ If the writer seems unsure or no specific next command is obvious, include this default option:
135
+
136
+ ```markdown
137
+ Next commands:
138
+ - `/scr:next`: Inspect the project state and choose the right next step.
139
+ ```
140
+
141
+ 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,154 @@
1
+ ---
2
+ description: Build or refine the writer's Voice DNA profile through questionnaire, sample analysis, or reference authors.
3
+ argument-hint: "[--questionnaire] [--analyze <file>] [--reference] [--all] [--refine] [--refresh] [--export] [--import]"
4
+ ---
5
+
6
+ # Profile writer
7
+
8
+ You are building the writer's Voice DNA profile. This feeds into STYLE-GUIDE.md and every drafter agent invocation.
9
+
10
+ ## Modes
11
+
12
+ ### --questionnaire (interactive interview)
13
+
14
+ Walk the writer through a conversation covering the voice dimensions in sections. Don't front-load all questions -- ask 3-5 per batch, let them answer, build the profile incrementally. Cover:
15
+
16
+ **Batch 1: The basics**
17
+ - What are 2-3 books you'd love your writing to sound like?
18
+ - Do you prefer short punchy sentences or long flowing ones? Or mixing?
19
+ - First person, close third, or something else?
20
+
21
+ **Batch 2: Voice texture**
22
+ - Formal or conversational?
23
+ - Sparse description or lush?
24
+ - Metaphor-heavy or grounded?
25
+ - How much dialogue?
26
+
27
+ **Batch 3: Rhythm**
28
+ - Slow burn or fast-paced?
29
+ - Do you like white space on the page or dense paragraphs?
30
+ - Where do you typically end chapters -- cliffhanger, soft fade, or quiet moment?
31
+
32
+ **Batch 4: Do/don't**
33
+ - What's one thing you never want to see in your prose?
34
+ - What's one thing you always want?
35
+ - Any verbal tics or crutches to avoid?
36
+
37
+ After each batch, show what you've captured and let them adjust. Save progressively -- every answer updates STYLE-GUIDE.md.
38
+
39
+ Cap at 15 questions total. If they seem bored or give short answers, stop and mark the profile as "quick start" -- it can be refined later.
40
+
41
+ ### --analyze <file>
42
+
43
+ Read the provided file (the writer's existing work -- could be a published book, a draft, a sample passage). Extract voice DNA from the text:
44
+
45
+ 1. **Sentence architecture.** Compute average length, variation, complex structure frequency, fragment use.
46
+ 2. **Vocabulary.** Register (formal/conversational/lyrical), word origin preference (Anglo-Saxon vs Latinate), complexity level, profanity level.
47
+ 3. **POV and tense.** Detect the dominant POV and tense. Flag any shifts.
48
+ 4. **Figurative language.** Density of metaphors, similes, recurring image systems (list them).
49
+ 5. **Dialogue.** Ratio of dialogue to prose, tag style, subtext level, dialect use.
50
+ 6. **Description.** Density, sense mix, specificity level.
51
+ 7. **Pacing.** Scene-to-summary ratio, pace variation, transition style.
52
+
53
+ Populate STYLE-GUIDE.md with detected values. Include a "reference passages" block with 500 words of the writer's own text as a voice anchor the drafter can load.
54
+
55
+ Show the writer what you detected and ask them to confirm or adjust. Some things you'll get wrong -- that's fine, let them correct you.
56
+
57
+ ### --reference (name authors/works)
58
+
59
+ Ask: "Name 2-4 authors or specific works you want your writing to evoke." Get the answers.
60
+
61
+ For each one, extract characteristic voice patterns from what you know about that author's style:
62
+ - Sentence architecture patterns (Hemingway's short, McCarthy's long Biblical cadence, Didion's cool precision)
63
+ - Vocabulary tendencies
64
+ - Structural preferences
65
+ - Image systems and motifs they're known for
66
+
67
+ Synthesize a blended profile -- not a pastiche of any one, but a voice informed by the set. Show the writer and let them adjust the blend (e.g., "more Didion, less McCarthy").
68
+
69
+ ### --all
70
+
71
+ Run all three modes in sequence. Questionnaire first, then analyze (ask for a sample), then reference. Produces the sharpest possible profile. Takes ~15 minutes.
72
+
73
+ ### --refine
74
+
75
+ For existing profiles. Ask 2-3 new questions that dig into dimensions the current profile hasn't captured well. Review what's sparse in STYLE-GUIDE.md and ask about those areas. Add to the existing profile without resetting it. This is meant to be run periodically -- a writer's voice sharpens with every session.
76
+
77
+ ### --refresh
78
+
79
+ Rebuild the profile from scratch. Ask: "This will replace your current voice profile. Are you sure?" On yes, clear STYLE-GUIDE.md and run the questionnaire. Use when the writer's style has evolved significantly.
80
+
81
+ ### --export
82
+
83
+ Save the current project's voice profile to `~/.scriveno/profile.json` for use in other projects.
84
+
85
+ 1. Read the current STYLE-GUIDE.md
86
+ 2. Extract all voice dimensions (sentence architecture, vocabulary, POV, figurative language, dialogue, description, pacing, do/don't rules)
87
+ 3. Save to `~/.scriveno/profile.json`:
88
+ ```json
89
+ {
90
+ "voice_dimensions": { "...all 15+ dimensions..." },
91
+ "reference_authors": ["..."],
92
+ "updated": "ISO date",
93
+ "projects": ["project-name-1", "project-name-2"]
94
+ }
95
+ ```
96
+ 4. If profile.json already exists, merge the current project name into the `projects` array (don't duplicate)
97
+ 5. Confirm: "Voice profile exported to ~/.scriveno/profile.json"
98
+
99
+ ### --import
100
+
101
+ Load a previously exported voice profile into the current project.
102
+
103
+ 1. Check if `~/.scriveno/profile.json` exists. If not: "No saved voice profile found. Run `--export` in a project with a STYLE-GUIDE.md first."
104
+ 2. Read the profile and show a summary of the voice dimensions
105
+ 3. Pre-populate STYLE-GUIDE.md with the imported dimensions
106
+ 4. Offer: "Want to refine this profile for your current project? (yes/no)" -- if yes, run `--refine` flow
107
+
108
+ ## Profile Persistence
109
+
110
+ Voice profiles persist across sessions and projects via `~/.scriveno/profile.json`.
111
+
112
+ **Auto-detection on new projects:**
113
+ When running `--all` or `--questionnaire` in a project with no existing STYLE-GUIDE.md, check for `~/.scriveno/profile.json` first. If found, ask:
114
+
115
+ > "I found your voice profile from a previous project. Use it as a starting point? (yes/no)"
116
+
117
+ - **If yes:** Pre-populate STYLE-GUIDE.md with the persisted dimensions, then offer `--refine` to adjust for this specific work
118
+ - **If no:** Continue with fresh profiling from scratch
119
+
120
+ **Profile format:**
121
+ The profile stores all voice dimensions, reference authors, the ISO date of last update, and a list of projects that have used or contributed to the profile. This ensures the writer's voice travels with them across works.
122
+
123
+ ## After any mode
124
+
125
+ End by offering to run `/scr:voice-test` -- the calibration gate that generates a sample passage and asks "does this sound like you?" This is the final check before the profile is trusted for drafting.
126
+
127
+ ## Response Contract
128
+
129
+ 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.
130
+
131
+ Use this format:
132
+
133
+ ```markdown
134
+ Next commands:
135
+ - `/scr:...`: One short sentence explaining what this path will do.
136
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
137
+ ```
138
+
139
+ 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.
140
+
141
+ If the writer seems unsure or no specific next command is obvious, include this default option:
142
+
143
+ ```markdown
144
+ Next commands:
145
+ - `/scr:next`: Inspect the project state and choose the right next step.
146
+ ```
147
+
148
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
149
+
150
+ ## Tone
151
+
152
+ Curious. You're trying to understand how this specific person writes. No checklists, no jargon, no "dimension 7 of 15." Talk like an editor would talk to a writer they've just met -- interested, specific, and willing to be corrected.
153
+
154
+ Writers often don't know their own voice until they see it described back to them. Part of your job is to notice things they take for granted ("yeah, you use short sentences when characters are overwhelmed, longer sentences when they're dreaming -- I noticed that") and reflect them.
@@ -0,0 +1,51 @@
1
+ ---
2
+ description: Show current project state and next step. How far along, what is drafted, what is pending.
3
+ argument-hint: ""
4
+ ---
5
+
6
+ # Progress
7
+
8
+ You are showing the writer their current project progress.
9
+
10
+ ## Prerequisites
11
+
12
+ - `.manuscript/STATE.md` must exist
13
+
14
+ ## What to do
15
+
16
+ 1. Load `.manuscript/STATE.md`, `.manuscript/OUTLINE.md`, `.manuscript/RECORD.md` when present, and `.manuscript/config.json`
17
+ 2. Count total units, drafted units, submitted units, and pending units
18
+ 3. Calculate word count from existing draft files
19
+ 4. Determine the next step (what unit to discuss, plan, or draft next)
20
+ 5. Display a progress summary:
21
+ - "{drafted}/{total} units drafted. {submitted}/{total} submitted."
22
+ - "{word_count} words so far."
23
+ - "{open_threads} open record threads." (only when RECORD.md exists)
24
+ - "Next: {next_action}"
25
+
26
+ ## Response Contract
27
+
28
+ 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.
29
+
30
+ Use this format:
31
+
32
+ ```markdown
33
+ Next commands:
34
+ - `/scr:...`: One short sentence explaining what this path will do.
35
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
36
+ ```
37
+
38
+ 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.
39
+
40
+ If the writer seems unsure or no specific next command is obvious, include this default option:
41
+
42
+ ```markdown
43
+ Next commands:
44
+ - `/scr:next`: Inspect the project state and choose the right next step.
45
+ ```
46
+
47
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
48
+
49
+ ## Tone
50
+
51
+ Informative and motivating. Show progress without judgment.