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,171 @@
1
+ ---
2
+ description: Build a Smashwords/D2D-compliant DOCX from the manuscript.
3
+ argument-hint: "[--skip-validate]"
4
+ ---
5
+
6
+ # /scr:build-smashwords -- Smashwords/D2D DOCX Build Pipeline
7
+
8
+ Assemble the manuscript and produce a Smashwords Style Guide-compliant DOCX for submission to Draft2Digital (D2D) or direct Smashwords upload. Uses `scriveno-smashwords.docx` as a Pandoc reference document to enforce no-tabs, first-line-indent-via-style, and auto-TOC rules.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /scr:build-smashwords [--skip-validate]
14
+ ```
15
+
16
+ **Flags:**
17
+ `--skip-validate` Skip the scaffold marker pre-flight check (not recommended).
18
+
19
+ ## Instruction
20
+
21
+ You are a **manuscript build specialist** for Smashwords/D2D DOCX output.
22
+
23
+ ---
24
+
25
+ ### STEP 1: LOAD CONTEXT
26
+
27
+ Load the following project files:
28
+
29
+ - `.manuscript/config.json` -- to get `work_type`, title, author, language, and project settings
30
+ - Scriveno's installed/shared `CONSTRAINTS.json` -- to check `exports` section for format availability
31
+
32
+ **Check format availability:**
33
+
34
+ Look up `build-smashwords` in `CONSTRAINTS.json` under the `commands` section. Check if the work type group is in the `available` list: `["prose", "visual"]`.
35
+
36
+ If not available:
37
+ > This command is not available for [work_type] projects. The Smashwords DOCX build is available for: prose and visual work types. Poets should use `/scr:build-poetry-submission` instead.
38
+
39
+ Then **stop**.
40
+
41
+ ---
42
+
43
+ ### STEP 1.5: VALIDATE MANUSCRIPT
44
+
45
+ **Check for scaffold markers in `.manuscript/drafts/`.**
46
+
47
+ Scan all `.md` files in `.manuscript/drafts/` for:
48
+ - Lines containing `[Fill in`
49
+ - Lines containing `[Delete if not applicable:]`
50
+ - Lines containing `Alternate 1:` or `Alternate 2:`
51
+ - Files with more than one `# ` (top-level H1) heading
52
+
53
+ **If `--skip-validate` was passed:**
54
+ > **Warning: Validate gate skipped (`--skip-validate`). Your manuscript may contain unresolved scaffold markers.**
55
+
56
+ Proceed to STEP 2.
57
+
58
+ **If markers are found:**
59
+ > **Build blocked: unresolved scaffold markers found.**
60
+ >
61
+ > [list each as: `path/to/file.md:LINE_NUMBER: marker text`]
62
+ >
63
+ > **Fix:** Run `/scr:cleanup --apply` to remove scaffold markers, then re-run this build command.
64
+
65
+ Then **stop**.
66
+
67
+ ---
68
+
69
+ ### STEP 1.6: FRONT-MATTER GATE
70
+
71
+ Follow /scr:build-ebook STEP 1.6a-1.6b (scaffold exclusion and GENERATE auto-refresh).
72
+ Use the resulting scaffold exclusion list in STEP 3 assembly.
73
+
74
+ ---
75
+
76
+ ### STEP 2: CHECK PREREQUISITES
77
+
78
+ Check for Pandoc:
79
+ ```bash
80
+ command -v pandoc >/dev/null 2>&1
81
+ ```
82
+
83
+ If not found:
84
+ > **Pandoc is required for Smashwords DOCX build but is not installed.**
85
+ > - macOS: `brew install pandoc`
86
+ > - Linux: `sudo apt install pandoc`
87
+ > - Windows: `choco install pandoc`
88
+
89
+ Then **stop**.
90
+
91
+ Check that the reference document exists:
92
+
93
+ If `data/export-templates/scriveno-smashwords.docx` does not exist:
94
+ > **Smashwords reference document missing at `data/export-templates/scriveno-smashwords.docx`.**
95
+ > Re-install Scriveno or restore the file from the repository.
96
+
97
+ Then **stop**.
98
+
99
+ ---
100
+
101
+ ### STEP 3: ASSEMBLE MANUSCRIPT
102
+
103
+ Follow the same assembly steps as `/scr:build-ebook` STEP 3a-3e:
104
+ - Read OUTLINE.md for document order
105
+ - Scan front matter (scaffold-excluded)
106
+ - Read body drafts in OUTLINE.md order
107
+ - Scan back matter
108
+ - Concatenate to `.manuscript/output/assembled-manuscript.md`
109
+ - Generate `.manuscript/output/metadata.yaml`
110
+
111
+ ---
112
+
113
+ ### STEP 4: BUILD SMASHWORDS DOCX
114
+
115
+ ```bash
116
+ pandoc .manuscript/output/assembled-manuscript.md \
117
+ -o .manuscript/output/smashwords.docx \
118
+ --reference-doc=data/export-templates/scriveno-smashwords.docx \
119
+ --metadata-file=.manuscript/output/metadata.yaml \
120
+ --toc \
121
+ --toc-depth=2
122
+ ```
123
+
124
+ **Smashwords compliance notes applied automatically by the reference doc:**
125
+ - First-line indent comes from the Normal paragraph style (not tabs or spaces)
126
+ - No custom headers/footers -- removed by reference doc style
127
+ - Auto-generated TOC field (Word-compatible) via `--toc`
128
+
129
+ **Post-build reminder:**
130
+ > **Smashwords submission checklist:**
131
+ > 1. Open `smashwords.docx` and verify no tab characters (Find/Replace `^t` -- result should be zero matches)
132
+ > 2. Confirm all body text uses the Normal paragraph style with first-line indent
133
+ > 3. Confirm the auto-TOC updates when you open the document (Word: right-click TOC -> Update Field)
134
+ > 4. Submit via https://www.smashwords.com/upload or Draft2Digital upload portal
135
+
136
+ ---
137
+
138
+ ### STEP 5: REPORT
139
+
140
+ Show:
141
+ ```
142
+ OK Smashwords DOCX built -> .manuscript/output/smashwords.docx ({file_size})
143
+ ```
144
+
145
+ Get file size with:
146
+ ```bash
147
+ ls -lh .manuscript/output/smashwords.docx | awk '{print $5}'
148
+ ```
149
+
150
+ ## Response Contract
151
+
152
+ 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.
153
+
154
+ Use this format:
155
+
156
+ ```markdown
157
+ Next commands:
158
+ - `/scr:...`: One short sentence explaining what this path will do.
159
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
160
+ ```
161
+
162
+ 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.
163
+
164
+ If the writer seems unsure or no specific next command is obvious, include this default option:
165
+
166
+ ```markdown
167
+ Next commands:
168
+ - `/scr:next`: Inspect the project state and choose the right next step.
169
+ ```
170
+
171
+ 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,158 @@
1
+ ---
2
+ description: Generate or refine the world document through progressive questioning.
3
+ argument-hint: "[--area <area>]"
4
+ ---
5
+
6
+ # /scr:build-world -- Progressive World Building
7
+
8
+ Generate or refine the world document through structured progressive questioning.
9
+
10
+ ## Usage
11
+ ```
12
+ /scr:build-world [--area <area>]
13
+ ```
14
+
15
+ **Areas:** `geography`, `culture`, `technology`, `rules`, `history`
16
+
17
+ For technical work types, reinterpret `--area` as:
18
+ - `geography` -> system boundaries and deployment shape
19
+ - `culture` -> audience, ownership, and operating norms
20
+ - `technology` -> stack, tooling, and interface surface
21
+ - `rules` -> supported constraints, permissions, and safety boundaries
22
+ - `history` -> change history, prior decisions, and known incidents
23
+
24
+ ## Instruction
25
+
26
+ You are building the world document. Load:
27
+ - `.manuscript/config.json` (to get `work_type`)
28
+ - Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check `file_adaptations` and `commands.build-world.adapted`)
29
+ - `WORK.md` (genre, tone, setting context)
30
+ - Existing world file from `.manuscript/` if it exists (WORLD.md / COSMOLOGY.md / CONTEXT.md per `file_adaptations`)
31
+
32
+ Determine adapted terminology from CONSTRAINTS.json:
33
+ - Default: "build world", generates `WORLD.md`
34
+ - Sacred: "build cosmology" (renamed via CONSTRAINTS.json), generates `COSMOLOGY.md`
35
+ - Academic: generates `CONTEXT.md`
36
+ - Technical: "map system", generates `SYSTEM.md`
37
+
38
+ ---
39
+
40
+ ### INITIAL MODE (no existing world file)
41
+
42
+ <world_build_initial>
43
+ The writer has no world document yet. Ask 3-5 seed questions (D-05) to establish the foundation.
44
+
45
+ For technical work types, ask instead:
46
+ 1. "Who is this document for, and what are they trying to accomplish?"
47
+ 2. "What system, service, or workflow does it describe?"
48
+ 3. "What prerequisites or access does the reader need before they can follow it?"
49
+ 4. "Which environment, platform, or version boundaries matter?"
50
+ 5. "What can go wrong if the reader misunderstands this guidance?"
51
+
52
+ Otherwise use the default questions:
53
+ 1. **Scale:** "What's the scale of your world? A single city, a region, a continent, a planet, or something larger?"
54
+
55
+ 2. **Key conflict:** "What is the central tension or conflict that shapes this world? (War, scarcity, class division, magical imbalance, technological disruption, etc.)"
56
+
57
+ 3. **Distinguishing feature:** "What makes this world different from the real world (or from a typical setting in this genre)? What's the one thing a reader would remember?"
58
+
59
+ 4. **Time period feel:** "What era or time period does this world feel like? (Medieval, industrial, modern, far-future, timeless, or a specific blend?)"
60
+
61
+ 5. **Tone of the world:** "Is this world fundamentally hopeful, bleak, ambiguous, whimsical, or gritty?"
62
+
63
+ Wait for answers. Do not proceed until the writer responds.
64
+
65
+ After receiving answers, generate an initial world/system document using the appropriate template (`templates/WORLD.md` or `templates/technical/SYSTEM.md`). Populate each section with what can be inferred from the seed answers:
66
+ - Geography: scale, key locations implied by the setting
67
+ - Culture: social dynamics implied by the conflict
68
+ - Technology/Magic: tech level from time period, any magic from distinguishing feature
69
+ - Rules/Laws: governance implied by conflict and culture
70
+ - History: backstory that would lead to the current state
71
+
72
+ For technical work types, translate those buckets into:
73
+ - system scope and boundaries
74
+ - operating context and ownership
75
+ - tooling, interfaces, and environment assumptions
76
+ - permissions, constraints, and failure conditions
77
+ - change history and prior decisions
78
+
79
+ Mark sections that need more detail with `<!-- needs refinement -->` comments.
80
+
81
+ Save the file to `.manuscript/WORLD.md` (or adapted name).
82
+
83
+ Commit: `world: create initial world document`
84
+
85
+ After saving, suggest: "Your world document is started. Refine any section with `/scr:build-world --area <area>`."
86
+ </world_build_initial>
87
+
88
+ ---
89
+
90
+ ### REFINE MODE (--area flag)
91
+
92
+ <world_build_refine>
93
+ The writer wants to deepen one section. Load the existing world file.
94
+
95
+ Based on the `--area` value, drill deeper into that section with targeted questions:
96
+
97
+ **geography:**
98
+ - "Describe the terrain around {key location}. Mountains, rivers, forests, deserts?"
99
+ - "How do people travel between locations? What routes are dangerous?"
100
+ - "What natural resources exist? What's scarce?"
101
+
102
+ **culture:**
103
+ - "What social classes exist? How rigid are the boundaries?"
104
+ - "What do people celebrate? What rituals mark major life events?"
105
+ - "What languages or dialects exist? Any that are forbidden or dying?"
106
+
107
+ **technology:**
108
+ - "What's the most advanced technology/magic in common use?"
109
+ - "What's rare or forbidden? Who controls access?"
110
+ - "What are the costs or consequences of using it?"
111
+
112
+ **rules:**
113
+ - "Who enforces the laws? How corrupt or fair is the system?"
114
+ - "What crimes are punished harshly? What's tolerated that shouldn't be?"
115
+ - "Are there different laws for different classes or regions?"
116
+
117
+ **history:**
118
+ - "What event in the last 100 years most shaped the current world?"
119
+ - "What ancient conflict is still unresolved?"
120
+ - "What does the general population believe about their history vs. what's actually true?"
121
+
122
+ After the writer answers, update the relevant section in the world file with richer detail. Preserve existing content -- add to it, don't replace.
123
+
124
+ Commit: `world: refine {area} section`
125
+ </world_build_refine>
126
+
127
+ ---
128
+
129
+ ### Edge Cases
130
+
131
+ - **Invalid --area value:** List valid areas: geography, culture, technology, rules, history
132
+ - **Sacred work type:** Use "build cosmology" terminology; questions adapt to cosmological themes (divine geography, spiritual hierarchy, sacred history)
133
+ - **Academic work type:** Use "build context" terminology; questions focus on intellectual landscape, institutional setting, field dynamics
134
+ - **Technical work type:** Use "map system" terminology; questions focus on system boundaries, operating context, dependencies, and supported environments
135
+ - **World file already comprehensive:** Acknowledge it looks thorough and ask if there's a specific aspect to explore further
136
+
137
+ ## Response Contract
138
+
139
+ 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.
140
+
141
+ Use this format:
142
+
143
+ ```markdown
144
+ Next commands:
145
+ - `/scr:...`: One short sentence explaining what this path will do.
146
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
147
+ ```
148
+
149
+ 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.
150
+
151
+ If the writer seems unsure or no specific next command is obvious, include this default option:
152
+
153
+ ```markdown
154
+ Next commands:
155
+ - `/scr:next`: Inspect the project state and choose the right next step.
156
+ ```
157
+
158
+ 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,104 @@
1
+ ---
2
+ description: Display the roster of all characters with roles and brief descriptions.
3
+ ---
4
+
5
+ # /scr:cast-list -- Character Roster
6
+
7
+ Display the complete roster of all characters in the work.
8
+
9
+ ## Usage
10
+ ```
11
+ /scr:cast-list
12
+ ```
13
+
14
+ ## Instruction
15
+
16
+ You are presenting the character roster. Load:
17
+ - `.manuscript/config.json` (to get `work_type`)
18
+ - Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check `file_adaptations` and `commands.cast-list.adapted`)
19
+
20
+ Determine the correct characters file from `file_adaptations`:
21
+ - Default: `CHARACTERS.md`
22
+ - Academic work types: `CONCEPTS.md`
23
+ - Sacred work types: `FIGURES.md`
24
+
25
+ Load the adapted characters file from `.manuscript/`.
26
+
27
+ Determine adapted terminology:
28
+ - Default: "cast list", "characters"
29
+ - Sacred: "figures list", "figures" (renamed via CONSTRAINTS.json)
30
+ - Academic: "concepts list", "concepts"
31
+
32
+ ---
33
+
34
+ ### DISPLAY ROSTER
35
+
36
+ <cast_list_display>
37
+ Parse all character entries from the characters file.
38
+
39
+ Present a formatted table grouped by role category:
40
+
41
+ **Protagonists**
42
+ | Name | Arc Type | Status | Summary |
43
+ |------|----------|--------|---------|
44
+ | {name} | {Change/Growth/Fall/Steadfast/Flat} | {active/deceased/mentioned} | {1-line summary} |
45
+
46
+ **Antagonists**
47
+ | Name | Arc Type | Status | Summary |
48
+ |------|----------|--------|---------|
49
+
50
+ **Supporting Characters**
51
+ | Name | Arc Type | Status | Summary |
52
+ |------|----------|--------|---------|
53
+
54
+ **Mentioned / Off-stage**
55
+ | Name | Arc Type | Status | Summary |
56
+ |------|----------|--------|---------|
57
+
58
+ Determine role category from each character's "Role" field:
59
+ - Protagonist, main character, hero -> Protagonists
60
+ - Antagonist, villain, opposition -> Antagonists
61
+ - Supporting, mentor, love interest, foil, comic relief, sidekick -> Supporting Characters
62
+ - Mentioned, referenced, deceased (with no active role), off-stage -> Mentioned / Off-stage
63
+ - If role is ambiguous, place in Supporting Characters
64
+
65
+ After the table, show summary stats:
66
+ - Total characters: {N}
67
+ - By status: {active} active, {deceased} deceased, {mentioned} mentioned
68
+ - Characters missing voice anchors: {list of names without voice data}
69
+
70
+ If no characters exist:
71
+ - "No characters yet. Run `/scr:new-character <name>` to create your first character."
72
+ </cast_list_display>
73
+
74
+ ---
75
+
76
+ ### Edge Cases
77
+
78
+ - **Empty characters file:** Direct to new-character command
79
+ - **Characters with incomplete profiles:** Include in roster but mark with indicator (e.g., "[incomplete]")
80
+ - **Sacred work type:** Use "figures" terminology, group by role adapted to sacred context (prophet, disciple, angel, etc.)
81
+ - **Academic work type:** Use "concepts" terminology, group by function (thesis, antithesis, supporting argument, counterpoint)
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.
@@ -0,0 +1,158 @@
1
+ ---
2
+ description: Generate decorative chapter header/ornament design prompts.
3
+ argument-hint: "[--style <style>] [--chapter <ref>]"
4
+ ---
5
+
6
+ # /scr:chapter-header -- Chapter Header & Ornament Design
7
+
8
+ Generate a structured prompt for decorative chapter openers, ornamental dividers, and header illustrations.
9
+
10
+ ## Usage
11
+ ```
12
+ /scr:chapter-header [--style <style>] [--chapter <ref>]
13
+ ```
14
+
15
+ **Style options:** `floral`, `geometric`, `art-deco`, `gothic`, `minimalist`, `ornate`, `hand-drawn`, `woodcut`, `custom`
16
+
17
+ ## Instruction
18
+
19
+ You are generating a decorative chapter header/ornament design prompt. Load:
20
+ - `.manuscript/config.json` (to get `work_type`, `genre`)
21
+ - Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check `commands.chapter-header` availability)
22
+ - `ART-DIRECTION.md` from `.manuscript/` if it exists (for style consistency)
23
+ - `OUTLINE.md` from `.manuscript/` if `--chapter` flag is provided (to get chapter title/theme)
24
+
25
+ ### Work Type Availability
26
+
27
+ Check CONSTRAINTS.json:
28
+ - **Available:** prose, sacred
29
+ - **Hidden:** script, academic, visual, poetry, interactive, speech_song
30
+
31
+ If the current work type is hidden, respond:
32
+ *"The `chapter-header` command is designed for prose books and sacred texts. Your {work_type} project doesn't typically use chapter header ornaments."*
33
+
34
+ ### Determine Default Style
35
+
36
+ If no `--style` flag is provided, derive the default from genre:
37
+ - **Fantasy/Epic:** `ornate` (flowing filigree, mythical creatures, sword-and-shield motifs)
38
+ - **Literary fiction:** `minimalist` (thin rules, subtle typography ornaments, small fleurons)
39
+ - **Romance:** `floral` (roses, vines, hearts, delicate botanical elements)
40
+ - **Thriller/Mystery:** `art-deco` (bold geometric lines, angular patterns)
41
+ - **Horror/Gothic:** `gothic` (gargoyles, thorns, dark botanical, skull motifs)
42
+ - **Historical:** `woodcut` (period-appropriate woodblock print style)
43
+ - **Sacred:** `geometric` (arabesque patterns, mandala elements, sacred geometry, tradition-appropriate motifs)
44
+ - **Children's:** `hand-drawn` (whimsical, playful line art)
45
+ - **Sci-fi:** `minimalist` (clean lines, circuit-like patterns, futuristic geometry)
46
+ - **Default fallback:** `minimalist`
47
+
48
+ ### Chapter-Specific Content
49
+
50
+ If `--chapter` flag is provided with a chapter reference (number or title):
51
+ 1. Load OUTLINE.md and find the matching chapter
52
+ 2. Extract the chapter's title, themes, and key events
53
+ 3. Incorporate thematic elements into the ornament design:
54
+ - A battle chapter: crossed swords, shields, war imagery woven into the ornament
55
+ - A romance scene: intertwined flowers, hearts, delicate motifs
56
+ - A death/funeral: wilting flowers, hourglasses, somber symbols
57
+ - A journey/travel: compass roses, winding paths, maps
58
+ - A revelation/discovery: opening doors, light rays, keys, eyes
59
+ - A celebration: goblets, laurels, musical instruments, stars
60
+
61
+ If no `--chapter` flag, generate a generic ornament design suitable for any chapter in this book.
62
+
63
+ ### Generate Structured Prompt
64
+
65
+ Output a structured illustration prompt following the D-01 format:
66
+
67
+ ```markdown
68
+ # Chapter Header Design: {Book Title or "Generic"}
69
+
70
+ {If chapter-specific: "## For Chapter {ref}: {chapter title}"}
71
+
72
+ ## Subject
73
+ {Ornamental design description. Specify motifs, symbols, and decorative elements relevant to the book's genre and theme (or chapter-specific theme if --chapter provided). Example: "An ornate horizontal ornament featuring intertwined oak branches with small acorns, a central medallion containing a compass rose, flanked by symmetrical scrollwork."}
74
+
75
+ ## Composition
76
+ - **Format:** Horizontal banner, centered on page
77
+ - **Dimensions:** Full text block width (typically 4.25" for a 6x9 trim)
78
+ - **Height:** 1-2 inches (proportional to page size)
79
+ - **Chapter number/title space:** {Describe where chapter number and title integrate -- centered below the ornament, within a central cartouche, superimposed on the design, etc.}
80
+ - **Symmetry:** {Bilateral symmetry for formal styles, asymmetric for hand-drawn/whimsical}
81
+
82
+ ## Style: {selected style name}
83
+ {Detailed style description:}
84
+ - **Line weight:** {Thin and delicate / Bold and heavy / Variable / etc.}
85
+ - **Detail level:** {Intricate with fine details / Clean and simple / Moderately detailed}
86
+ - **Character:** {Formal and elegant / Rustic and handcrafted / Playful and whimsical / Solemn and reverent}
87
+ {Reference specific artistic traditions or periods if relevant}
88
+
89
+ ## Color Palette
90
+ {Many chapter headers are monochrome for practical print reasons}
91
+ - **Primary:** {Single color -- black, dark brown, deep blue, etc., or match ART-DIRECTION.md}
92
+ - **Approach:** {Monochrome (recommended for cost-effective printing) / Two-color / Full color}
93
+ - **If full color:** {List 3-4 colors that match the book's palette from ART-DIRECTION.md}
94
+
95
+ ## Repeating Elements
96
+ {If generating headers for multiple chapters, define the consistent elements:}
97
+ - **Fixed elements:** {Border style, corner motifs, overall shape -- same every chapter}
98
+ - **Variable elements:** {Central motif changes per chapter theme, specific symbols swap in/out}
99
+ - **Unity:** All headers should feel like a cohesive set from the same book
100
+
101
+ ## Technical Specs
102
+ - **Width:** Match page text block width ({trim_width} minus margins)
103
+ - **Height:** 1.0-2.0 inches (250-500 px at 300 DPI)
104
+ - **Resolution:** 300 DPI (print-ready)
105
+ - **Background:** Transparent (PNG) -- will be placed on book page
106
+ - **Format:** PNG with transparency or high-contrast SVG for vector scaling
107
+ - **Color space:** Grayscale or CMYK for print (avoid RGB-only colors)
108
+ ```
109
+
110
+ ### Save Output
111
+
112
+ Save the generated prompt to:
113
+ - Generic: `.manuscript/illustrations/chapter-headers/chapter-header-prompt.md`
114
+ - Chapter-specific: `.manuscript/illustrations/chapter-headers/chapter-{ref}-header-prompt.md`
115
+
116
+ Where `{ref}` is the chapter number or hyphenated title reference.
117
+
118
+ Create the directory path if it does not exist.
119
+
120
+ Commit: `illustration: generate chapter header design prompt`
121
+
122
+ After saving, suggest:
123
+ - "Chapter header prompt saved. Use this with any AI image tool or share with your designer."
124
+ - "For a cohesive set, generate headers for each chapter with `--chapter` to include thematic elements."
125
+ - "Ensure visual consistency with `/scr:art-direction` before generating illustrations."
126
+
127
+ ---
128
+
129
+ ### Edge Cases
130
+
131
+ - **No OUTLINE.md when --chapter used:** "No outline found. Run `/scr:plan` to create your outline, or describe the chapter theme and I'll design the header around that."
132
+ - **Chapter ref not found in outline:** "Chapter {ref} not found in outline. Available chapters: {list}. Or describe the chapter theme directly."
133
+ - **Sacred work type:** Adapt ornament suggestions to tradition-appropriate motifs (Islamic: geometric/arabesque, no figurative imagery; Christian: crosses, vine/branch motifs, illuminated manuscript style; Jewish: Star of David, menorah, olive branches; Buddhist: lotus, dharma wheel; generic sacred: sacred geometry, light motifs)
134
+ - **--style custom:** Ask the writer to describe their desired ornament style, then build the prompt around their description
135
+ - **ART-DIRECTION.md exists:** Style and color sections MUST reference it; override genre defaults with art direction established choices
136
+
137
+ ## Response Contract
138
+
139
+ 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.
140
+
141
+ Use this format:
142
+
143
+ ```markdown
144
+ Next commands:
145
+ - `/scr:...`: One short sentence explaining what this path will do.
146
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
147
+ ```
148
+
149
+ 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.
150
+
151
+ If the writer seems unsure or no specific next command is obvious, include this default option:
152
+
153
+ ```markdown
154
+ Next commands:
155
+ - `/scr:next`: Inspect the project state and choose the right next step.
156
+ ```
157
+
158
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.