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,339 @@
1
+ # Work Types Guide
2
+
3
+ Scriveno adapts itself to what you're writing. When you run `/scr:new-work` and tell Scriveno you're writing a novel, a screenplay, a runbook, a Quran commentary, or a research paper, it changes its vocabulary, commands, file names, and available features to match your tradition. A novel has chapters and scenes. A screenplay has acts and sequences. A runbook has procedures and steps. A Quranic text has surahs and ayahs. You never have to force your work into someone else's structure.
4
+
5
+ This guide covers all 50 work types Scriveno supports, organized into 9 groups.
6
+
7
+ ## How Work Types Adapt Scriveno
8
+
9
+ When you set a work type (via `/scr:new-work --type <work_type>` or during onboarding), Scriveno adapts in four ways:
10
+
11
+ ### 1. Hierarchy vocabulary
12
+
13
+ Every work type defines a three-level structural hierarchy: **top level**, **mid level**, and **atomic unit**. A novel's hierarchy is part > chapter > scene. A screenplay's is act > sequence > scene. A Torah project's is chumash > parashah > pasuk. Scriveno uses these terms everywhere -- in commands, outlines, progress reports, and file names.
14
+
15
+ ### 2. Command terminology
16
+
17
+ Scriveno adapts the vocabulary around a command to match your domain. `/scr:draft` talks about drafting a surah for Quranic work, an act for screenplays, a section for research papers, and a procedure for runbooks. Some commands also get domain-specific labels in help and output when that base command is available for the current group -- for example, `voice-check` is presented as `register-check` for sacred work types, and `plot-graph` is presented as `procedure-map` for technical work. See the [Command Adaptations](#command-adaptations) section below.
18
+
19
+ ### 3. File names
20
+
21
+ Context files rename per group. The default `CHARACTERS.md` becomes `FIGURES.md` for sacred work types, `CONCEPTS.md` for academic work, and `AUDIENCE.md` for technical writing. `PLOT-GRAPH.md` becomes `THEOLOGICAL-ARC.md` for sacred, `ARGUMENT-MAP.md` for academic, and `PROCEDURES.md` for technical work. See [File Adaptations](#file-adaptations) below.
22
+
23
+ ### 4. Available commands
24
+
25
+ Not every command makes sense for every work type. Poetry collections don't need `/scr:subplot-map`. Academic papers don't need `/scr:dialogue-audit`. Runbooks don't need query-package exports. Scriveno hides irrelevant commands and shows only what applies to your work type. Sacred work types get 8 exclusive commands (concordance, cross-reference, genealogy, etc.) that don't appear for other groups.
26
+
27
+ ## Work Type Groups
28
+
29
+ Scriveno organizes its 50 work_types into 9 groups. Each group shares command adaptations and file naming conventions.
30
+
31
+ ### Prose
32
+
33
+ Traditional narrative and nonfiction forms. This is the largest group, covering everything from novels to essays.
34
+
35
+ **Members:** Novel, Novella, Short Story, Flash Fiction, Memoir, Creative Nonfiction, Biography, Essay, Essay Collection
36
+
37
+ Prose work types use the default command names and file names. Most Scriveno features are available to prose.
38
+
39
+ ### Script
40
+
41
+ Performance-oriented writing where formatting and structure follow industry conventions.
42
+
43
+ **Members:** Screenplay, Stage Play, TV Pilot, TV Series Bible, Audio Drama / Podcast Script, Libretto / Musical
44
+
45
+ Script work types use act-based hierarchies. Screenplays and TV scripts can export to Fountain and FDX formats.
46
+
47
+ ### Academic
48
+
49
+ Research and scholarly writing with emphasis on argumentation, citation, and peer review.
50
+
51
+ **Members:** Research Paper, Thesis / Dissertation, Journal Article, White Paper, Literature Review, Monograph
52
+
53
+ Academic work types relabel selected always-available review commands in help and output: `/scr:editor-review` appears as `peer-review`, `/scr:beta-reader` appears as `reviewer-simulation`, and `/scr:sensitivity-review` appears as `ethics-review`. Context files also adapt -- `CHARACTERS.md` becomes `CONCEPTS.md`, `THEMES.md` becomes `QUESTIONS.md`.
54
+
55
+ ### Technical Writing
56
+
57
+ Task-oriented documentation and system explanation work where accuracy, audience fit, and procedure clarity matter more than narrative structure.
58
+
59
+ **Members:** Technical Guide / User Guide, Runbook / SOP, API or CLI Reference, Design Spec / Architecture Doc
60
+
61
+ Technical-writing work types keep the core discuss -> plan -> draft flow, but relabel context and review surfaces to match docs work. `WORLD.md` becomes `SYSTEM.md`, `PLOT-GRAPH.md` becomes `PROCEDURES.md`, `/scr:build-world` is presented as `map-system`, and `/scr:editor-review` is presented as `technical-review`.
62
+
63
+ ### Visual
64
+
65
+ Works where text and image are co-equal. Layout, illustration, and visual pacing matter as much as prose.
66
+
67
+ **Members:** Comic / Graphic Novel, Graphic Novel, Children's Book, Picture Book
68
+
69
+ Visual work types unlock illustration-specific commands like `/scr:spread-layout` and `/scr:storyboard`. Comics and graphic novels additionally use `/scr:panel-layout`, which stays hidden for non-comic visual projects.
70
+
71
+ ### Poetry
72
+
73
+ Verse-based forms where line, rhythm, and musicality drive structure.
74
+
75
+ **Members:** Poetry Collection, Single Poem, Lyric / Song
76
+
77
+ Poetry work types use stanza/line hierarchies. Many structural commands (plot-graph, subplot-map, timeline) are hidden since they don't apply to verse.
78
+
79
+ ### Interactive
80
+
81
+ Branching narrative forms for games and interactive fiction.
82
+
83
+ **Members:** Interactive Fiction, Game Narrative
84
+
85
+ Interactive work types use node/quest/dialogue_tree hierarchies to handle branching story paths.
86
+
87
+ ### Speech and Song
88
+
89
+ Performed spoken-word forms.
90
+
91
+ **Members:** Speech
92
+
93
+ Speech uses section/beat hierarchy. Most structural and illustration commands are hidden.
94
+
95
+ ### Sacred and Historical
96
+
97
+ Sacred texts, historical chronicles, and religious literature. This is the most heavily adapted group, with exclusive commands, voice registers, and tradition-specific configurations.
98
+
99
+ **Members:** Scripture (Biblical), Scripture (Quranic), Scripture (Torah), Scripture (Vedic), Scripture (Buddhist), Scripture (Generic), Commentary / Exegesis, Devotional, Liturgical Text, Historical Chronicle, Historical Account, Mythological Collection, Religious Epic, Sermon / Homily, Homiletic Collection
100
+
101
+ Sacred work types relabel selected review commands (`/scr:editor-review` becomes `scholarly-review`, `/scr:voice-check` becomes `register-check`), unlock 8 exclusive commands (`/scr:sacred:concordance`, `/scr:sacred:cross-reference`, `/scr:sacred:genealogy`, `/scr:sacred:chronology`, `/scr:sacred:annotation-layer`, `/scr:sacred:verse-numbering`, `/scr:sacred:source-tracking`, `/scr:sacred:doctrinal-check`), and support 10 voice registers in STYLE-GUIDE.md.
102
+
103
+ Sacred projects also use a shipped tradition profile slug in the top-level `tradition` config key. The current shipped slugs are `catholic`, `orthodox`, `tewahedo`, `protestant`, `jewish`, `islamic-hafs`, `islamic-warsh`, `pali`, `tibetan`, and `sanskrit`.
104
+
105
+ ## Word Count and Page Ranges
106
+
107
+ Every work type includes industry-standard word count and page range guidance. These are guides, not gates -- a literary novel can exceed 100,000 words. But the system has informed defaults instead of writing blind.
108
+
109
+ Ranges flow into three places:
110
+ - **`/scr:outline`** -- plans the right number of units at the right length
111
+ - **`/scr:manuscript-stats`** -- shows progress against word and page targets
112
+ - **`/scr:draft`** -- drafter knows target length per unit for natural pacing
113
+
114
+ Page counts use ~250 words/page (standard manuscript format).
115
+
116
+ ### Prose
117
+
118
+ | Work Type | Words | Pages | Units | Words/Unit | Pages/Unit |
119
+ |-----------|-------|-------|-------|------------|------------|
120
+ | Novel | 70,000-100,000 | 280-400 | 20-35 chapters | 2,500-5,000 | 10-20 |
121
+ | Novella | 17,500-40,000 | 70-160 | 5-15 chapters | 2,000-4,000 | 8-16 |
122
+ | Short Story | 1,000-7,500 | 4-30 | 1-5 sections | 500-2,500 | 2-10 |
123
+ | Flash Fiction | 100-1,000 | 1-4 | 1-3 beats | 100-500 | 1-2 |
124
+ | Memoir | 60,000-90,000 | 240-360 | 15-30 chapters | 2,500-5,000 | 10-20 |
125
+ | Creative Nonfiction | 50,000-90,000 | 200-360 | 12-25 chapters | 2,500-5,000 | 10-20 |
126
+ | Biography | 70,000-120,000 | 280-480 | 15-35 chapters | 3,000-5,000 | 12-20 |
127
+ | Essay | 1,500-10,000 | 6-40 | 3-8 sections | 500-2,000 | 2-8 |
128
+ | Essay Collection | 40,000-80,000 | 160-320 | 10-25 essays | 2,000-6,000 | 8-24 |
129
+
130
+ ### Script
131
+
132
+ | Work Type | Words | Pages | Units | Words/Unit | Pages/Unit |
133
+ |-----------|-------|-------|-------|------------|------------|
134
+ | Screenplay | 7,500-12,500 | 90-120 | 3-5 acts | 2,000-4,000 | 25-35 |
135
+ | Stage Play | 10,000-15,000 | 60-120 | 1-5 acts | 3,000-7,000 | 15-40 |
136
+ | TV Pilot | 5,000-10,000 | 30-60 | 4-6 acts | 1,000-2,500 | 6-12 |
137
+ | TV Series Bible | 15,000-40,000 | 60-160 | 6-13 episodes | 1,500-3,000 | 6-12 |
138
+ | Audio Drama | 3,000-8,000 | 12-32 | 1-10 episodes | 2,000-5,000 | 8-20 |
139
+ | Libretto | 5,000-12,000 | 20-48 | 2-3 acts | 2,000-5,000 | 8-20 |
140
+
141
+ ### Academic
142
+
143
+ | Work Type | Words | Pages | Units | Words/Unit | Pages/Unit |
144
+ |-----------|-------|-------|-------|------------|------------|
145
+ | Research Paper | 5,000-15,000 | 20-60 | 4-8 sections | 1,000-3,000 | 4-12 |
146
+ | Thesis | 40,000-100,000 | 160-400 | 5-10 chapters | 5,000-15,000 | 20-60 |
147
+ | Journal Article | 3,000-8,000 | 12-32 | 4-7 sections | 500-2,000 | 2-8 |
148
+ | White Paper | 3,000-10,000 | 12-40 | 4-8 sections | 500-2,000 | 2-8 |
149
+ | Literature Review | 5,000-15,000 | 20-60 | 4-8 sections | 1,000-3,000 | 4-12 |
150
+ | Monograph | 50,000-100,000 | 200-400 | 8-15 chapters | 4,000-8,000 | 16-32 |
151
+
152
+ ### Technical Writing
153
+
154
+ | Work Type | Words | Pages | Units | Words/Unit | Pages/Unit |
155
+ |-----------|-------|-------|-------|------------|------------|
156
+ | Technical Guide | 3,000-25,000 | 12-100 | 4-12 sections | 500-2,500 | 2-10 |
157
+ | Runbook | 1,500-12,000 | 6-48 | 3-10 procedures | 300-1,500 | 1-6 |
158
+ | API / CLI Reference | 2,000-30,000 | 8-120 | 5-40 resources | 150-1,000 | 1-4 |
159
+ | Design Spec | 2,000-15,000 | 8-60 | 4-12 sections | 500-2,000 | 2-8 |
160
+
161
+ ### Visual
162
+
163
+ | Work Type | Words | Pages | Units | Words/Unit | Pages/Unit |
164
+ |-----------|-------|-------|-------|------------|------------|
165
+ | Comic | 2,000-5,000 | 22-32 | 1-6 issues | 500-1,500 | 22-32 |
166
+ | Graphic Novel | 5,000-20,000 | 80-200 | 5-12 chapters | 500-2,500 | 10-25 |
167
+ | Children's Book | 500-5,000 | 24-48 | 12-24 spreads | 20-200 | 2 |
168
+ | Picture Book | 200-1,000 | 24-40 | 12-20 spreads | 10-60 | 2 |
169
+
170
+ ### Poetry
171
+
172
+ | Work Type | Words | Pages | Units | Words/Unit | Pages/Unit |
173
+ |-----------|-------|-------|-------|------------|------------|
174
+ | Poetry Collection | 5,000-15,000 | 48-120 | 3-8 sections | 1,000-3,000 | 8-20 |
175
+ | Single Poem | 20-2,000 | 1-8 | 1-20 stanzas | 10-200 | 1 |
176
+ | Song Lyric | 100-600 | 1-3 | 3-6 sections | 20-150 | 1 |
177
+
178
+ ### Interactive
179
+
180
+ | Work Type | Words | Pages | Units | Words/Unit | Pages/Unit |
181
+ |-----------|-------|-------|-------|------------|------------|
182
+ | Interactive Fiction | 20,000-100,000 | 80-400 | 20-100 nodes | 500-2,000 | 2-8 |
183
+ | Game Narrative | 30,000-150,000 | 120-600 | 10-40 quests | 2,000-5,000 | 8-20 |
184
+
185
+ ### Speech
186
+
187
+ | Work Type | Words | Pages | Units | Words/Unit | Pages/Unit |
188
+ |-----------|-------|-------|-------|------------|------------|
189
+ | Speech | 500-5,000 | 2-20 | 3-6 sections | 150-1,000 | 1-4 |
190
+
191
+ ### Sacred & Historical
192
+
193
+ Sacred scriptures (Biblical, Quranic, Torah, Vedic, Buddhist, Generic) have no meaningful total word/page ranges because scope varies enormously (a single surah vs. the full Quran). They include per-unit ranges only.
194
+
195
+ | Work Type | Words | Pages | Units | Words/Unit | Pages/Unit |
196
+ |-----------|-------|-------|-------|------------|------------|
197
+ | Commentary | 20,000-150,000 | 80-600 | 5-30 sections | 2,000-8,000 | 8-32 |
198
+ | Devotional | 15,000-50,000 | 60-200 | 30-366 entries | 200-800 | 1-3 |
199
+ | Liturgical Text | 5,000-30,000 | 20-120 | 5-20 sections | 500-3,000 | 2-12 |
200
+ | Historical Chronicle | 50,000-150,000 | 200-600 | 10-40 chapters | 3,000-6,000 | 12-24 |
201
+ | Historical Account | 40,000-100,000 | 160-400 | 10-30 chapters | 3,000-5,000 | 12-20 |
202
+ | Mythological Collection | 30,000-100,000 | 120-400 | 10-50 tales | 1,500-5,000 | 6-20 |
203
+ | Religious Epic | 50,000-300,000 | 200-1,200 | 10-100 cantos | 2,000-8,000 | 8-32 |
204
+ | Sermon | 1,500-4,000 | 6-16 | 3-5 movements | 400-1,000 | 2-4 |
205
+ | Homiletic Collection | 50,000-150,000 | 200-600 | 30-60 sermons | 1,500-4,000 | 6-16 |
206
+
207
+ ## Complete Work Type Table
208
+
209
+ Every work type Scriveno supports, with its group and structural hierarchy. Data sourced from `data/CONSTRAINTS.json`.
210
+
211
+ | Work Type | Group | Top Level | Mid Level | Atomic Unit | Command Unit |
212
+ |-----------|-------|-----------|-----------|-------------|--------------|
213
+ | novel | Prose | part | chapter | scene | chapter |
214
+ | novella | Prose | -- | chapter | scene | chapter |
215
+ | short_story | Prose | -- | section | beat | section |
216
+ | flash_fiction | Prose | -- | -- | beat | beat |
217
+ | memoir | Prose | part | chapter | vignette | chapter |
218
+ | creative_nonfiction | Prose | part | chapter | scene | chapter |
219
+ | biography | Prose | part | chapter | scene | chapter |
220
+ | essay | Prose | -- | section | paragraph_block | section |
221
+ | essay_collection | Prose | part | -- | essay | essay |
222
+ | screenplay | Script | act | sequence | scene | act |
223
+ | stage_play | Script | act | scene | beat | act |
224
+ | tv_pilot | Script | act | scene | beat | act |
225
+ | tv_series_bible | Script | season | episode | scene | episode |
226
+ | audio_drama | Script | season | episode | scene | episode |
227
+ | libretto | Script | act | scene | number | act |
228
+ | research_paper | Academic | -- | section | subsection | section |
229
+ | thesis | Academic | part | chapter | section | chapter |
230
+ | journal_article | Academic | -- | section | subsection | section |
231
+ | white_paper | Academic | -- | section | subsection | section |
232
+ | literature_review | Academic | -- | section | subsection | section |
233
+ | monograph | Academic | part | chapter | section | chapter |
234
+ | technical_guide | Technical Writing | -- | section | procedure | section |
235
+ | runbook | Technical Writing | -- | procedure | step | procedure |
236
+ | api_reference | Technical Writing | -- | resource | endpoint | resource |
237
+ | design_spec | Technical Writing | system | section | decision | section |
238
+ | comic | Visual | volume | issue | panel | issue |
239
+ | graphic_novel | Visual | volume | chapter | panel | chapter |
240
+ | childrens_book | Visual | -- | spread | page | spread |
241
+ | picture_book | Visual | -- | spread | illustration_text | spread |
242
+ | poetry_collection | Poetry | section | -- | poem | section |
243
+ | single_poem | Poetry | -- | stanza | line | stanza |
244
+ | song_lyric | Poetry | -- | section | line | section |
245
+ | interactive_fiction | Interactive | -- | node | choice_branch | node |
246
+ | game_narrative | Interactive | act | quest | dialogue_tree | quest |
247
+ | speech | Speech & Song | -- | section | beat | section |
248
+ | scripture_biblical | Sacred & Historical | testament | book | verse | book |
249
+ | scripture_quranic | Sacred & Historical | -- | surah | ayah | surah |
250
+ | scripture_torah | Sacred & Historical | chumash | parashah | pasuk | parashah |
251
+ | scripture_vedic | Sacred & Historical | veda | mandala | sukta | mandala |
252
+ | scripture_buddhist | Sacred & Historical | pitaka | nikaya | sutta | sutta |
253
+ | scripture_generic | Sacred & Historical | testament | book | verse | book |
254
+ | commentary | Sacred & Historical | -- | section | annotation_block | section |
255
+ | devotional | Sacred & Historical | -- | theme | entry | entry |
256
+ | liturgical | Sacred & Historical | rite | section | rubric | section |
257
+ | historical_chronicle | Sacred & Historical | era | chapter | event | chapter |
258
+ | historical_account | Sacred & Historical | part | chapter | scene | chapter |
259
+ | mythological_collection | Sacred & Historical | cycle | -- | tale | tale |
260
+ | religious_epic | Sacred & Historical | book | canto | verse | canto |
261
+ | sermon | Sacred & Historical | -- | movement | beat | sermon |
262
+ | homiletic_collection | Sacred & Historical | liturgical_year | -- | sermon | sermon |
263
+
264
+ ## File Adaptations
265
+
266
+ Context files rename based on your work type group. This keeps the vocabulary natural -- a sacred text project has FIGURES.md instead of CHARACTERS.md, because you're writing about historical and religious figures, not fictional characters.
267
+
268
+ | Default File | Academic | Technical Writing | Sacred & Historical |
269
+ |-------------|----------|-------------------|-------------------|
270
+ | BRIEF.md | PROPOSAL.md | DOC-BRIEF.md | FRAMEWORK.md |
271
+ | CHARACTERS.md | CONCEPTS.md | AUDIENCE.md | FIGURES.md |
272
+ | RELATIONSHIPS.md | RELATIONSHIPS.md | DEPENDENCIES.md | LINEAGES.md |
273
+ | WORLD.md | CONTEXT.md | SYSTEM.md | COSMOLOGY.md |
274
+ | PLOT-GRAPH.md | ARGUMENT-MAP.md | PROCEDURES.md | THEOLOGICAL-ARC.md |
275
+ | THEMES.md | QUESTIONS.md | REFERENCES.md | DOCTRINES.md |
276
+
277
+ All other groups (Prose, Script, Visual, Poetry, Interactive, Speech & Song) use the default file names.
278
+
279
+ ## Command Adaptations
280
+
281
+ Certain commands get adapted labels for academic, technical, and sacred work type groups. The canonical runnable command remains the file-backed base command unless a runtime explicitly installs an alias, and an adapted label only surfaces when the base command is actually available for that group.
282
+
283
+ ### Academic Adaptations
284
+
285
+ | Base Command | Adapted Label | Focus |
286
+ |-----------------|--------------|-------|
287
+ | editor-review | peer-review | Scholarly critique and reviewer framing |
288
+ | beta-reader | reviewer-simulation | Methodology critique and argument-strength review |
289
+ | sensitivity-review | ethics-review | Ethics, audience, and institutional review lens |
290
+
291
+ ### Technical Writing Adaptations
292
+
293
+ | Base Command | Adapted Label | Description |
294
+ |-----------------|--------------|-------------|
295
+ | build-world | map-system | System boundaries, environments, and operating context |
296
+ | plot-graph | procedure-map | Procedure flow, escalation path, and task sequence |
297
+ | editor-review | technical-review | Accuracy, clarity, and audience-fit review |
298
+ | beta-reader | usability-review | Reader/operator task-completion review |
299
+ | continuity-check | consistency-check | Terminology, procedure, and version consistency |
300
+
301
+ ### Sacred Adaptations
302
+
303
+ | Base Command | Adapted Label | Description |
304
+ |-----------------|--------------|-------------|
305
+ | voice-check | register-check | Voice register consistency |
306
+ | editor-review | scholarly-review | Academic review |
307
+ | beta-reader | theological-review | Doctrinal/pastoral review |
308
+ | sensitivity-review | interfaith-review | Sensitivity across traditions |
309
+
310
+ Sacred-specific workflows like chronology, doctrinal review, and verse numbering are available through the dedicated `/scr:sacred:*` command family rather than by relabeling hidden base commands.
311
+
312
+ ## Choosing Your Work Type
313
+
314
+ When you run `/scr:new-work`, Scriveno asks what you're writing and picks the best work type from your answer. You can also set it explicitly:
315
+
316
+ ```
317
+ /scr:new-work --type screenplay
318
+ /scr:new-work --type scripture_quranic
319
+ /scr:new-work --type research_paper
320
+ /scr:new-work --type runbook
321
+ ```
322
+
323
+ If you're not sure which type fits:
324
+
325
+ - **Writing fiction?** Start with `novel`, `novella`, `short_story`, or `flash_fiction` depending on length.
326
+ - **Writing for performance?** Use `screenplay`, `stage_play`, `tv_pilot`, or `audio_drama`.
327
+ - **Writing scholarship?** Use `research_paper`, `thesis`, or `journal_article`.
328
+ - **Writing technical docs?** Use `technical_guide`, `runbook`, `api_reference`, or `design_spec` depending on whether you're teaching, operating, documenting, or deciding.
329
+ - **Writing sacred or religious text?** Pick the tradition-specific type (e.g., `scripture_biblical`, `scripture_quranic`) or use `scripture_generic`.
330
+ - **Writing poetry?** Use `poetry_collection` for a book of poems, `single_poem` for one poem, or `song_lyric` for lyrics.
331
+ - **Writing for children?** Use `childrens_book` or `picture_book` -- these unlock illustration and spread layout tools.
332
+
333
+ Your work type is stored in `.manuscript/config.json` and can be changed later by editing the file directly or starting a new project with `/scr:new-work`.
334
+
335
+ ## See Also
336
+
337
+ - [Getting Started](getting-started.md) -- Install Scriveno and write your first draft
338
+ - [Command Reference](command-reference.md) -- Full list of all 112 commands with usage and examples
339
+ - [Voice DNA Guide](voice-dna.md) -- How Scriveno profiles and preserves your writing voice
@@ -0,0 +1,134 @@
1
+ // lib/architectural-profiles.js
2
+ // Phase 29 (v1.7) -- runtime validator + default-inference for the tradition/platform project-spec keys.
3
+ // Zero dependencies. Uses only Node built-ins (fs, path).
4
+ //
5
+ // Reads authoritative seed list + defaults from data/CONSTRAINTS.json.
6
+ // Reads accepted-at-runtime list from templates/sacred/<slug>/ and templates/platforms/<slug>/
7
+ // directory listings -- a contributor dropping a new subdirectory with a manifest.yaml
8
+ // extends the accepted set with no edit to this file or to CONSTRAINTS.json.
9
+
10
+ const fs = require('fs');
11
+ const path = require('path');
12
+
13
+ const ROOT = path.join(__dirname, '..');
14
+ const SACRED_DIR = path.join(ROOT, 'templates', 'sacred');
15
+ const PLATFORMS_DIR = path.join(ROOT, 'templates', 'platforms');
16
+ const PITFALLS_DIR = path.join(ROOT, 'templates', 'pitfalls');
17
+ const CONSTRAINTS_PATH = path.join(ROOT, 'data', 'CONSTRAINTS.json');
18
+ const SLUG_PATTERN = /^[a-z][a-z0-9-]*$/;
19
+ // Work-type slugs (used in pitfall pack filenames) allow underscores per CONSTRAINTS.json conventions
20
+ // (e.g., research_paper, poetry_collection). Keep this distinct from SLUG_PATTERN so existing
21
+ // sacred/platform validation is not relaxed.
22
+ const PITFALL_FILE_PATTERN = /^([a-z][a-z0-9_-]*)\.md$/;
23
+
24
+ function loadConstraints() {
25
+ // Re-read each call so tests that mutate a temp fixture see the update.
26
+ // Cheap -- file is ~45KB and hot on disk. If a perf issue ever surfaces, cache here.
27
+ const raw = fs.readFileSync(CONSTRAINTS_PATH, 'utf8');
28
+ return JSON.parse(raw);
29
+ }
30
+
31
+ function listProfiles(dir) {
32
+ // Returns slugs of subdirectories of `dir` that contain a manifest.yaml.
33
+ // Filters by SLUG_PATTERN to reject junk names (spaces, dots, etc.).
34
+ if (!fs.existsSync(dir)) return [];
35
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
36
+ const out = [];
37
+ for (const e of entries) {
38
+ if (!e.isDirectory()) continue;
39
+ if (!SLUG_PATTERN.test(e.name)) continue;
40
+ const manifest = path.join(dir, e.name, 'manifest.yaml');
41
+ if (fs.existsSync(manifest)) out.push(e.name);
42
+ }
43
+ return out.sort();
44
+ }
45
+
46
+ function listTraditions() {
47
+ return listProfiles(SACRED_DIR);
48
+ }
49
+
50
+ function listPlatforms() {
51
+ return listProfiles(PLATFORMS_DIR);
52
+ }
53
+
54
+ function validateTradition(value) {
55
+ const valid = listTraditions();
56
+ if (valid.includes(value)) return { valid: true };
57
+ return {
58
+ valid: false,
59
+ error: `Unknown tradition '${value}'. Valid options: ${valid.join(', ')}`
60
+ };
61
+ }
62
+
63
+ function validatePlatform(value) {
64
+ const valid = listPlatforms();
65
+ if (valid.includes(value)) return { valid: true };
66
+ return {
67
+ valid: false,
68
+ error: `Unknown platform '${value}'. Valid options: ${valid.join(', ')}`
69
+ };
70
+ }
71
+
72
+ function inferTradition(workType) {
73
+ try {
74
+ const c = loadConstraints();
75
+ const m = c.architectural_profiles && c.architectural_profiles.defaults_by_work_type && c.architectural_profiles.defaults_by_work_type.tradition;
76
+ if (!m) return null;
77
+ const v = m[workType];
78
+ return v == null ? null : v;
79
+ } catch (_err) {
80
+ return null;
81
+ }
82
+ }
83
+
84
+ function inferPlatform(workType) {
85
+ try {
86
+ const c = loadConstraints();
87
+ const m = c.architectural_profiles && c.architectural_profiles.defaults_by_work_type && c.architectural_profiles.defaults_by_work_type.platform;
88
+ if (!m) return null;
89
+ const v = m[workType];
90
+ return v == null ? null : v;
91
+ } catch (_err) {
92
+ return null;
93
+ }
94
+ }
95
+
96
+ function listPitfallPacks() {
97
+ // Returns sorted slugs of templates/pitfalls/<work_type>.md files.
98
+ // A contributor dropping a new <work_type>.md extends the accepted set with no
99
+ // edit to this file or to CONSTRAINTS.json.
100
+ if (!fs.existsSync(PITFALLS_DIR)) return [];
101
+ const entries = fs.readdirSync(PITFALLS_DIR, { withFileTypes: true });
102
+ const out = [];
103
+ for (const e of entries) {
104
+ if (!e.isFile()) continue;
105
+ const m = PITFALL_FILE_PATTERN.exec(e.name);
106
+ if (!m) continue;
107
+ out.push(m[1]);
108
+ }
109
+ return out.sort();
110
+ }
111
+
112
+ function getPitfallPackPath(workType) {
113
+ // Returns the absolute path to the installed pitfall pack for a given work_type,
114
+ // or null if no pack exists. Callers should fall back gracefully when null.
115
+ if (typeof workType !== 'string' || !PITFALL_FILE_PATTERN.test(`${workType}.md`)) {
116
+ return null;
117
+ }
118
+ const candidate = path.join(PITFALLS_DIR, `${workType}.md`);
119
+ return fs.existsSync(candidate) ? candidate : null;
120
+ }
121
+
122
+ module.exports = {
123
+ listTraditions,
124
+ listPlatforms,
125
+ validateTradition,
126
+ validatePlatform,
127
+ inferTradition,
128
+ inferPlatform,
129
+ listPitfallPacks,
130
+ getPitfallPackPath,
131
+ // Private helpers exposed for tests:
132
+ _paths: { SACRED_DIR, PLATFORMS_DIR, PITFALLS_DIR, CONSTRAINTS_PATH },
133
+ _loadConstraints: loadConstraints
134
+ };
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "scriveno",
3
+ "version": "2.0.5",
4
+ "description": "Spec-driven creative writing, publishing, and translation pipeline for AI coding agents. From blank page to published book.",
5
+ "bin": {
6
+ "scriveno": "bin/install.js"
7
+ },
8
+ "scripts": {
9
+ "start": "node bin/install.js",
10
+ "test": "node --test test/*.test.js",
11
+ "pack:check": "npm pack --dry-run",
12
+ "release:check": "npm test && npm run pack:check",
13
+ "prepublishOnly": "npm run release:check"
14
+ },
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "keywords": [
19
+ "writing",
20
+ "creative-writing",
21
+ "ai",
22
+ "claude",
23
+ "claude-code",
24
+ "novel",
25
+ "screenplay",
26
+ "publishing",
27
+ "kdp",
28
+ "translation"
29
+ ],
30
+ "author": "Scriveno contributors",
31
+ "license": "MIT",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/aihxp/scriveno.git"
35
+ },
36
+ "homepage": "https://github.com/aihxp/scriveno#readme",
37
+ "bugs": {
38
+ "url": "https://github.com/aihxp/scriveno/issues"
39
+ },
40
+ "engines": {
41
+ "node": ">=20.0.0"
42
+ },
43
+ "files": [
44
+ "bin/",
45
+ "lib/",
46
+ "data/",
47
+ "commands/",
48
+ "agents/",
49
+ "templates/",
50
+ "docs/",
51
+ "README.md",
52
+ "LICENSE"
53
+ ]
54
+ }
@@ -0,0 +1,51 @@
1
+ ---
2
+ creative_pillar: work
3
+ always_load_for: [discuss, plan]
4
+ authority: project
5
+ ---
6
+
7
+ # Creative brief
8
+
9
+ ## Vision
10
+
11
+ {{VISION}}
12
+
13
+ ## Why this, why now
14
+
15
+ {{RATIONALE}}
16
+
17
+ ## Intended reader
18
+
19
+ {{READER}}
20
+
21
+ ## Reader journey
22
+
23
+ **Before reading:** {{READER_BEFORE}}
24
+ **After reading:** {{READER_AFTER}}
25
+
26
+ ## Subject movement
27
+
28
+ **What the reader is trying to understand or do:** {{READER_PROBLEM}}
29
+ **Main pressure:** {{MAIN_PRESSURE}} (confusion, risk, counterclaim, grief, uncertainty, complexity, practical failure)
30
+ **Important interaction:** {{MAIN_INTERACTION}} (idea against idea, step against failure mode, doctrine against lived practice, image against meaning)
31
+ **What should change by the end:** {{READER_CHANGE}}
32
+
33
+ ## Emotional goals
34
+
35
+ {{EMOTIONAL_GOALS}}
36
+
37
+ ## Key craft choices
38
+
39
+ {{CRAFT_CHOICES}}
40
+
41
+ ## Constraints
42
+
43
+ {{CONSTRAINTS}}
44
+
45
+ ## Success criteria
46
+
47
+ {{SUCCESS}}
48
+
49
+ ## Open questions
50
+
51
+ {{OPEN_QUESTIONS}}
@@ -0,0 +1,64 @@
1
+ ---
2
+ creative_pillar: cast
3
+ always_load_for: [discuss, plan, draft, editor-review, continuity-check]
4
+ authority: project
5
+ ---
6
+
7
+ # Characters
8
+
9
+ *One entry per character. Each character gets a voice anchor that drafter agents use for dialogue consistency.*
10
+
11
+ ---
12
+
13
+ ## {{CHARACTER_NAME}}
14
+
15
+ **Role:** {{ROLE}}
16
+ **Age:** {{AGE}}
17
+ **Physical:** {{PHYSICAL}}
18
+
19
+ ### Want and need
20
+ - **Wants (conscious):** {{WANT}}
21
+ - **Needs (unconscious):** {{NEED}}
22
+ - **Internal lie:** {{LIE}}
23
+ - **Truth they must learn:** {{TRUTH}}
24
+
25
+ ### Arc
26
+ - **Starting state:** {{START_STATE}}
27
+ - **Turning points:** {{TURNING_POINTS}}
28
+ - **Ending state:** {{END_STATE}}
29
+
30
+ ### Voice anchor
31
+ *5-line dialogue sample showing how this character speaks. Drafter agents load this when drafting scenes with this character.*
32
+
33
+ {{VOICE_SAMPLE}}
34
+
35
+ ### Speech patterns
36
+ - **Register:** {{CHAR_REGISTER}}
37
+ - **Verbal tics:** {{TICS}}
38
+ - **Vocabulary:** {{CHAR_VOCAB}}
39
+ - **Sentence length:** {{CHAR_SENTENCES}}
40
+ - **Avoids saying:** {{AVOIDS}}
41
+
42
+ ### Persona under pressure
43
+ - **When afraid:** {{AFRAID_BEHAVIOR}}
44
+ - **When angry:** {{ANGER_BEHAVIOR}}
45
+ - **When lying or avoiding truth:** {{LYING_BEHAVIOR}}
46
+ - **When vulnerable:** {{VULNERABLE_BEHAVIOR}}
47
+ - **Physical tells:** {{PHYSICAL_TELLS}}
48
+
49
+ ### Relationships
50
+ {{RELATIONSHIPS_SUMMARY}}
51
+
52
+ ### Relationship-specific interactions
53
+ For each important relationship, note how this character changes with that person.
54
+
55
+ - **With {{OTHER_CHARACTER}}:** {{INTERACTION_DYNAMIC}}
56
+ - **Trust posture:** {{TRUST_POSTURE}}
57
+ - **Conflict pattern:** {{CONFLICT_PATTERN}}
58
+ - **Speech shift:** {{SPEECH_SHIFT}}
59
+ - **Hidden agenda or fear:** {{HIDDEN_AGENDA}}
60
+
61
+ ### Backstory relevant to this work
62
+ {{BACKSTORY}}
63
+
64
+ ---