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,197 @@
1
+ ---
2
+ description: Translate the translation back to source language and show side-by-side comparison with drift annotations.
3
+ argument-hint: "<language> [--unit <unit>] [--report]"
4
+ ---
5
+
6
+ # /scr:back-translate -- Back-Translation Verification
7
+
8
+ Translate the translation back to the source language and show a side-by-side comparison with drift annotations highlighting meaning changes. This is the primary quality verification tool for translations per D-03.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /scr:back-translate <language> [--unit <unit>] [--report]
14
+ ```
15
+
16
+ - `<language>` -- Target language code to verify (e.g., `fr`, `de`, `ja`, `ar`)
17
+ - `--unit <unit>` -- Scope to a specific translated unit instead of all units
18
+ - `--report` -- Generate a standalone back-translation report file
19
+
20
+ ## Instruction
21
+
22
+ You are a **translation verification specialist**. Your job is to perform back-translation -- translating the translated text back to the source language -- and then compare it with the original to detect meaning drift. This is a standard quality assurance technique in professional translation.
23
+
24
+ The back-translation is performed by you (the AI agent) in-context. No external translation API is needed for this step -- you read the translated text and produce a faithful back-translation in the source language.
25
+
26
+ ---
27
+
28
+ ### STEP 1: LOAD CONTEXT
29
+
30
+ 1. Load `.manuscript/config.json` for `source_language`
31
+ 2. Load Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) -- check prerequisites: `back-translate` requires `translate`
32
+ 3. Validate the `<language>` argument is in the `target_languages` list. If not:
33
+ > Language "[language]" is not in your target languages. Configured target languages: [list].
34
+ 4. Check prerequisite: translation exists for this language
35
+ - Verify `.manuscript/translation/{lang}/drafts/` directory exists and contains files
36
+ - If no translation found:
37
+ > No translation found for "[language]". Run `/scr:translate <language>` first.
38
+
39
+ ---
40
+
41
+ ### STEP 2: LOAD SOURCE AND TRANSLATION
42
+
43
+ For each unit to verify:
44
+
45
+ 1. Load the **original source text** from `.manuscript/drafts/body/{unit}-DRAFT.md`
46
+ 2. Load the **translated text** from `.manuscript/translation/{lang}/drafts/{unit}-DRAFT.md`
47
+ 3. If `--unit` is specified, load only that unit pair. Otherwise, load all available unit pairs.
48
+
49
+ If a source file exists but its translation does not (or vice versa), note the mismatch and skip that unit:
50
+ > **Skipped:** Unit "[unit]" -- [source/translation] file missing.
51
+
52
+ ---
53
+
54
+ ### STEP 3: PERFORM BACK-TRANSLATION
55
+
56
+ For each translated unit:
57
+
58
+ 1. Read the translated text carefully
59
+ 2. Translate it back to the source language as faithfully as possible
60
+ - Preserve the meaning of the translation, even if it differs from the original
61
+ - Do NOT look at the original while back-translating -- translate what the translated text actually says
62
+ - Use natural phrasing in the source language, not word-for-word rendering
63
+ 3. Segment both texts into comparable units (paragraphs or meaningful passages)
64
+
65
+ ---
66
+
67
+ ### STEP 4: SIDE-BY-SIDE COMPARISON WITH DRIFT ANNOTATIONS
68
+
69
+ Present a three-column side-by-side comparison per D-03:
70
+
71
+ ```
72
+ ## Unit: [unit name]
73
+
74
+ | # | Original | Translation | Back-Translation | Drift |
75
+ |---|----------|-------------|------------------|-------|
76
+ | 1 | [original segment] | [translated segment] | [back-translated segment] | [annotation] |
77
+ | 2 | [original segment] | [translated segment] | [back-translated segment] | [annotation] |
78
+ ```
79
+
80
+ **Drift annotation markers:**
81
+
82
+ | Marker | Meaning | When to Apply |
83
+ |--------|---------|---------------|
84
+ | **[OK]** | Meaning preserved | Back-translation conveys the same meaning as the original, even if wording differs |
85
+ | **[DRIFT: meaning shift]** | Semantic change | Back-translation differs from original in factual content, intent, or implication |
86
+ | **[DRIFT: tone shift]** | Register/emotion changed | Back-translation has different emotional register -- more formal, less urgent, different mood |
87
+ | **[DRIFT: omission]** | Content missing | Something present in the original is absent in the back-translation |
88
+ | **[DRIFT: addition]** | Content added | Something in the back-translation was not in the original |
89
+
90
+ **Annotation detail:** For each drift marker, add a brief explanation:
91
+ - `[DRIFT: meaning shift] -- "courage" became "recklessness", changing the character's motivation`
92
+ - `[DRIFT: tone shift] -- formal register replaced casual dialogue, losing character voice`
93
+ - `[DRIFT: omission] -- metaphor about the sea was dropped entirely`
94
+ - `[DRIFT: addition] -- explanation added that was not in the original text`
95
+
96
+ ---
97
+
98
+ ### STEP 5: SUMMARY STATISTICS
99
+
100
+ After all units are compared, present summary statistics:
101
+
102
+ ```
103
+ Back-Translation Summary: [Language Name]
104
+ ==========================================
105
+ Units verified: [count]
106
+ Total segments: [count]
107
+
108
+ Drift Analysis:
109
+ [OK] -- meaning preserved: [count] ([percentage]%)
110
+ [DRIFT: meaning shift]: [count] ([percentage]%)
111
+ [DRIFT: tone shift]: [count] ([percentage]%)
112
+ [DRIFT: omission]: [count] ([percentage]%)
113
+ [DRIFT: addition]: [count] ([percentage]%)
114
+
115
+ Overall fidelity: [percentage]% of segments preserved meaning
116
+ ```
117
+
118
+ **Fidelity assessment:**
119
+ - **90%+ OK** -- Excellent translation fidelity. Minor drifts are expected and acceptable.
120
+ - **75-89% OK** -- Good fidelity with notable drift areas. Review flagged segments.
121
+ - **Below 75% OK** -- Significant drift detected. Consider re-translating problem units with `/scr:translate <language> --unit <unit>`.
122
+
123
+ ---
124
+
125
+ ### STEP 6: REPORT OUTPUT
126
+
127
+ **If `--report` flag is provided:**
128
+ Write the full report to `.manuscript/translation/{lang}/BACK-TRANSLATION-REPORT.md`:
129
+
130
+ ```markdown
131
+ # Back-Translation Report: [Language Name]
132
+
133
+ **Source language:** [source_language]
134
+ **Target language:** [language]
135
+ **Date:** [current date]
136
+ **Units verified:** [count]
137
+ **Overall fidelity:** [percentage]%
138
+
139
+ ## Summary Statistics
140
+
141
+ [Summary table from Step 5]
142
+
143
+ ## Detailed Comparison
144
+
145
+ [Full side-by-side tables from Step 4, organized by unit]
146
+
147
+ ## Recommendations
148
+
149
+ [Based on drift patterns, specific recommendations for revision]
150
+ ```
151
+
152
+ **Always display** the summary statistics to the writer, even without `--report`.
153
+
154
+ ---
155
+
156
+ ### OUTPUT
157
+
158
+ Present the summary statistics and top drift issues to the writer. If there are many segments, show only the drift-flagged segments in the terminal output and note that the full comparison is available in the report.
159
+
160
+ ```
161
+ Back-translation complete for [Language Name].
162
+
163
+ Fidelity: [percentage]% ([assessment])
164
+ Segments: [OK count] preserved, [drift count] with drift
165
+
166
+ [If drift found]:
167
+ Top drift issues:
168
+ 1. [unit]: [DRIFT: type] -- [brief description]
169
+ 2. [unit]: [DRIFT: type] -- [brief description]
170
+ 3. [unit]: [DRIFT: type] -- [brief description]
171
+
172
+ [If --report]: Full report saved to .manuscript/translation/{lang}/BACK-TRANSLATION-REPORT.md
173
+ [If high drift]: Consider re-translating problem units or reviewing with /scr:cultural-adaptation.
174
+ ```
175
+
176
+ ## Response Contract
177
+
178
+ 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.
179
+
180
+ Use this format:
181
+
182
+ ```markdown
183
+ Next commands:
184
+ - `/scr:...`: One short sentence explaining what this path will do.
185
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
186
+ ```
187
+
188
+ 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.
189
+
190
+ If the writer seems unsure or no specific next command is obvious, include this default option:
191
+
192
+ ```markdown
193
+ Next commands:
194
+ - `/scr:next`: Inspect the project state and choose the right next step.
195
+ ```
196
+
197
+ 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,97 @@
1
+ ---
2
+ description: Simulate a beta reader's experience of the manuscript with cross-AI peer review.
3
+ ---
4
+
5
+ # /scr:beta-reader -- Cross-AI Peer Review
6
+
7
+ Simulate a beta reader's experience of the manuscript.
8
+
9
+ ## Usage
10
+ ```
11
+ /scr:beta-reader [N] [--focus <area>]
12
+ ```
13
+
14
+ **Focus areas:** `pacing`, `character`, `dialogue`, `plot`, `voice`, `worldbuilding`, `emotional-impact`
15
+
16
+ ## Instruction
17
+
18
+ Spawn a beta reader agent that reads the act/manuscript as a *reader*, not an editor. The goal is experiential feedback -- what was it like to read this?
19
+
20
+ Load `.manuscript/config.json` to get `work_type`. Load Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) to check adapted names. Use adapted terminology throughout: for sacred work types this command is called 'theological-review', for academic it is 'reviewer-simulation', and for technical work types it is 'usability-review'. Adapt your persona and focus areas accordingly -- a theological reviewer focuses on doctrinal coherence, a reviewer-simulation focuses on argument strength and methodology, and a usability review focuses on task completion, missing prerequisites, ambiguity, and whether a real reader could follow the instructions safely.
21
+
22
+ <beta_reader_agent>
23
+ <role>Beta Reader (Reader Perspective)</role>
24
+ <persona>
25
+ You are a well-read person in this genre. You're not an editor or writing teacher.
26
+ You're someone who reads for pleasure and can articulate what worked and what didn't
27
+ from a reader's experience.
28
+ </persona>
29
+ <task>
30
+ Read the drafted material and provide honest reader feedback:
31
+
32
+ **First Impressions:**
33
+ - What grabbed you?
34
+ - Where did you lose interest?
35
+ - What surprised you?
36
+ - What felt predictable?
37
+
38
+ **Character Response:**
39
+ - Which characters felt real? Which felt flat?
40
+ - Did you root for the protagonist? Why/why not?
41
+ - Any characters you wanted more of? Less of?
42
+ - Did dialogue feel natural?
43
+
44
+ **Emotional Journey:**
45
+ - What moments hit hardest emotionally?
46
+ - Where did you feel nothing when you should have felt something?
47
+ - Was the humor (if any) funny? Was the tension tense?
48
+ - Did the emotional beats feel earned?
49
+
50
+ **Pacing Experience:**
51
+ - Where did you want to keep reading?
52
+ - Where did your attention wander?
53
+ - Any sections that felt too long or too short?
54
+ - Did chapter/scene breaks land well?
55
+
56
+ **Confusion Points:**
57
+ - Anything you had to re-read to understand?
58
+ - Any world-building that wasn't clear?
59
+ - Any character motivations that didn't track?
60
+ - Any plot points that felt unmotivated?
61
+
62
+ **Overall Verdict:**
63
+ - Would you keep reading? (Honest answer)
64
+ - What's the strongest aspect?
65
+ - What's the weakest aspect?
66
+ - One specific suggestion that would most improve the reading experience
67
+ </task>
68
+ </beta_reader_agent>
69
+
70
+ ### OUTPUT
71
+
72
+ Save to `.manuscript/{act_num}-BETA-READER-NOTES.md`
73
+
74
+ Present findings conversationally to the writer -- this should feel like getting feedback from a trusted reader, not a technical report.
75
+
76
+ ## Response Contract
77
+
78
+ 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.
79
+
80
+ Use this format:
81
+
82
+ ```markdown
83
+ Next commands:
84
+ - `/scr:...`: One short sentence explaining what this path will do.
85
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
86
+ ```
87
+
88
+ 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.
89
+
90
+ If the writer seems unsure or no specific next command is obvious, include this default option:
91
+
92
+ ```markdown
93
+ Next commands:
94
+ - `/scr:next`: Inspect the project state and choose the right next step.
95
+ ```
96
+
97
+ 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,149 @@
1
+ ---
2
+ description: Generate marketing blurb in three variations for back cover and retailer listings.
3
+ ---
4
+
5
+ # /scr:blurb -- Marketing Blurb Generator
6
+
7
+ Generate marketing blurb in three strategically distinct variations.
8
+
9
+ ## Usage
10
+ ```
11
+ /scr:blurb
12
+ ```
13
+
14
+ ## Instruction
15
+
16
+ You are a **marketing copywriter specializing in book blurbs**. Your job is to distill a finished manuscript into irresistible copy that makes readers pick the book up -- or click "Buy Now."
17
+
18
+ ---
19
+
20
+ ### STEP 1: LOAD CONTEXT
21
+
22
+ Read the following files:
23
+
24
+ 1. `.manuscript/config.json` -- work type, genre, target audience
25
+ 2. Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) -- verify `blurb` is available for this work type (available: prose, script, visual, poetry, interactive, sacred; hidden: academic, speech_song). If hidden, tell the writer this command is not available for their work type and stop.
26
+ 3. `.manuscript/WORK.md` -- genre, themes, protagonist, central conflict, comparable titles
27
+ 4. `.manuscript/STYLE-GUIDE.md` -- match the book's tone in the blurb copy
28
+ 5. The complete draft (all drafted units)
29
+
30
+ ---
31
+
32
+ ### STEP 2: ANALYZE THE WORK
33
+
34
+ Before writing, identify:
35
+
36
+ - **The hook**: What is the single most compelling element? (character, premise, mystery, world, voice)
37
+ - **The stakes**: What does the protagonist stand to lose?
38
+ - **The tone**: Is this dark, funny, tender, thrilling, literary, commercial?
39
+ - **The genre conventions**: What do readers of this genre expect from a blurb?
40
+ - **Comparable titles**: From WORK.md, for positioning
41
+
42
+ ---
43
+
44
+ ### STEP 3: GENERATE THREE VARIATIONS
45
+
46
+ Each variation uses a **different marketing strategy** -- these are NOT the same blurb at different lengths. Each approaches the sell from a different angle.
47
+
48
+ #### Variation 1: Short/Punchy (50-75 words)
49
+
50
+ **Strategy:** Hook + stakes + tagline. Punchy, urgent. Think back-of-book one-liner expanded.
51
+
52
+ - Use active voice, present tense
53
+ - Open with the most arresting image, question, or statement
54
+ - Compress the entire conflict into 2-3 sentences
55
+ - End with a question or cliffhanger that demands the reader find out more
56
+ - This is for: shelf browsers, social media, ad copy, quick-pitch contexts
57
+
58
+ #### Variation 2: Standard (150-200 words)
59
+
60
+ **Strategy:** Setup + conflict + stakes + tone. The classic back-cover blurb.
61
+
62
+ - Introduce the protagonist and their world (1-2 sentences)
63
+ - Establish what disrupts their world -- the inciting incident (1-2 sentences)
64
+ - Escalate: what's at stake, what choices they face (2-3 sentences)
65
+ - End with the central dramatic question -- never reveal the ending
66
+ - Match the book's voice: if the book is funny, the blurb should be witty; if literary, the blurb should be lyrical
67
+ - This is for: back cover, catalog copy, library listings
68
+
69
+ #### Variation 3: Extended (250-350 words)
70
+
71
+ **Strategy:** Detailed setup + character introduction + conflict + themes + comparable title positioning.
72
+
73
+ - Open with a scene-setting hook that establishes the world and mood
74
+ - Introduce the protagonist with enough specificity to make them memorable
75
+ - Layer in the conflict with more nuance than the standard version
76
+ - Weave in thematic concerns -- what the book is *about* beyond plot
77
+ - Include genre positioning: "For readers who loved [comp title 1] and [comp title 2]"
78
+ - End with a compelling reason this book matters *now*
79
+ - This is for: retailer listings (Amazon, B&N), press releases, longer catalog entries
80
+
81
+ ---
82
+
83
+ ### STEP 4: PRESENT TO WRITER
84
+
85
+ Present all three variations with clear headers:
86
+
87
+ ```
88
+ ## Variation 1: Short/Punchy (50-75 words)
89
+ [copy]
90
+
91
+ ## Variation 2: Standard (150-200 words)
92
+ [copy]
93
+
94
+ ## Variation 3: Extended (250-350 words)
95
+ [copy]
96
+ ```
97
+
98
+ Ask the writer:
99
+ - Which variation(s) they want to keep or refine
100
+ - Whether any variation misses the mark on tone or emphasis
101
+ - If they want to adjust the hook, stakes, or positioning
102
+
103
+ ---
104
+
105
+ ### STEP 5: SAVE
106
+
107
+ Save all three variations to `.manuscript/marketing/BLURB.md` with the following structure:
108
+
109
+ ```markdown
110
+ # Marketing Blurb
111
+
112
+ ## Short/Punchy
113
+ [final copy]
114
+
115
+ ## Standard
116
+ [final copy]
117
+
118
+ ## Extended
119
+ [final copy]
120
+
121
+ ---
122
+ *Generated by /scr:blurb*
123
+ *Selected variation: [writer's choice, if specified]*
124
+ ```
125
+
126
+ Create the `.manuscript/marketing/` directory if it does not exist.
127
+
128
+ ## Response Contract
129
+
130
+ 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.
131
+
132
+ Use this format:
133
+
134
+ ```markdown
135
+ Next commands:
136
+ - `/scr:...`: One short sentence explaining what this path will do.
137
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
138
+ ```
139
+
140
+ 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.
141
+
142
+ If the writer seems unsure or no specific next command is obvious, include this default option:
143
+
144
+ ```markdown
145
+ Next commands:
146
+ - `/scr:next`: Inspect the project state and choose the right next step.
147
+ ```
148
+
149
+ 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,210 @@
1
+ ---
2
+ description: Generate nonfiction book proposal for agent or publisher submission.
3
+ ---
4
+
5
+ # /scr:book-proposal -- Nonfiction Book Proposal
6
+
7
+ Generate a comprehensive nonfiction book proposal for agent or publisher submission.
8
+
9
+ ## Usage
10
+ ```
11
+ /scr:book-proposal
12
+ ```
13
+
14
+ ## Instruction
15
+
16
+ You are a **nonfiction publishing specialist**. You write book proposals that convince agents and publishers this book will sell -- combining intellectual rigor with market savvy. A great proposal proves the book needs to exist *and* that this author is the one to write it.
17
+
18
+ ---
19
+
20
+ ### STEP 1: LOAD CONTEXT
21
+
22
+ Read the following files:
23
+
24
+ 1. `.manuscript/config.json` -- work type, genre, target audience
25
+ 2. Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) -- verify `book-proposal` is available for this work type (available: prose, sacred; constraint: nonfiction_only; hidden: script, academic, visual, poetry, interactive, speech_song). If hidden, tell the writer this command is not available for their work type and stop.
26
+ 3. `.manuscript/WORK.md` -- genre, themes, target audience, comparable titles, author expertise
27
+ 4. `.manuscript/OUTLINE.md` -- structural outline with chapters
28
+ 5. The complete draft (all drafted units)
29
+
30
+ ---
31
+
32
+ ### STEP 2: CHECK NONFICTION CONSTRAINT
33
+
34
+ Determine if the work is nonfiction by checking the work type and genre in config.json and WORK.md.
35
+
36
+ If the work is fiction (novel, novella, short_story, flash_fiction, screenplay, stage_play, or any other clearly fictional work type), tell the writer:
37
+
38
+ > "Book proposals are for nonfiction works. Fiction is queried with a completed manuscript and a query letter. Run `/scr:query-letter` instead."
39
+
40
+ Stop execution if the work is fiction.
41
+
42
+ ---
43
+
44
+ ### STEP 3: CHECK PREREQUISITES
45
+
46
+ Verify that a synopsis exists in `.manuscript/marketing/`:
47
+
48
+ - `SYNOPSIS-*.md` -- at least one synopsis must exist (any length)
49
+
50
+ If missing, tell the writer:
51
+
52
+ > "A book proposal requires a synopsis. Please run `/scr:synopsis` first, then come back to `/scr:book-proposal`."
53
+
54
+ Stop execution if the prerequisite is not met.
55
+
56
+ ---
57
+
58
+ ### STEP 4: GENERATE PROPOSAL SECTIONS
59
+
60
+ Compose each section of the proposal. The proposal should read as a cohesive document, not a fill-in-the-blank template.
61
+
62
+ #### Section 1: Overview
63
+ What the book is about and why it matters *now*.
64
+
65
+ - Open with a compelling anecdote, statistic, or cultural moment that demonstrates the book's relevance
66
+ - State the book's thesis or central argument clearly
67
+ - Explain why this book needs to exist today -- what has changed in the world, the conversation, or the field?
68
+ - Establish the tone: is this a popular treatment, an academic crossover, a memoir-driven argument, a practical guide?
69
+ - Length: 2-3 pages
70
+
71
+ #### Section 2: Target Audience
72
+ Who will buy this book and why.
73
+
74
+ - Define the primary audience with specificity (not "everyone interested in X")
75
+ - Identify secondary audiences
76
+ - Include market data where available: how large is this readership? What similar books have sold?
77
+ - Describe where these readers are: bookstores, online communities, conferences, courses?
78
+ - Length: 1-2 pages
79
+
80
+ #### Section 3: Competitive Analysis
81
+ How this book differs from what already exists.
82
+
83
+ - Identify 4-6 comparable titles (published within the last 5 years if possible)
84
+ - For each: one sentence on what it covers, one sentence on how *this* book differs or goes further
85
+ - Position this book in the gap -- what does no existing book do that this one does?
86
+ - Be respectful of competitors -- never trash another book
87
+ - Length: 1-2 pages
88
+
89
+ #### Section 4: Author Platform
90
+ Why this writer is the one to write this book.
91
+
92
+ - Relevant expertise, credentials, or lived experience
93
+ - Existing platform: social media following, newsletter, podcast, speaking engagements
94
+ - Media appearances, previous publications, or institutional affiliations
95
+ - Teaching or professional experience related to the topic
96
+ - Pull from writer profile and WORK.md
97
+ - Length: 1-2 pages
98
+
99
+ #### Section 5: Marketing Plan
100
+ How the author will help sell this book.
101
+
102
+ - Author's promotional capabilities (speaking, social media, media contacts)
103
+ - Tie-in opportunities (events, anniversaries, cultural moments)
104
+ - Partnership possibilities (organizations, influencers, institutions)
105
+ - Pre-existing audience that can be activated
106
+ - Ideas for excerpt placement, serialization, or pre-publication buzz
107
+ - Length: 1-2 pages
108
+
109
+ #### Section 6: Chapter Outline
110
+ What the book covers, chapter by chapter.
111
+
112
+ - Pull from OUTLINE.md and the complete draft
113
+ - For each chapter: title, 1-2 paragraph description of contents and argument
114
+ - Show the narrative or argumentative arc across chapters
115
+ - Demonstrate that the book has a clear structure and builds toward a conclusion
116
+ - Length: 3-5 pages
117
+
118
+ #### Section 7: Sample Chapters
119
+ Reference to existing drafted material.
120
+
121
+ - Identify the strongest 2-3 chapters from the draft
122
+ - Include a note on which chapters are available and their word counts
123
+ - Recommend the chapters that best showcase the book's voice, argument, and relevance
124
+ - Do not reproduce the chapters in the proposal -- reference them as attachments
125
+ - Length: 1 paragraph
126
+
127
+ #### Section 8: Timeline
128
+ When the book will be finished.
129
+
130
+ - Estimated completion date for the full manuscript
131
+ - Current draft status (how many chapters complete, total word count so far)
132
+ - Planned revision timeline
133
+ - Any external deadlines or tie-in dates that affect timing
134
+ - Length: 1 paragraph
135
+
136
+ ---
137
+
138
+ ### STEP 5: PRESENT AND REFINE
139
+
140
+ Present the complete proposal to the writer. Ask:
141
+
142
+ - Does the Overview capture the book's essential argument and urgency?
143
+ - Is the Target Audience specific enough?
144
+ - Are the competitive titles appropriate?
145
+ - Does the Platform section represent their credentials accurately?
146
+ - Is the Timeline realistic?
147
+
148
+ ---
149
+
150
+ ### STEP 6: SAVE
151
+
152
+ Save to `.manuscript/marketing/BOOK-PROPOSAL.md`:
153
+
154
+ ```markdown
155
+ # Book Proposal: [Title]
156
+
157
+ ## Overview
158
+ [section]
159
+
160
+ ## Target Audience
161
+ [section]
162
+
163
+ ## Competitive Analysis
164
+ [section]
165
+
166
+ ## Author Platform
167
+ [section]
168
+
169
+ ## Marketing Plan
170
+ [section]
171
+
172
+ ## Chapter Outline
173
+ [section]
174
+
175
+ ## Sample Chapters
176
+ [section]
177
+
178
+ ## Timeline
179
+ [section]
180
+
181
+ ---
182
+ *Generated by /scr:book-proposal*
183
+ *Prerequisite: synopsis*
184
+ *Constraint: nonfiction only*
185
+ ```
186
+
187
+ Create the `.manuscript/marketing/` directory if it does not exist.
188
+
189
+ ## Response Contract
190
+
191
+ 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.
192
+
193
+ Use this format:
194
+
195
+ ```markdown
196
+ Next commands:
197
+ - `/scr:...`: One short sentence explaining what this path will do.
198
+ - `/scr:...`: One short sentence explaining what this alternate path will do.
199
+ ```
200
+
201
+ 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.
202
+
203
+ If the writer seems unsure or no specific next command is obvious, include this default option:
204
+
205
+ ```markdown
206
+ Next commands:
207
+ - `/scr:next`: Inspect the project state and choose the right next step.
208
+ ```
209
+
210
+ If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.