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,213 @@
1
+ ---
2
+ description: Generate world or regional map illustration prompts from WORLD.md geographic content.
3
+ argument-hint: "[--region <area>] [--style <style>]"
4
+ ---
5
+
6
+ # /scr:map-illustration -- World & Regional Map Illustration
7
+
8
+ Generate a structured prompt for world maps, regional maps, or location maps based on geographic content from WORLD.md.
9
+
10
+ ## Usage
11
+ ```
12
+ /scr:map-illustration [--region <area>] [--style <style>]
13
+ ```
14
+
15
+ **Style options:** `fantasy-parchment`, `satellite-realistic`, `hand-drawn`, `watercolor`, `schematic`, `antique`, `topographic`
16
+
17
+ ## Instruction
18
+
19
+ You are generating a map illustration prompt from the project's world-building content. 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.map-illustration` availability, prerequisites, and `file_adaptations`)
22
+ - `ART-DIRECTION.md` from `.manuscript/` if it exists (for style consistency)
23
+
24
+ ### Work Type Availability
25
+
26
+ Check CONSTRAINTS.json:
27
+ - **Available:** prose, visual, interactive, sacred
28
+ - **Hidden:** script, academic, poetry, speech_song
29
+ - **Requires:** WORLD.md (or adapted equivalent)
30
+
31
+ If the current work type is hidden, respond:
32
+ *"The `map-illustration` command is designed for works with world-building elements. Your {work_type} project doesn't typically include maps."*
33
+
34
+ ### Load World Data
35
+
36
+ Determine the correct world file from `file_adaptations`:
37
+ - Default: `.manuscript/WORLD.md`
38
+ - Sacred: `.manuscript/COSMOLOGY.md`
39
+ - Academic: `.manuscript/CONTEXT.md` (though academic is hidden)
40
+
41
+ Load the adapted world file.
42
+
43
+ If the world file is missing or has no geographic content:
44
+ *"No world geography found. Run `/scr:build-world --area geography` first to establish your world's geography, then return here to generate a map prompt."*
45
+
46
+ ### Extract Geographic Content
47
+
48
+ From WORLD.md (or COSMOLOGY.md), extract:
49
+ - **Landmasses:** Continents, islands, peninsulas, major land features
50
+ - **Bodies of water:** Oceans, seas, rivers, lakes, bays, straits
51
+ - **Terrain:** Mountain ranges, forests, deserts, plains, swamps, tundra
52
+ - **Key locations:** Cities, towns, settlements, capitals, landmarks, temples, ruins
53
+ - **Political boundaries:** Kingdoms, nations, territories, contested zones (if mentioned)
54
+ - **Climate/Biomes:** Tropical, temperate, arctic zones; rainfall patterns
55
+ - **Routes:** Trade routes, pilgrim paths, dangerous passages, major roads
56
+ - **Scale:** Size of the world (continent-level, region-level, city-level)
57
+
58
+ If `--region` is specified, focus extraction on that named area and its surroundings. Only include locations and features relevant to that region.
59
+
60
+ ### Determine Default Style
61
+
62
+ If no `--style` flag is provided, derive from genre:
63
+ - **Fantasy/Epic:** `fantasy-parchment` (aged paper, decorative borders, hand-lettered labels, sea monsters)
64
+ - **Literary fiction:** `hand-drawn` (clean ink illustration, tasteful minimalism)
65
+ - **Sci-fi:** `schematic` (clean lines, grid overlay, coordinate system, technical feel)
66
+ - **Historical:** `antique` (period-appropriate cartography style, copper engraving look)
67
+ - **Sacred:** `fantasy-parchment` (sacred geography with reverent styling, illuminated manuscript influence)
68
+ - **Children's:** `watercolor` (colorful, friendly, playful labels)
69
+ - **Default fallback:** `hand-drawn`
70
+
71
+ ### Generate Structured Prompt
72
+
73
+ Output a structured illustration prompt following the D-01 format:
74
+
75
+ ```markdown
76
+ # Map Illustration: {World/Region Name}
77
+
78
+ ## Subject
79
+ Map of {world/region name} showing {summary of key geographic features}. {1-2 sentences describing the overall geography -- "A vast continent dominated by a central mountain range running north-to-south, with fertile river valleys to the east and arid badlands to the west."}
80
+
81
+ ## Geographic Features
82
+ ### Landmasses
83
+ {List each with brief visual description}
84
+ - {Continent/Island name}: {shape, relative size, notable coastline features}
85
+
86
+ ### Bodies of Water
87
+ - {Ocean/Sea/River name}: {location relative to land, character -- calm, treacherous, etc.}
88
+
89
+ ### Terrain
90
+ - {Mountain range}: {location, relative height, snow-capped or bare}
91
+ - {Forest}: {location, type -- dense old-growth, sparse birch, tropical jungle}
92
+ - {Desert/Plains/etc.}: {location, character}
93
+
94
+ ### Key Locations
95
+ {Each with position on the map}
96
+ - {City/Landmark name}: {location description -- "on the eastern coast where the River Aldren meets the sea"}
97
+
98
+ ## Composition
99
+ - **Perspective:** Top-down cartographic view
100
+ - **Orientation:** North at top (or specify if world has different convention)
101
+ - **Compass rose:** {Placement -- typically upper-right or lower-right corner}
102
+ - **Legend/Key:** {Lower-left or lower-right, showing symbols for cities, mountains, forests, roads, borders}
103
+ - **Title cartouche:** {Decorative bordered title area -- top center or upper-left, containing map name in period-appropriate lettering}
104
+ - **Scale bar:** {Include if the world has established distances}
105
+ - **Border:** {Decorative border matching the style -- rope border for nautical, vine border for fantasy, simple line for schematic}
106
+
107
+ ## Style: {selected style name}
108
+ {Detailed style description:}
109
+
110
+ **fantasy-parchment:** Aged parchment texture, hand-drawn terrain icons (tiny mountain triangles, tree clusters for forests), flowing calligraphic labels, decorative sea with wave patterns, possible sea creatures or ships in ocean areas, warm sepia/brown palette.
111
+
112
+ **satellite-realistic:** Photorealistic satellite view, natural terrain colors, no decorative elements, clean modern labels, elevation shading.
113
+
114
+ **hand-drawn:** Clean ink illustration on white/cream background, crosshatch shading for terrain, neat hand-lettered labels, minimal decoration.
115
+
116
+ **watercolor:** Soft painted textures, blended terrain colors, artistic label placement, dreamy quality.
117
+
118
+ **schematic:** Clean vector-style lines, grid overlay, coordinate markers, technical labels, flat colors for terrain zones.
119
+
120
+ **antique:** Copper-engraving style, fine crosshatching, ornate cartouche, period lettering, muted earth tones, classical cartographic conventions.
121
+
122
+ **topographic:** Contour lines showing elevation, color-coded elevation zones, precise terrain representation, modern cartographic style.
123
+
124
+ ## Color Palette
125
+ {Terrain-coded colors, adjusted to match ART-DIRECTION.md if it exists}
126
+ - **Water:** {Blue tones -- deep navy for oceans, lighter for rivers/lakes}
127
+ - **Forests:** {Green tones -- dark for dense, light for sparse}
128
+ - **Mountains:** {Brown/gray tones -- darker for high peaks}
129
+ - **Desert/Arid:** {Tan/sandy tones}
130
+ - **Plains/Grassland:** {Light green or golden}
131
+ - **Snow/Ice:** {White/light blue}
132
+ - **Cities/Settlements:** {Red or black dots/icons}
133
+ - **Roads/Routes:** {Dashed or dotted lines in brown or red}
134
+ - **Borders:** {Colored lines or shading for political boundaries}
135
+
136
+ ## Mood
137
+ {Derived from genre and tone of the work}
138
+ - Fantasy: sense of adventure, vast unexplored territories, wonder
139
+ - Literary: understated, serving the story rather than dominating
140
+ - Sacred: reverent, cosmic scope, sense of divine order
141
+ - Thriller: strategic, tactical, showing contested ground
142
+ - Historical: scholarly, authentic, documentary
143
+
144
+ ## Labels
145
+ {List of all place names to include on the map, extracted from WORLD.md}
146
+ ### Major (large, prominent text)
147
+ - {Continent/ocean names}
148
+
149
+ ### Medium (clear but secondary)
150
+ - {Country/region/sea names}
151
+
152
+ ### Minor (small, detailed)
153
+ - {City/town/river/mountain names}
154
+
155
+ ## Technical Specs
156
+ - **Dimensions:** Full page -- {trim width} x {trim height} (typically 6" x 9" or matching book trim size)
157
+ - **Resolution:** 300 DPI (print-ready)
158
+ - **Color space:** CMYK for print, RGB acceptable for ebook-only
159
+ - **Format:** High-resolution PNG or TIFF
160
+ - **Bleed:** Include 0.125" bleed if map extends to page edges
161
+ ```
162
+
163
+ ### Save Output
164
+
165
+ Save the generated prompt to:
166
+ - Full world map: `.manuscript/illustrations/maps/world-map-prompt.md`
167
+ - Region-specific: `.manuscript/illustrations/maps/region-{name}-map-prompt.md`
168
+
169
+ Where `{name}` is the lowercase, hyphenated region name.
170
+
171
+ Create the directory path if it does not exist.
172
+
173
+ Commit: `illustration: generate {world/region} map illustration prompt`
174
+
175
+ After saving, suggest:
176
+ - "Map prompt saved. Use this with any AI image tool or share with your cartographer/illustrator."
177
+ - "For region-specific maps, run `/scr:map-illustration --region {area}` to focus on a particular area."
178
+ - "Ensure visual consistency across all illustrations with `/scr:art-direction`."
179
+
180
+ ---
181
+
182
+ ### Edge Cases
183
+
184
+ - **WORLD.md exists but has no geography section:** Prompt the writer: "Your world document exists but doesn't have geographic details yet. Run `/scr:build-world --area geography` to add terrain, locations, and boundaries."
185
+ - **--region specified but not found in WORLD.md:** "Region '{area}' not found in your world document. Available locations: {list extracted locations}. Or describe this region and I'll create the map prompt from your description."
186
+ - **Sacred work type (COSMOLOGY.md):** Adapt terminology -- "sacred geography", "celestial realms", "spiritual territories". Map may include cosmological layers (heavens, earth, underworld) rather than purely physical geography. Style should reflect tradition-appropriate cartographic conventions.
187
+ - **Very sparse world-building:** Generate the prompt with available content, mark gaps with `{NEEDS DETAIL: add rivers/mountains/etc.}` placeholders, and suggest running `build-world --area geography` to flesh out the world first.
188
+ - **ART-DIRECTION.md exists:** Style and color palette sections MUST reference it for consistency; override genre defaults with established art direction.
189
+ - **--style and --region both provided:** Apply both -- generate a region-specific map in the specified style.
190
+ - **Multiple maps needed:** Suggest generating both a world overview and region-specific maps for key story areas: "Consider generating a world map plus region maps for each major story location."
191
+
192
+ ## Response Contract
193
+
194
+ 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.
195
+
196
+ Use this format:
197
+
198
+ ```markdown
199
+ Next commands:
200
+ - `/scr:...`: One short sentence explaining what this path will do.
201
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
202
+ ```
203
+
204
+ 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.
205
+
206
+ If the writer seems unsure or no specific next command is obvious, include this default option:
207
+
208
+ ```markdown
209
+ Next commands:
210
+ - `/scr:next`: Inspect the project state and choose the right next step.
211
+ ```
212
+
213
+ 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,134 @@
1
+ ---
2
+ description: Spawn parallel analysis agents to understand an existing manuscript's voice, structure, characters, and themes.
3
+ ---
4
+
5
+ # /scr:map-manuscript -- Analyze Existing Manuscript
6
+
7
+ Spawn parallel analysis agents to understand an existing draft's voice, structure, characters, and themes.
8
+
9
+ ## Usage
10
+ ```
11
+ /scr:map-manuscript [area]
12
+ ```
13
+
14
+ **Areas (optional):** `voice`, `structure`, `characters`, `themes`, `world`, `pacing` -- analyze specific area only. Omit to analyze all.
15
+
16
+ ## Instruction
17
+
18
+ This command is for writers who already have a draft (partial or complete). It analyzes what exists so that `/scr:new-work` or `/scr:new-revision` can build on established patterns rather than starting from scratch.
19
+
20
+ Spawn 6 parallel analysis agents:
21
+
22
+ <analysis_agents>
23
+ <agent name="voice-analyst">
24
+ <task>
25
+ Analyze the manuscript's prose style:
26
+ - POV and tense (consistent? shifts?)
27
+ - Sentence length distribution (short/long ratio, rhythm patterns)
28
+ - Vocabulary range (simple/complex, domain-specific, archaic/modern)
29
+ - Narrative distance (close/far, shifts)
30
+ - Metaphor and imagery density
31
+ - Dialogue attribution style
32
+ - Paragraph length patterns
33
+ - Chapter/section opening and closing patterns
34
+ </task>
35
+ <output>VOICE-ANALYSIS.md -- style guide derived from existing prose</output>
36
+ </agent>
37
+
38
+ <agent name="structure-analyst">
39
+ <task>
40
+ Map the manuscript's architecture:
41
+ - Chapter/section breakdown with word counts
42
+ - Scene structure within chapters
43
+ - Pacing graph (tension curve across the manuscript)
44
+ - Act structure (even if not explicitly marked)
45
+ - Timeline mapping (chronological vs. narrative order)
46
+ - Subplot tracking
47
+ </task>
48
+ <output>STRUCTURE-ANALYSIS.md -- architectural map</output>
49
+ </agent>
50
+
51
+ <agent name="character-analyst">
52
+ <task>
53
+ Catalog all characters:
54
+ - Named characters with first appearance, role, physical description
55
+ - Dialogue voice profiles per character
56
+ - Relationship map based on interactions
57
+ - Character arc trajectory (where each character starts, where they are now)
58
+ - POV distribution (who narrates what)
59
+ </task>
60
+ <output>CHARACTER-ANALYSIS.md -- character profiles derived from text</output>
61
+ </agent>
62
+
63
+ <agent name="theme-analyst">
64
+ <task>
65
+ Identify thematic patterns:
66
+ - Recurring motifs and symbols
67
+ - Thematic threads across chapters
68
+ - Central questions the work seems to explore
69
+ - Emotional through-lines
70
+ - Imagery clusters
71
+ </task>
72
+ <output>THEME-ANALYSIS.md -- thematic map</output>
73
+ </agent>
74
+
75
+ <agent name="world-analyst">
76
+ <task>
77
+ Extract world-building details:
78
+ - Settings and locations mentioned
79
+ - Rules of the world (physics, magic, society, technology)
80
+ - Cultural norms established
81
+ - Historical references
82
+ - Geography and spatial relationships
83
+ </task>
84
+ <output>WORLD-ANALYSIS.md -- world-building bible from existing text</output>
85
+ </agent>
86
+
87
+ <agent name="pacing-analyst">
88
+ <task>
89
+ Analyze narrative rhythm:
90
+ - Scene length distribution
91
+ - Action vs. reflection ratio
92
+ - Dialogue vs. narration ratio per chapter
93
+ - Tension peaks and valleys
94
+ - Dead spots (low tension + low character development)
95
+ - Cliffhanger frequency
96
+ </task>
97
+ <output>PACING-ANALYSIS.md -- rhythm analysis with recommendations</output>
98
+ </agent>
99
+ </analysis_agents>
100
+
101
+ ### OUTPUT
102
+
103
+ Save all analysis files to `.manuscript/analysis/`
104
+
105
+ Present a summary to the writer showing:
106
+ - Key findings from each area
107
+ - Strengths identified
108
+ - Potential issues flagged
109
+ - How this analysis will inform future commands
110
+
111
+ This analysis is automatically loaded by `/scr:new-work` and `/scr:new-revision` when it exists.
112
+
113
+ ## Response Contract
114
+
115
+ 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.
116
+
117
+ Use this format:
118
+
119
+ ```markdown
120
+ Next commands:
121
+ - `/scr:...`: One short sentence explaining what this path will do.
122
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
123
+ ```
124
+
125
+ 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.
126
+
127
+ If the writer seems unsure or no specific next command is obvious, include this default option:
128
+
129
+ ```markdown
130
+ Next commands:
131
+ - `/scr:next`: Inspect the project state and choose the right next step.
132
+ ```
133
+
134
+ 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,136 @@
1
+ ---
2
+ description: Merge two adjacent units into one.
3
+ argument-hint: "[unit-id-1] [unit-id-2]"
4
+ ---
5
+
6
+ # /scr:merge-units -- Merge Adjacent Units
7
+
8
+ Merge two adjacent structural units into one, combining draft content if both are drafted.
9
+
10
+ ## Usage
11
+ ```
12
+ /scr:merge-units [unit-id-1] [unit-id-2]
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
+ ### MERGE UNITS FLOW
35
+
36
+ <merge_units>
37
+ 1. **Resolve unit type** from CONSTRAINTS.json `work_types[work_type].hierarchy`
38
+ - Use `command_unit` to determine which level this command operates on
39
+
40
+ 2. **Validate unit IDs:**
41
+ - Parse OUTLINE.md and locate both specified units
42
+ - **Adjacency check:** The two units MUST be adjacent (consecutive numbers)
43
+ - If not adjacent, show error:
44
+ "Cannot merge [unit_type] [A] and [unit_type] [B] -- they are not adjacent. Only consecutive units can be merged."
45
+ Show the current outline and suggest which pairs are adjacent.
46
+ - If either unit-id is invalid, show available units
47
+
48
+ 3. **Draft safety check** (D-07):
49
+ - Scan `.manuscript/drafts/body/` for draft files matching both units
50
+ - **If both have drafts:**
51
+ - Show word count for each draft
52
+ - Explain the merge approach:
53
+
54
+ **Both [chapter/scene/etc.] [A] and [B] have drafted content.**
55
+
56
+ [A]: "[title-A]" -- [N] words
57
+ [B]: "[title-B]" -- [M] words
58
+
59
+ **Merge will concatenate the content with a scene break marker between them:**
60
+ ```
61
+ [Content of unit A]
62
+
63
+ ---
64
+
65
+ [Content of unit B]
66
+ ```
67
+
68
+ Total merged word count: [N + M] words
69
+
70
+ - Require confirmation: "Merge these two drafts into one file? Both contents will be preserved."
71
+
72
+ - **If only one has a draft:**
73
+ - Warn that the merged unit will contain only partial drafted content
74
+ - Show which unit has the draft and its word count
75
+ - Confirm proceeding
76
+
77
+ - **If neither has a draft:** Proceed with outline merge
78
+
79
+ 4. **Prompt for merged unit details:**
80
+ - Title for the merged unit (suggest: title of first unit, or a combination)
81
+ - Updated summary combining both units' purposes
82
+
83
+ 5. **Execute merge:**
84
+ - Replace the two unit entries in OUTLINE.md with a single entry at the first unit's position
85
+ - Renumber all subsequent units (they shift down by 1)
86
+ - If drafts exist: combine them into a single draft file in `.manuscript/drafts/body/` with a scene break separator (`---`)
87
+ - Remove the second draft file from `.manuscript/drafts/body/`
88
+ - Rename subsequent draft files in `.manuscript/drafts/body/` to match new numbering
89
+
90
+ 6. **Update related files:**
91
+ - Update `.manuscript/STATE.md` to reflect the merged unit
92
+ - Update PLOT-GRAPH.md (or adapted equivalent) if arc positions are affected
93
+ - Update cross-references in OUTLINE.md
94
+
95
+ 7. **Show result:**
96
+ - Display the updated outline with the merged unit highlighted
97
+ - If drafts were merged, show the combined word count
98
+ - Show renumbered subsequent units
99
+ </merge_units>
100
+
101
+ Commit: `structure: merge {unit_type}s {A} and {B} into {A}`
102
+
103
+ ## Edge Cases
104
+
105
+ - **Only 2 units in outline:** Merging will create a single-unit outline -- confirm this is intentional.
106
+ - **Non-adjacent units:** Show clear error and suggest the correct adjacent pairs.
107
+ - **No OUTLINE.md:** Prompt to run `/scr:plan` first.
108
+ - **One unit at different hierarchy levels:** Only merge units at the same level. Show error if attempting to merge a "part" with a "chapter".
109
+ - **Very large combined draft:** Note the combined word count and suggest the writer may want to review the merged content for flow.
110
+
111
+ ## Response Contract
112
+
113
+ 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.
114
+
115
+ Use this format:
116
+
117
+ ```markdown
118
+ Next commands:
119
+ - `/scr:...`: One short sentence explaining what this path will do.
120
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
121
+ ```
122
+
123
+ 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.
124
+
125
+ If the writer seems unsure or no specific next command is obvious, include this default option:
126
+
127
+ ```markdown
128
+ Next commands:
129
+ - `/scr:next`: Inspect the project state and choose the right next step.
130
+ ```
131
+
132
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
133
+
134
+ ## Tone
135
+
136
+ Methodical and protective. Merging combines creative work -- ensure nothing is lost. Present the combined content clearly.