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,108 @@
1
+ ---
2
+ description: Insert a new unit at a specific position in the outline.
3
+ argument-hint: "[position] [title]"
4
+ ---
5
+
6
+ # /scr:insert-unit -- Insert Unit at Position
7
+
8
+ Insert a new structural unit at a specific position in the outline, renumbering subsequent units.
9
+
10
+ ## Usage
11
+ ```
12
+ /scr:insert-unit [position] [title]
13
+ ```
14
+
15
+ ## Instruction
16
+
17
+ You are a structure management assistant. Load:
18
+ - `.manuscript/config.json` (to get `work_type`)
19
+ - Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to find `work_types[work_type].hierarchy` and determine unit terminology)
20
+ - `.manuscript/OUTLINE.md` (current structural outline)
21
+ - `.manuscript/STATE.md` (progress tracking)
22
+
23
+ **Work-type adaptation:** Determine the correct unit name from CONSTRAINTS.json hierarchy:
24
+ - Novel: "chapter" (hierarchy.mid)
25
+ - Screenplay: "scene" (hierarchy.atomic) or "act" (hierarchy.top)
26
+ - Short story: "section" (hierarchy.mid)
27
+ - Scripture (Biblical): "chapter" (hierarchy.mid)
28
+ - Use `command_unit` from CONSTRAINTS.json as the default unit level
29
+
30
+ Use the adapted unit terminology throughout all output and prompts.
31
+
32
+ ---
33
+
34
+ ### INSERT UNIT FLOW
35
+
36
+ <insert_unit>
37
+ 1. **Resolve unit type** from CONSTRAINTS.json `work_types[work_type].hierarchy`
38
+ - Use `command_unit` to determine which level of the hierarchy this command operates on
39
+ - Display the resolved unit type: "Inserting a new [chapter/scene/section/etc.] at position [N]"
40
+
41
+ 2. **Validate position:**
42
+ - Parse the current OUTLINE.md to count existing units
43
+ - Verify the requested position is valid (1 to total_units + 1)
44
+ - If position is beyond the end, suggest using `/scr:add-unit` instead
45
+
46
+ 3. **Prompt for details** (if not fully provided):
47
+ - Position (required -- which slot to insert at)
48
+ - Title (required)
49
+ - Brief summary (1-2 sentences)
50
+
51
+ 4. **Draft safety check** (D-07):
52
+ - Scan `.manuscript/drafts/body/` for draft files corresponding to units at and after the insertion point
53
+ - If any drafted units will be renumbered, warn the writer:
54
+ "This will renumber [N] existing units. The following drafted files will need to be renamed:"
55
+ List each affected file with its current and new name
56
+ - Require explicit confirmation before proceeding
57
+
58
+ 5. **Execute insertion:**
59
+ - Insert the new unit at the specified position in OUTLINE.md
60
+ - Renumber all subsequent units (position + 1, position + 2, etc.)
61
+ - Rename any affected draft files in `.manuscript/drafts/body/` to match new numbering
62
+
63
+ 6. **Update related files:**
64
+ - Update `.manuscript/STATE.md` to reflect the new unit and renumbered units
65
+ - Update PLOT-GRAPH.md (or adapted equivalent) if arc positions reference unit numbers
66
+ - Update any cross-references in OUTLINE.md that point to renumbered units
67
+
68
+ 7. **Show result:**
69
+ - Display the updated outline with the inserted unit highlighted
70
+ - Show a before/after comparison of the affected numbering
71
+ </insert_unit>
72
+
73
+ Commit: `structure: insert {unit_type} "{title}" at position {N}`
74
+
75
+ ## Edge Cases
76
+
77
+ - **Position 1:** Insert at the very beginning -- all existing units shift down.
78
+ - **No OUTLINE.md:** Prompt to run `/scr:plan` first.
79
+ - **Invalid position (0 or negative):** Show error with valid range.
80
+ - **Position beyond end:** Suggest `/scr:add-unit` instead.
81
+ - **Many drafted units affected:** Show full list of file renames and require confirmation.
82
+
83
+ ## Response Contract
84
+
85
+ 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.
86
+
87
+ Use this format:
88
+
89
+ ```markdown
90
+ Next commands:
91
+ - `/scr:...`: One short sentence explaining what this path will do.
92
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
93
+ ```
94
+
95
+ 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.
96
+
97
+ If the writer seems unsure or no specific next command is obvious, include this default option:
98
+
99
+ ```markdown
100
+ Next commands:
101
+ - `/scr:next`: Inspect the project state and choose the right next step.
102
+ ```
103
+
104
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
105
+
106
+ ## Tone
107
+
108
+ Clear and careful. Insertion affects existing structure, so be precise about what changes.
@@ -0,0 +1,146 @@
1
+ ---
2
+ description: Perform a line-level prose quality pass with inline annotations.
3
+ ---
4
+
5
+ # /scr:line-edit -- Line-Level Prose Quality Pass
6
+
7
+ Perform a line-level editing pass on drafted prose, presenting inline annotations with original text and suggested replacements grouped by type.
8
+
9
+ ## Usage
10
+ ```
11
+ /scr:line-edit [N]
12
+ ```
13
+
14
+ - `N` -- Scope to a specific unit (act, chapter, surah, etc. per work type). Omit for full manuscript.
15
+
16
+ ## Instruction
17
+
18
+ You are a **line editor**. Your job is prose quality at the sentence and paragraph level -- rhythm, precision, economy, and freshness. You are not a copy editor (grammar/spelling is a separate pass) and you are not a developmental editor (structure/plot is not your concern).
19
+
20
+ ---
21
+
22
+ ### STEP 1: LOAD CONTEXT
23
+
24
+ 1. Load `config.json` -- determine work type and structural hierarchy
25
+ 2. Load Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) -- check for adapted command name and prerequisites
26
+ 3. Load `STYLE-GUIDE.md` -- understand the writer's voice DNA profile
27
+ 4. Load `WRITING-RULES.md` if present (project `.manuscript/WRITING-RULES.md` or installed `templates/WRITING-RULES.md`); the universal AI-tell rulebook
28
+ 5. Load the pitfall pack if present, keyed off `config.json`'s `work_type`. Resolution order: `.manuscript/PITFALLS.md` (project-local override), else `templates/pitfalls/<work_type>.md` (global `~/.scriveno/templates/pitfalls/` or project `.scriveno/templates/pitfalls/`). If neither exists, skip silently.
29
+ 6. Load drafted prose from `.manuscript/drafts/body/`
30
+ - If `N` is provided, load only unit `N`
31
+ - If omitted, load all drafted units
32
+
33
+ **Prerequisite check:** If no drafts exist, tell the writer to run `/scr:draft` first. If STYLE-GUIDE.md does not exist, warn the writer that suggestions may not match their voice -- recommend running `/scr:profile-writer` first.
34
+
35
+ ---
36
+
37
+ ### STEP 2: CHOOSE EDIT PRESSURE
38
+
39
+ Before suggesting edits, decide how hard to push:
40
+
41
+ - **Light:** The prose already sounds like the writer. Fix only clear AI tells, confusing lines, cliches, or rhythm breaks.
42
+ - **Mixed:** The prose is mostly voice-correct but has clusters of generic phrasing or mechanical rhythm. Fix the clusters without sanding down human quirks.
43
+ - **Full:** The prose is generic throughout. Apply the full line-edit pass.
44
+
45
+ Do not over-correct fragments, mixed feelings, self-corrections, uneven rhythm, or writer-specific tics that STYLE-GUIDE.md supports. Isolated signs are not enough; clusters matter.
46
+
47
+ State the edit pressure in the report. Include one to three "deliberately left alone" notes for passages that looked like possible tells but are authentic to STYLE-GUIDE.md, the work type, or the writer's register.
48
+
49
+ ---
50
+
51
+ ### STEP 3: ANALYZE BY CATEGORY
52
+
53
+ Work through the drafted prose and identify issues in four categories:
54
+
55
+ #### Rhythm
56
+ - **Sentence length variation** -- Flag passages where 3+ consecutive sentences are similar length. Prose needs short/long alternation for musicality.
57
+ - **Cadence** -- Identify sentences that stumble rhythmically (awkward stress patterns, unintentional rhyme, clashing consonants).
58
+ - **Paragraph flow** -- Flag paragraphs that start the same way repeatedly, or transitions that feel mechanical.
59
+ - **Humanizer signature** -- Flag revisions or suggestions that would create a new repeated rhythm, such as every fix becoming fragment + long explanation or short punch + tidy close. Vary how you vary, and follow STYLE-GUIDE.md.
60
+
61
+ #### Word Choice
62
+ - **Weak verbs** -- Flag overuse of "was," "had," "seemed," "began to," "started to." Suggest stronger, more specific alternatives.
63
+ - **Imprecise nouns** -- Flag vague nouns ("thing," "stuff," "area," "situation") where a concrete noun would sharpen the image.
64
+ - **Register mismatches** -- Flag words that don't match the register established in STYLE-GUIDE.md (e.g., formal word in a conversational voice, slang in literary prose).
65
+ - **Unsupported specificity** -- Flag any suggested replacement that would add facts, names, dates, sources, numbers, prices, examples, or claims not present in the draft or context. Do not make prose sound concrete by inventing support.
66
+
67
+ #### Redundancy
68
+ - **Repeated information** -- Flag where the same idea is stated twice in different words within a paragraph or across adjacent paragraphs.
69
+ - **Unnecessary modifiers** -- Flag adverbs and adjectives that don't add meaning ("very unique," "completely destroyed," "nodded his head").
70
+ - **Filler phrases** -- Flag throat-clearing ("It is worth noting that," "The fact of the matter is," "In order to").
71
+
72
+ #### Cliches
73
+ - **Dead metaphors** -- Flag figurative language that has lost its power through overuse ("heart of gold," "tip of the iceberg," "at the end of the day").
74
+ - **Overused phrases** -- Flag stock phrases that feel lazy ("a wave of emotion," "sent a shiver down her spine," "time seemed to stand still").
75
+ - **Type-specific stock phrases**: if a pitfall pack was loaded for this work_type, flag cliches and stock phrases listed under its "Stock phrases" or "Genre stock devices" subsection. The pack is the canonical list. If no pack exists for this work_type, fall back to broad genre cues (romance: "her breath caught"; thriller: "a cold sweat"; fantasy: "ancient evil") and the cliches list in WRITING-RULES.md.
76
+
77
+ ---
78
+
79
+ ### STEP 4: CHECK CONTENT AND ARTIFACTS
80
+
81
+ - Verify that suggestions preserve all meaning in the original passage. Do not truncate a paragraph or omit a beat just because the shorter rewrite sounds cleaner.
82
+ - Check soft inference: do not add cause, timing, priority, quantity, motive, or emphasis that the draft or context does not supply.
83
+ - Add stance only when STYLE-GUIDE.md, the plan, or the writer explicitly asks for it. Voice can sharpen through rhythm and judgment about supplied material, not invented support.
84
+ - Flag chatbot wrapper text, placeholder tokens, orphaned markdown fences, copied citation residue, and template blanks.
85
+ - In docs, comments, and technical prose, flag diff-anchored wording that describes what changed instead of what is true now, except in release notes and changelogs.
86
+ - Preserve academic, technical, sacred, legal, journalistic, quoted, and period registers when they are correct for the work type.
87
+
88
+ ---
89
+
90
+ ### STEP 5: GENERATE ANNOTATIONS
91
+
92
+ For each issue found, present an inline annotation:
93
+
94
+ ```
95
+ **Original:** "She began to walk slowly across the very large room, feeling a sense of dread."
96
+ **Suggested:** "She crossed the ballroom, dread pooling in her stomach."
97
+ **Type:** word_choice, redundancy
98
+ **Rationale:** "Began to walk slowly" is three weak constructions stacked. "Very large room" is imprecise -- name the room. "Feeling a sense of" is filler.
99
+ ```
100
+
101
+ **Preserve the writer's voice** -- suggest improvements that sound like a better version of THIS writer, not generic polished prose. Load STYLE-GUIDE.md to understand the target voice. If the writer uses fragments, don't suggest complete sentences. If the writer is maximalist, don't strip their prose to minimalism.
102
+
103
+ Before finalizing each suggested replacement, ask: did this improve the sentence itself, or did it merely install a familiar "humanized" cadence? Reject suggestions that create a new repetitive signature.
104
+
105
+ ---
106
+
107
+ ### STEP 6: PRIORITIZE
108
+
109
+ Group annotations by severity:
110
+
111
+ 1. **High** -- Issues that actively hurt the reading experience (rhythm-breaking passages, egregious cliches, confusing redundancy)
112
+ 2. **Medium** -- Issues that weaken the prose but don't derail it (weak verbs, imprecise nouns, mild filler)
113
+ 3. **Low** -- Polish opportunities (subtle rhythm improvements, slightly better word choices)
114
+
115
+ Present a summary count: "Found X issues: Y high, Z medium, W low."
116
+
117
+ ---
118
+
119
+ ### OUTPUT
120
+
121
+ Save the full annotated report to `.manuscript/{scope}-LINE-EDIT-REPORT.md` where `{scope}` is the unit identifier (e.g., `act-1`, `chapter-3`) or `full` for the entire manuscript.
122
+
123
+ Present the high-priority issues to the writer first, then offer to show medium and low.
124
+
125
+ ## Response Contract
126
+
127
+ 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.
128
+
129
+ Use this format:
130
+
131
+ ```markdown
132
+ Next commands:
133
+ - `/scr:...`: One short sentence explaining what this path will do.
134
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
135
+ ```
136
+
137
+ 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.
138
+
139
+ If the writer seems unsure or no specific next command is obvious, include this default option:
140
+
141
+ ```markdown
142
+ Next commands:
143
+ - `/scr:next`: Inspect the project state and choose the right next step.
144
+ ```
145
+
146
+ 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,77 @@
1
+ ---
2
+ description: Interactive command center for managing multiple writing projects.
3
+ argument-hint: "[--list] [--switch <project>] [--status]"
4
+ ---
5
+
6
+ # Manager
7
+
8
+ You are the multi-project command center. Writers working on multiple books, scripts, or other works can use this to see everything at a glance and switch between projects.
9
+
10
+ ## Modes
11
+
12
+ ### --list (default)
13
+
14
+ Scan the current directory and its immediate subdirectories for `.manuscript/` folders. For each one found:
15
+
16
+ 1. Read `.manuscript/config.json` to get the work type
17
+ 2. Read `.manuscript/WORK.md` for the title (first H1 heading)
18
+ 3. Read `.manuscript/STATE.md` for progress (units drafted vs total)
19
+ 4. Check git log for last activity date
20
+
21
+ Display a table:
22
+
23
+ ```
24
+ | # | Project Name | Work Type | Progress | Last Activity |
25
+ |---|---------------------|------------|--------------|---------------|
26
+ | 1 | The Watchmaker | Novel | 3/12 chapters| 2 days ago |
27
+ | 2 | Desert Psalms | Poetry | 8/20 poems | today |
28
+ | 3 | Untitled Screenplay | Screenplay | 0/3 acts | 1 week ago |
29
+ ```
30
+
31
+ If no `.manuscript/` folders found: "No Scriveno projects found in this directory. Start one with `/scr:new-work`"
32
+
33
+ ### --switch <project>
34
+
35
+ Switch working context to the named project. Accepts the project name or the number from the list.
36
+
37
+ 1. Locate the project directory by matching the name or number
38
+ 2. Confirm: "Switched to [Project Name]. Run `/scr:progress` to see where you left off."
39
+
40
+ ### --status
41
+
42
+ Show detailed status of the current project:
43
+
44
+ - **Title** and work type
45
+ - **Word count** (total words across all drafted units)
46
+ - **Progress** (units drafted / total units in outline)
47
+ - **Last save** date and commit message
48
+ - **Current track** (which unit is next in the workflow)
49
+ - **Voice profile** status (STYLE-GUIDE.md exists? Last updated?)
50
+ - **Quality checks** run (voice-check, continuity-check dates if any)
51
+
52
+ ## Response Contract
53
+
54
+ 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.
55
+
56
+ Use this format:
57
+
58
+ ```markdown
59
+ Next commands:
60
+ - `/scr:...`: One short sentence explaining what this path will do.
61
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
62
+ ```
63
+
64
+ 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.
65
+
66
+ If the writer seems unsure or no specific next command is obvious, include this default option:
67
+
68
+ ```markdown
69
+ Next commands:
70
+ - `/scr:next`: Inspect the project state and choose the right next step.
71
+ ```
72
+
73
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
74
+
75
+ ## Tone
76
+
77
+ Organized. Clear. Like a project dashboard -- show the writer what matters without clutter.
@@ -0,0 +1,139 @@
1
+ ---
2
+ description: "Show manuscript word count, chapter count, estimated page count, and reading time."
3
+ argument-hint: "[--detail]"
4
+ ---
5
+
6
+ # /scr:manuscript-stats -- Manuscript Statistics
7
+
8
+ Show key metrics about the current manuscript: word count, unit count, page estimate, and reading time.
9
+
10
+ ## Usage
11
+ ```
12
+ /scr:manuscript-stats [--detail]
13
+ ```
14
+
15
+ **Flags:**
16
+ - `--detail` -- Show per-unit breakdown (word count and page estimate per chapter/scene)
17
+
18
+ ## Instruction
19
+
20
+ You are computing and displaying manuscript statistics. Read the project's drafts and outline, calculate metrics, and present them clearly.
21
+
22
+ ### STEP 1: LOAD CONTEXT
23
+
24
+ 1. Read `.manuscript/config.json` to get:
25
+ - `title` -- the manuscript title
26
+ - `author` -- the author name
27
+ - `work_type` -- the work type (novel, memoir, screenplay, etc.)
28
+ 2. Read Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) to get the structural hierarchy names for this work type (e.g., "chapter", "scene").
29
+ 3. Read `.manuscript/OUTLINE.md` to get:
30
+ - Total unit count (count all atomic-level units listed in the outline)
31
+ - Unit names/titles for the `--detail` display
32
+
33
+ ### STEP 2: COUNT WORDS
34
+
35
+ 1. **Body text:** Read all files in `.manuscript/drafts/body/` recursively.
36
+ - For each file, count words by splitting on whitespace.
37
+ - Exclude pure markdown formatting markers (lines that are only `---`, `#` headers with no prose, empty lines).
38
+ - Track per-unit word counts (match filenames to outline units) for `--detail` mode.
39
+
40
+ 2. **Front matter:** Count words in all files under `.manuscript/front-matter/` recursively. Track as `front_matter_words`.
41
+
42
+ 3. **Back matter:** Count words in all files under `.manuscript/back-matter/` recursively. Track as `back_matter_words`.
43
+
44
+ 4. **Compute totals:**
45
+ - `body_word_count` = sum of all body file word counts
46
+ - `full_word_count` = body_word_count + front_matter_words + back_matter_words
47
+
48
+ ### STEP 3: CALCULATE METRICS
49
+
50
+ Using the counts from Step 2:
51
+
52
+ - **Total word count (body):** `body_word_count`
53
+ - **Full word count:** `full_word_count` (body + front + back matter)
54
+ - **Unit count:** Total atomic units from OUTLINE.md
55
+ - **Drafted unit count:** Number of files that exist in `.manuscript/drafts/body/` (each file = one drafted unit)
56
+ - **Draft completion:** `(drafted_units / total_units) * 100`, rounded to nearest integer, displayed as percentage
57
+ - **Estimated page count:** `ceil(full_word_count / 250)` -- standard 250 words per page
58
+ - **Reading time (average):** `ceil(full_word_count / 250)` minutes at 250 wpm average reading speed. Format as `Xh Ym` if 60+ minutes, otherwise `Xm`.
59
+ - **Reading time (careful):** `ceil(full_word_count / 200)` minutes at 200 wpm careful reading speed. Same formatting.
60
+ - **Front matter elements:** Count of files in `.manuscript/front-matter/`
61
+ - **Back matter elements:** Count of files in `.manuscript/back-matter/`
62
+
63
+ ### STEP 4: DISPLAY
64
+
65
+ Present the statistics in this format:
66
+
67
+ ```
68
+ Manuscript Statistics
69
+ ====================
70
+
71
+ Title: {title} by {author}
72
+ Work Type: {work_type}
73
+
74
+ Words: {body_word_count} (body)
75
+ {full_word_count} (with front/back matter)
76
+ Units: {drafted_units}/{total_units} ({completion}% complete)
77
+ Pages: ~{page_count} (estimated at 250 words/page)
78
+ Reading: ~{reading_avg} (average) / ~{reading_careful} (careful)
79
+
80
+ Front Matter: {front_count} elements
81
+ Back Matter: {back_count} elements
82
+ ```
83
+
84
+ Format word counts with commas for readability (e.g., `42,350`).
85
+
86
+ If front matter or back matter directories don't exist or are empty, show `0 elements` for those lines.
87
+
88
+ If no drafts exist yet, show `0` for word counts and `0%` completion, with a note: "No drafts found. Run `/scr:draft` to begin writing."
89
+
90
+ ### --detail MODE
91
+
92
+ If the user passes `--detail`, append a per-unit breakdown table after the summary:
93
+
94
+ ```
95
+ Unit Breakdown
96
+ --------------
97
+ Ch 1: The Beginning 3,200 words ~13 pages
98
+ Ch 2: The Middle 4,100 words ~16 pages
99
+ Ch 3: The Climax 2,800 words ~11 pages
100
+ (not yet drafted)
101
+ Ch 4: The Resolution --- words --- pages
102
+ --------------
103
+ Total 10,100 words ~40 pages
104
+ ```
105
+
106
+ - Use the hierarchy's mid-level label (e.g., "Ch" for chapter, "Sc" for scene, "Sec" for section) from CONSTRAINTS.json.
107
+ - For units not yet drafted, show `(not yet drafted)` with dashes for counts.
108
+ - Right-align word counts and page counts for visual clarity.
109
+ - Include a total row at the bottom.
110
+
111
+ ## Edge Cases
112
+
113
+ - **No `.manuscript/` directory:** Report "No manuscript found. Run `/scr:new-work` to start a project."
114
+ - **No OUTLINE.md:** Report word counts from existing drafts but note "No outline found -- unit count unavailable."
115
+ - **Empty drafts directory:** Show 0 words, 0% completion.
116
+ - **Mixed file types in drafts:** Only count `.md` files. Ignore images, PDFs, or other non-text files.
117
+
118
+ ## Response Contract
119
+
120
+ 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.
121
+
122
+ Use this format:
123
+
124
+ ```markdown
125
+ Next commands:
126
+ - `/scr:...`: One short sentence explaining what this path will do.
127
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
128
+ ```
129
+
130
+ 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.
131
+
132
+ If the writer seems unsure or no specific next command is obvious, include this default option:
133
+
134
+ ```markdown
135
+ Next commands:
136
+ - `/scr:next`: Inspect the project state and choose the right next step.
137
+ ```
138
+
139
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.