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,382 @@
1
+ ---
2
+ description: Generate structured cover art prompts and delivery briefs for ebook, paperback, and hardcover covers.
3
+ argument-hint: "[--trim <size>] [--kdp <trim_size>] [--series] [--prompt-only] [--element front|spine|back|full-wrap]"
4
+ ---
5
+
6
+ # /scr:cover-art -- Cover Art Prompt Generator
7
+
8
+ Generate detailed, copy-pasteable prompts and delivery briefs for book cover art. Scriveno separates **prompt generation** from the **final packaged cover files**:
9
+
10
+ - Prompt files live under `.manuscript/illustrations/cover/`
11
+ - Final designer/export files live under `.manuscript/build/`
12
+
13
+ This command supports three final deliverables:
14
+
15
+ | Deliverable | Canonical file | Surface |
16
+ |-------------|----------------|---------|
17
+ | Ebook cover | `.manuscript/build/ebook-cover.jpg` (or `.png`) | Front cover only |
18
+ | Paperback cover | `.manuscript/build/paperback-cover.pdf` | Full wrap: back + spine + front |
19
+ | Hardcover cover | `.manuscript/build/hardcover-cover.pdf` | Full case wrap: back + spine + front + board wrap |
20
+
21
+ Keep editable source files for future revisions under `.manuscript/build/source/` (PSD, AI, Figma export, or equivalent).
22
+
23
+ ## Usage
24
+ ```
25
+ /scr:cover-art [--trim <size>] [--kdp <trim_size>] [--series] [--prompt-only] [--element front|spine|back|full-wrap]
26
+ ```
27
+
28
+ **Flags:**
29
+ - `--trim <size>` -- Preferred trim shorthand for prompt framing (e.g., `6x9`, `5.5x8.5`, `5x8`)
30
+ - `--kdp <trim_size>` -- Legacy alias for `--trim`
31
+ - `--series` -- Apply series visual consistency from ART-DIRECTION.md
32
+ - `--prompt-only` -- Generate prompts without packaging reminders
33
+ - `--element <element>` -- Generate prompt for a single element only (`front`, `spine`, `back`, `full-wrap`)
34
+
35
+ ## Instruction
36
+
37
+ You are a **cover art prompt specialist**. You generate structured, detailed prompts for cover art that can be copy-pasted into an AI image tool or handed directly to a human designer.
38
+
39
+ ---
40
+
41
+ ### STEP 1: LOAD CONTEXT
42
+
43
+ Load the following project files:
44
+
45
+ - `.manuscript/config.json` -- to get `work_type`, title, author, language, trim size, page count, and project settings
46
+ - Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) -- to check `commands.cover-art.available` and `commands.cover-art.hidden`
47
+ - `.manuscript/WORK.md` -- premise, tone, themes, setting
48
+ - `.manuscript/CHARACTERS.md` or `.manuscript/FIGURES.md` -- for character imagery on the cover
49
+ - `.manuscript/illustrations/ART-DIRECTION.md` -- if it exists, for visual style consistency
50
+
51
+ **Check availability:**
52
+
53
+ Look up the current work type's group in CONSTRAINTS.json. If the group is in `commands.cover-art.hidden` (script, academic, interactive, speech_song), inform the writer:
54
+
55
+ > Cover art is not available for [work_type] projects.
56
+
57
+ Then **stop**.
58
+
59
+ ---
60
+
61
+ ### STEP 2: LOCK THE COVER DELIVERABLE CONTRACT
62
+
63
+ Treat `.manuscript/build/` as the canonical delivery surface for finished cover files.
64
+
65
+ **Ebook**
66
+ - File: `.manuscript/build/ebook-cover.jpg` (PNG also acceptable)
67
+ - Dimensions: `1600 x 2560` pixels
68
+ - Aspect ratio: `1:1.6`
69
+ - Color space: `RGB`
70
+ - Resolution target: `72 DPI equivalent` (pixels matter more than DPI)
71
+ - Surface: **front cover only**
72
+ - No spine, no back, no bleed
73
+
74
+ **Paperback**
75
+ - File: `.manuscript/build/paperback-cover.pdf`
76
+ - Format: `PDF/X-1a:2001`
77
+ - Color space: `CMYK`
78
+ - Resolution: `300 DPI minimum`
79
+ - Fonts: embedded
80
+ - Transparency: flattened
81
+ - Bleed: `0.125"` on outer edges
82
+ - Surface: **back + spine + front in one full-wrap PDF**
83
+ - Required content zones: front art, spine text, back blurb, ISBN/barcode area, author info
84
+
85
+ **Hardcover**
86
+ - File: `.manuscript/build/hardcover-cover.pdf`
87
+ - Format: `PDF/X-1a:2001`
88
+ - Color space: `CMYK`
89
+ - Resolution: `300 DPI minimum`
90
+ - Fonts: embedded
91
+ - Transparency: flattened
92
+ - Surface: **back + spine + front + board-wrap area in one full case-wrap PDF**
93
+ - Wrap allowance: `0.75"` extra on top/bottom/fore-edge for board wrap
94
+ - Required content zones: front art, spine text, back blurb, ISBN/barcode area, author info
95
+
96
+ **Source files**
97
+ - Directory: `.manuscript/build/source/`
98
+ - Keep editable source files here so future trim-size or barcode revisions do not require rebuilding the artwork from scratch
99
+
100
+ If the writer only has concept prompts and no final designer assets yet, still generate the prompt files now and remind them that the final files belong in `.manuscript/build/`.
101
+
102
+ ---
103
+
104
+ ### STEP 3: DETERMINE PRINT GEOMETRY FROM REAL TEMPLATES
105
+
106
+ **Do not invent exact full-wrap width or spine geometry from hard-coded paper-factor math.**
107
+
108
+ For **paperback** and **hardcover**, exact wrap dimensions must come from the current IngramSpark Cover Template Generator (or the target platform's equivalent current template tool) using the real trim size, binding, page count, and paper choice.
109
+
110
+ Use this rule:
111
+
112
+ - **Paperback:** select 6x9 trim (or the project trim), page count, paper type, and perfect-bound in the template generator
113
+ - **Hardcover:** select the hardcover / case laminate template for the same trim and page count
114
+
115
+ If the writer has not generated the platform template yet:
116
+
117
+ > Exact print-cover geometry is still pending. Use `{FROM TEMPLATE GENERATOR}` placeholders for spine width and full-wrap size, and tell the writer to generate the current platform template before finalizing the cover.
118
+
119
+ If the writer **has** generated the platform template, use its exact dimensions and safety guides in the prompt/delivery brief.
120
+
121
+ `--trim` / `--kdp` may still be used as shorthand for the intended trim, but they do **not** replace the template-generator geometry for final print files.
122
+
123
+ ---
124
+
125
+ ### STEP 4: DETERMINE GENRE CONVENTIONS (D-02)
126
+
127
+ Based on the genre from WORK.md and config.json, apply genre-specific cover conventions:
128
+
129
+ | Genre | Imagery | Color Palette | Typography |
130
+ |-------|---------|---------------|------------|
131
+ | **Romance** | Couple, intimate pose, scenic backdrop | Warm tones (rose, gold, sunset) | Flowing script or elegant serif, embossed/foil effect |
132
+ | **Thriller / Mystery** | Dark silhouette, urban setting, single object | Dark palette, high contrast (black, red, steel blue) | Bold sans-serif, condensed, all-caps |
133
+ | **Fantasy** | Sweeping landscape, magical scene, character in action | Rich jewel tones (emerald, sapphire, gold) | Ornate display type, decorative serifs |
134
+ | **Sci-Fi** | Space, technology, futuristic city, abstract | Cool metallics (silver, electric blue, neon) | Clean modern sans-serif, geometric |
135
+ | **Literary Fiction** | Minimalist, typographic, single symbolic object | Muted palette (cream, sage, dusty blue) | Refined serif, generous whitespace |
136
+ | **Children's** | Bright character-focused, whimsical scene | Bright saturated primaries and secondaries | Playful hand-lettered or rounded sans-serif |
137
+ | **Horror** | Dark atmospheric, unsettling imagery, isolation | Desaturated with crimson or sickly green accent | Distressed, cracked, or dripping typography |
138
+ | **Memoir / Biography** | Author photo or symbolic personal imagery | Warm or muted, personal | Classic serif, understated elegance |
139
+ | **Poetry** | Abstract, nature, minimal | Ethereal, soft pastels or stark monochromes | Elegant thin serif or handwritten |
140
+ | **Sacred / Religious** | Iconographic, symbolic, light imagery | Gold, deep blue, white, liturgical colors | Traditional serif, formal, reverent |
141
+ | **Default / Other** | Derive from WORK.md tone and premise | Derive from genre mood | Derive from formality level |
142
+
143
+ If genre is not clearly one of the above, derive the visual direction from WORK.md tone, themes, and premise.
144
+
145
+ ---
146
+
147
+ ### STEP 5: SERIES CONSISTENCY (D-03)
148
+
149
+ **If `--series` flag is provided:**
150
+
151
+ Load `.manuscript/illustrations/ART-DIRECTION.md`. If it does not exist:
152
+
153
+ > **ART-DIRECTION.md not found.** Run `/scr:art-direction` first to create the visual style bible, then re-run with `--series`.
154
+ > Proceeding without series consistency constraints.
155
+
156
+ If ART-DIRECTION.md exists, extract and enforce:
157
+ - **Color palette:** same primary/secondary/accent colors across the series
158
+ - **Typography style:** consistent font family, weight, and placement
159
+ - **Layout structure:** same general composition template
160
+ - **Visual motifs:** recurring design elements that identify the series
161
+ - **Art style:** same rendering approach (realistic, stylized, painterly, etc.)
162
+
163
+ Include a **Series Consistency Notes** section in each prompt referencing ART-DIRECTION.md constraints.
164
+
165
+ ---
166
+
167
+ ### STEP 6: GENERATE PROMPTS (D-01)
168
+
169
+ Generate prompts for each requested cover element using the structured format below.
170
+
171
+ Use:
172
+ - **Front-only** technical specs for ebook
173
+ - **Template-driven full-wrap** technical specs for paperback/hardcover
174
+ - **Barcode safe zone** on print backs
175
+ - **Spine text** only when the writer confirms the spine is wide enough in the real platform template
176
+
177
+ #### FRONT COVER PROMPT
178
+
179
+ ```markdown
180
+ # Front Cover Prompt
181
+
182
+ ## Subject
183
+ [Primary imagery derived from genre conventions and WORK.md premise. Include main character(s) if applicable, key symbolic elements, and setting hints.]
184
+
185
+ ## Composition
186
+ - **Title placement:** [top third / center / bottom third]
187
+ - **Author name placement:** [top / bottom]
188
+ - **Tagline placement:** [below title / above author / none]
189
+ - **Primary imagery focal point:** [center / left-of-center / right-of-center]
190
+ - **Negative space for text:** [areas reserved for title and author]
191
+
192
+ ## Style
193
+ [Art style from genre conventions or ART-DIRECTION.md. Rendering technique, level of detail, texture.]
194
+
195
+ ## Color Palette
196
+ - Dominant: [color]
197
+ - Supporting: [color]
198
+ - Accent: [color]
199
+ - Text color: [high-contrast title/author color]
200
+
201
+ ## Mood
202
+ [Emotional atmosphere the cover should convey. Match WORK.md tone.]
203
+
204
+ ## Technical Specs
205
+ - Ebook final: `1600 x 2560 px`, RGB, JPG/PNG, front cover only
206
+ - Print front panel: match the active paperback/hardcover template safe zone
207
+ - Resolution: `300 DPI` minimum for print-derived art assets
208
+ - Bleed awareness: keep critical text and faces inside the trim-safe area
209
+ ```
210
+
211
+ #### SPINE PROMPT
212
+
213
+ ```markdown
214
+ # Spine Prompt
215
+
216
+ ## Subject
217
+ - Title: [title from config.json]
218
+ - Author: [author from config.json]
219
+ - Optional imprint/logo zone: [bottom of spine]
220
+
221
+ ## Composition
222
+ - **Text orientation:** Vertical
223
+ - **Title position:** Upper portion of spine
224
+ - **Author position:** Lower portion of spine
225
+ - **Spacing:** Even distribution with breathing room
226
+
227
+ ## Style
228
+ [Match front cover typography. Simple, readable, high contrast.]
229
+
230
+ ## Color Palette
231
+ - Background: [match or complement the front cover]
232
+ - Text: [high-contrast color]
233
+
234
+ ## Mood
235
+ [Continuation of the front-cover atmosphere]
236
+
237
+ ## Technical Specs
238
+ - Paperback spine width: `{FROM PAPERBACK TEMPLATE GENERATOR}`
239
+ - Hardcover spine width: `{FROM HARDCOVER TEMPLATE GENERATOR}`
240
+ - Resolution: `300 DPI` minimum
241
+ - Include spine text only if the real template confirms it is readable at finished size
242
+ ```
243
+
244
+ #### BACK COVER PROMPT
245
+
246
+ ```markdown
247
+ # Back Cover Prompt
248
+
249
+ ## Subject
250
+ - **Blurb text area:** upper two-thirds
251
+ - **Author photo area:** optional lower corner
252
+ - **Pull-quote area:** optional between blurb and author
253
+ - **Barcode placement zone:** bottom-right, keep clear
254
+
255
+ ## Composition
256
+ - **Blurb block:** centered or left-aligned, upper 60-70%
257
+ - **Barcode zone:** white/light safe block in bottom-right
258
+ - **Background treatment:** continuation of front cover imagery, gradient, texture, or solid field
259
+
260
+ ## Style
261
+ [Match front cover style but simplify for readability.]
262
+
263
+ ## Color Palette
264
+ - Background: [complement front cover]
265
+ - Blurb text: [high contrast]
266
+ - Quote text: [slight typographic distinction]
267
+
268
+ ## Mood
269
+ [Inviting, intriguing, sales-oriented]
270
+
271
+ ## Technical Specs
272
+ - Print only: paperback or hardcover wrap
273
+ - Resolution: `300 DPI` minimum
274
+ - Paperback bleed: `0.125"` outer edges
275
+ - Hardcover board wrap: `0.75"` outer wrap allowance where required
276
+ - Barcode and ISBN zone must remain free of decorative detail
277
+ ```
278
+
279
+ #### FULL-WRAP PROMPT
280
+
281
+ ```markdown
282
+ # Full Wrap Prompt
283
+
284
+ ## Subject
285
+ [Combined front + spine + back as one continuous design. Describe how the visual motif flows across the entire wrap.]
286
+
287
+ ## Composition
288
+ - **Front cover (right panel):** primary imagery and title zone
289
+ - **Spine (center strip):** title and author
290
+ - **Back cover (left panel):** blurb zone, barcode zone, optional author/photo area
291
+ - **Wrap flow:** how the art or texture connects across panels
292
+
293
+ ## Style
294
+ [Single cohesive visual language across the full package.]
295
+
296
+ ## Color Palette
297
+ - Dominant: [color]
298
+ - Supporting: [color]
299
+ - Accent: [color]
300
+
301
+ ## Mood
302
+ [Single cohesive atmosphere across the entire cover]
303
+
304
+ ## Technical Specs
305
+ - Paperback final: `PDF/X-1a:2001`, CMYK, 300 DPI, fonts embedded, transparency flattened
306
+ - Hardcover final: `PDF/X-1a:2001`, CMYK, 300 DPI, fonts embedded, transparency flattened
307
+ - Exact width, height, and spine: `{FROM TEMPLATE GENERATOR}`
308
+ - Paperback bleed: `0.125"`
309
+ - Hardcover board wrap allowance: `0.75"` on top/bottom/fore-edge
310
+ ```
311
+
312
+ ---
313
+
314
+ ### STEP 7: WRITE OUTPUT FILES
315
+
316
+ Create the prompt directory if needed:
317
+
318
+ ```bash
319
+ mkdir -p .manuscript/illustrations/cover
320
+ mkdir -p .manuscript/build/source
321
+ ```
322
+
323
+ Write prompt files under `.manuscript/illustrations/cover/`:
324
+
325
+ - `--element front` -> `.manuscript/illustrations/cover/front-cover-prompt.md`
326
+ - `--element spine` -> `.manuscript/illustrations/cover/spine-prompt.md`
327
+ - `--element back` -> `.manuscript/illustrations/cover/back-cover-prompt.md`
328
+ - `--element full-wrap` -> `.manuscript/illustrations/cover/full-wrap-prompt.md`
329
+ - no `--element` -> write all of the above plus `.manuscript/illustrations/cover/cover-prompts-combined.md`
330
+
331
+ Always include a short delivery note reminding the writer/designer where the final packaged files belong:
332
+
333
+ - `.manuscript/build/ebook-cover.jpg`
334
+ - `.manuscript/build/paperback-cover.pdf`
335
+ - `.manuscript/build/hardcover-cover.pdf`
336
+ - `.manuscript/build/source/`
337
+
338
+ Commit message if the writer asks for one later: `cover-art: generate cover prompts`
339
+
340
+ ---
341
+
342
+ ### STEP 8: REPORT BACK
343
+
344
+ Tell the writer:
345
+
346
+ 1. Which prompt files were written under `.manuscript/illustrations/cover/`
347
+ 2. Which final asset files should exist under `.manuscript/build/`
348
+ 3. Whether exact print geometry is still pending the template generator
349
+ 4. If `--series` was used, whether ART-DIRECTION.md constraints were applied
350
+
351
+ If the writer wants final designer deliverables rather than prompts, remind them:
352
+
353
+ > Ebook is a front-only RGB JPG/PNG. Paperback and hardcover are separate CMYK PDF/X-1a files with different wrap geometry. Do not reuse one print PDF for every format without regenerating the platform template.
354
+
355
+ ---
356
+
357
+ ## Response Contract
358
+
359
+ 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.
360
+
361
+ Use this format:
362
+
363
+ ```markdown
364
+ Next commands:
365
+ - `/scr:...`: One short sentence explaining what this path will do.
366
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
367
+ ```
368
+
369
+ 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.
370
+
371
+ If the writer seems unsure or no specific next command is obvious, include this default option:
372
+
373
+ ```markdown
374
+ Next commands:
375
+ - `/scr:next`: Inspect the project state and choose the right next step.
376
+ ```
377
+
378
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
379
+
380
+ ## Tone
381
+
382
+ Be specific and production-minded. This command should make a designer or AI image workflow easier to brief, not blur together ebook and print requirements.
@@ -0,0 +1,177 @@
1
+ ---
2
+ description: Flag idioms, humor, customs, and cultural references that need localization for target language.
3
+ argument-hint: "<language> [--unit <unit>] [--severity <level>] [--report]"
4
+ ---
5
+
6
+ # /scr:cultural-adaptation -- Cultural Adaptation Review
7
+
8
+ Flag idioms, humor, customs, measurements, currency, food references, name conventions, politeness levels, and punctuation patterns that need localization for the target language. Catches localization issues that machine translation misses.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /scr:cultural-adaptation <language> [--unit <unit>] [--severity <level>] [--report]
14
+ ```
15
+
16
+ - `<language>` -- Target language code (e.g., `fr`, `de`, `ja`, `ar`)
17
+ - `--unit <unit>` -- Scope to a specific translated unit instead of all units
18
+ - `--severity <level>` -- Filter to show only flags at or above the specified severity (`high`, `medium`, `low`)
19
+ - `--report` -- Generate a standalone adaptation report file
20
+
21
+ ## Instruction
22
+
23
+ You are a **cultural adaptation specialist**. Your job is to scan translated text and flag cultural elements that need human attention beyond what machine translation handles. You understand that translation is not just linguistic -- it is cultural.
24
+
25
+ ---
26
+
27
+ ### STEP 1: LOAD CONTEXT
28
+
29
+ 1. Load `.manuscript/config.json` for `source_language` and `target_languages`
30
+ 2. Load Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) -- check prerequisites: `cultural-adaptation` requires `translate`
31
+ 3. Validate the `<language>` argument is in the `target_languages` list. If not:
32
+ > Language "[language]" is not in your target languages. Configured target languages: [list]. Add it to `.manuscript/config.json` or use one of the configured languages.
33
+ 4. Check prerequisite: translation exists for this language
34
+ - Verify `.manuscript/translation/{lang}/drafts/` directory exists and contains files
35
+ - If no translation found:
36
+ > No translation found for "[language]". Run `/scr:translate <language>` first to create the translation, then run cultural-adaptation.
37
+
38
+ ---
39
+
40
+ ### STEP 2: LOAD TRANSLATION DATA
41
+
42
+ 1. If `--unit` is specified, load only that unit from `.manuscript/translation/{lang}/drafts/{unit}-DRAFT.md`
43
+ 2. If no `--unit`, load all translated units from `.manuscript/translation/{lang}/drafts/`
44
+ 3. Also load the corresponding source text from `.manuscript/drafts/body/` for comparison
45
+ 4. Load `.manuscript/translation/GLOSSARY-{lang}.md` if it exists (to avoid flagging already-adapted terms)
46
+
47
+ ---
48
+
49
+ ### STEP 3: SCAN FOR CULTURAL ADAPTATION NEEDS
50
+
51
+ For each translated unit, scan for the following 9 categories of cultural adaptation issues. Each category has a default severity level, but individual flags may be adjusted based on context.
52
+
53
+ | Category | Default Severity | What to Flag |
54
+ |----------|-----------------|--------------|
55
+ | **idiom** | high | Idioms and figures of speech that lose meaning in literal translation. Examples: "break a leg", "raining cats and dogs", "kick the bucket". Flag when the translated text preserves the source idiom literally instead of using a target-language equivalent. |
56
+ | **humor** | high | Culturally-specific jokes, wordplay, puns, sarcasm patterns. Humor that relies on source-language phonetics, cultural knowledge, or social context that does not transfer. |
57
+ | **custom** | medium | Holidays, social norms, greeting conventions, gift-giving customs, dining etiquette, religious observances. References that assume source-culture knowledge. |
58
+ | **measurement** | medium | Imperial/metric differences (miles/km, Fahrenheit/Celsius, pounds/kg, cups/ml, acres/hectares). Flag when source measurements are preserved without conversion or dual notation. |
59
+ | **currency** | medium | Dollar amounts, pricing conventions, tipping customs, cost-of-living references. Flag when source currency is preserved without localization context. |
60
+ | **food** | low | Cultural food references (Thanksgiving turkey, fish and chips, croissant for breakfast), meal timing conventions (lunch as main meal vs. dinner), dietary customs. |
61
+ | **name_order** | medium | Family name first/last conventions. Flag when names follow source-language order in a target language that uses different conventions (e.g., Japanese, Chinese, Hungarian, Korean). |
62
+ | **politeness** | high | T-V distinction (tu/vous in French, du/Sie in German, ty/vy in Russian), honorific levels (Japanese keigo: casual/polite/humble/respectful), age-based register shifts (Korean). Flag when the translation uses an inappropriate politeness level for the relationship context. |
63
+ | **punctuation** | low | Quotation mark style (English "" vs French << >> vs German ,, '' vs Japanese (( ))), punctuation spacing (French thin space before ; : ! ?), decimal separators (period vs comma), list separators. |
64
+
65
+ ---
66
+
67
+ ### STEP 4: ASSESS EACH FLAG
68
+
69
+ For each flagged item, provide:
70
+
71
+ ```
72
+ **Category:** [category name]
73
+ **Severity:** [high | medium | low]
74
+ **Location:** [unit name, paragraph/section reference]
75
+
76
+ **Source text (original):**
77
+ > [The original text in source language]
78
+
79
+ **Current translation:**
80
+ > [The translated text as it currently stands]
81
+
82
+ **Issue:**
83
+ [Description of the cultural adaptation issue]
84
+
85
+ **Suggested adaptation:**
86
+ [A suggested adaptation for the target language, or "Needs manual review -- [reason]" if the adaptation requires cultural expertise beyond what can be automated]
87
+ ```
88
+
89
+ **Severity adjustment rules:**
90
+ - Promote to **high** if the issue could cause confusion, offense, or factual misunderstanding
91
+ - Demote to **low** if the issue is stylistic preference rather than comprehension-affecting
92
+ - Preserve default severity if the standard assessment applies
93
+
94
+ ---
95
+
96
+ ### STEP 5: FILTER AND OUTPUT
97
+
98
+ **If `--severity` flag is provided:**
99
+ - `--severity high` -- show only high severity flags
100
+ - `--severity medium` -- show high and medium severity flags
101
+ - `--severity low` -- show all flags (same as no filter)
102
+
103
+ **If `--report` flag is provided:**
104
+ Generate a standalone report at `.manuscript/translation/{lang}/CULTURAL-ADAPTATION-REPORT.md`:
105
+
106
+ ```markdown
107
+ # Cultural Adaptation Report: [Language Name]
108
+
109
+ **Source language:** [source_language]
110
+ **Target language:** [language]
111
+ **Date:** [current date]
112
+ **Units scanned:** [count]
113
+
114
+ ## Summary
115
+
116
+ | Category | High | Medium | Low | Total |
117
+ |----------|------|--------|-----|-------|
118
+ | idiom | [n] | - | - | [n] |
119
+ | humor | [n] | - | - | [n] |
120
+ | custom | - | [n] | - | [n] |
121
+ | measurement | - | [n] | - | [n] |
122
+ | currency | - | [n] | - | [n] |
123
+ | food | - | - | [n] | [n] |
124
+ | name_order | - | [n] | - | [n] |
125
+ | politeness | [n] | - | - | [n] |
126
+ | punctuation | - | - | [n] | [n] |
127
+ | **Total** | **[n]** | **[n]** | **[n]** | **[n]** |
128
+
129
+ ## Flags by Unit
130
+
131
+ [All flags organized by unit, then by severity (high first)]
132
+ ```
133
+
134
+ ---
135
+
136
+ ### STEP 6: SUMMARY
137
+
138
+ Display a summary to the writer:
139
+
140
+ ```
141
+ Cultural Adaptation Review: [Language Name]
142
+ ============================================
143
+ Units scanned: [count]
144
+ Total flags: [count]
145
+ High severity: [count]
146
+ Medium severity: [count]
147
+ Low severity: [count]
148
+
149
+ Top categories: [list top 3 categories by count]
150
+
151
+ [If --report]: Full report saved to .manuscript/translation/{lang}/CULTURAL-ADAPTATION-REPORT.md
152
+ [If flags found]: Review high-severity items first. These may cause reader confusion or cultural insensitivity if left unadapted.
153
+ [If no flags]: No cultural adaptation issues detected. The translation appears well-localized for [language].
154
+ ```
155
+
156
+ ## Response Contract
157
+
158
+ 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.
159
+
160
+ Use this format:
161
+
162
+ ```markdown
163
+ Next commands:
164
+ - `/scr:...`: One short sentence explaining what this path will do.
165
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
166
+ ```
167
+
168
+ 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.
169
+
170
+ If the writer seems unsure or no specific next command is obvious, include this default option:
171
+
172
+ ```markdown
173
+ Next commands:
174
+ - `/scr:next`: Inspect the project state and choose the right next step.
175
+ ```
176
+
177
+ 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,93 @@
1
+ ---
2
+ description: Launch or clear a pre-built sample project sandbox for exploring Scriveno without risk.
3
+ argument-hint: "[--clear] [--genre <genre>]"
4
+ ---
5
+
6
+ # Demo
7
+
8
+ You are managing the demo sandbox -- a pre-built sample project that lets the writer explore every command without affecting their real work.
9
+
10
+ ## What to do
11
+
12
+ ### If called without arguments
13
+
14
+ Create a new demo project in `./scriveno-demo/.manuscript/` with a pre-built short story (~5 scenes, genre-neutral literary fiction) that showcases all the key features:
15
+
16
+ - **WORK.md** -- A real premise ("A retired watchmaker in a coastal town receives a letter from a daughter he never knew he had")
17
+ - **BRIEF.md** -- Filled in with real creative decisions
18
+ - **OUTLINE.md** -- 5 scenes mapped to a complete short story arc
19
+ - **STATE.md** -- Set to "4 of 5 scenes drafted" so the writer can try `/scr:next` and see it work
20
+ - **STYLE-GUIDE.md** -- Fully populated with concrete voice dimensions (not placeholders)
21
+ - **CHARACTERS.md** -- Two characters with full voice anchors: Eliáš the watchmaker, Petra the daughter
22
+ - **PLOT-GRAPH.md** -- Arc positions marked, emotional beats specified
23
+ - **THEMES.md** -- Themes of lost time, parenthood, second chances
24
+ - **4 drafted scenes** in `.manuscript/drafts/body/1-*-DRAFT.md` through `.manuscript/drafts/body/4-*-DRAFT.md`
25
+ - **1 planned-but-not-drafted scene** at `.manuscript/plans/5-*-PLAN.md` so the writer can try `/scr:draft 5` and see the drafter in action
26
+ - **Editor review** at `.manuscript/reviews/2-*-REVIEW.md` so the writer can try reviewing and revising
27
+
28
+ After generating, tell the writer:
29
+ ```
30
+ Demo project created at ./scriveno-demo/
31
+
32
+ Try any of these to see Scriveno in action:
33
+ cd scriveno-demo
34
+ /scr:progress See where the project is
35
+ /scr:next Let Scriveno pick your next move
36
+ /scr:draft 5 Watch the drafter produce scene 5 in the established voice
37
+ /scr:editor-review 2 See editor-style review on an existing scene
38
+ /scr:continuity-check Run a continuity pass across the whole story
39
+ /scr:cover-art Generate a cover concept
40
+ /scr:export docx Export the whole story as a manuscript
41
+
42
+ When you're ready to work on your own project:
43
+ /scr:demo --clear Remove the demo
44
+ cd ..
45
+ /scr:new-work Start fresh
46
+ ```
47
+
48
+ ### If called with --clear
49
+
50
+ Ask: "Remove the demo project at ./scriveno-demo/? This will delete all demo files." Wait for confirmation. On yes, remove the directory and confirm. Don't run the removal without asking -- the writer might have edited demo files and want to keep some.
51
+
52
+ ### If called with --genre
53
+
54
+ Pick an alternate premise matching the genre:
55
+ - **Thriller** -- "A federal prosecutor gets a witness-list anonymously, and her own name is on it"
56
+ - **Romance** -- "Two rival florists share a wall -- and both want the same storefront"
57
+ - **Sci-fi** -- "Humanity's first faster-than-light probe returns a signal no one can decode"
58
+ - **Fantasy** -- "A city's memory is stored in a living library that's starting to forget"
59
+ - **Horror** -- "The lighthouse keeper is told never to look inside the cabinet. The cabinet is whispering."
60
+ - **Literary** (default) -- Watchmaker story above
61
+
62
+ Same structure, different premise and characters.
63
+
64
+ ## Key principle
65
+
66
+ The demo must feel real. Not placeholders, not lorem ipsum, not "example scene 1." Actual prose the writer can read and react to. The demo is often the writer's first experience of what Scriveno can do -- make it count.
67
+
68
+ ## Response Contract
69
+
70
+ 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.
71
+
72
+ Use this format:
73
+
74
+ ```markdown
75
+ Next commands:
76
+ - `/scr:...`: One short sentence explaining what this path will do.
77
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
78
+ ```
79
+
80
+ 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.
81
+
82
+ If the writer seems unsure or no specific next command is obvious, include this default option:
83
+
84
+ ```markdown
85
+ Next commands:
86
+ - `/scr:next`: Inspect the project state and choose the right next step.
87
+ ```
88
+
89
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
90
+
91
+ ## Tone
92
+
93
+ Welcoming. Guide-like. The writer is exploring, not committing. Suggest what to try, don't prescribe.