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.
- package/LICENSE +21 -0
- package/README.md +222 -0
- package/agents/continuity-checker.md +85 -0
- package/agents/drafter.md +248 -0
- package/agents/plan-checker.md +209 -0
- package/agents/researcher.md +114 -0
- package/agents/translator.md +204 -0
- package/agents/voice-checker.md +154 -0
- package/bin/install.js +1620 -0
- package/commands/scr/add-note.md +51 -0
- package/commands/scr/add-unit.md +101 -0
- package/commands/scr/art-direction.md +225 -0
- package/commands/scr/autopilot-publish.md +210 -0
- package/commands/scr/autopilot-translate.md +237 -0
- package/commands/scr/autopilot.md +200 -0
- package/commands/scr/back-matter.md +630 -0
- package/commands/scr/back-translate.md +197 -0
- package/commands/scr/beta-reader.md +97 -0
- package/commands/scr/blurb.md +149 -0
- package/commands/scr/book-proposal.md +210 -0
- package/commands/scr/build-ebook.md +448 -0
- package/commands/scr/build-poetry-submission.md +202 -0
- package/commands/scr/build-print.md +598 -0
- package/commands/scr/build-smashwords.md +171 -0
- package/commands/scr/build-world.md +158 -0
- package/commands/scr/cast-list.md +104 -0
- package/commands/scr/chapter-header.md +158 -0
- package/commands/scr/character-arc.md +108 -0
- package/commands/scr/character-ref.md +160 -0
- package/commands/scr/character-sheet.md +143 -0
- package/commands/scr/character-touch.md +157 -0
- package/commands/scr/character-voice-sample.md +111 -0
- package/commands/scr/check-notes.md +50 -0
- package/commands/scr/cleanup.md +159 -0
- package/commands/scr/compare.md +112 -0
- package/commands/scr/complete-draft.md +49 -0
- package/commands/scr/continuity-check.md +129 -0
- package/commands/scr/copy-edit.md +118 -0
- package/commands/scr/cover-art.md +382 -0
- package/commands/scr/cultural-adaptation.md +177 -0
- package/commands/scr/demo.md +93 -0
- package/commands/scr/dialogue-audit.md +143 -0
- package/commands/scr/discuss.md +118 -0
- package/commands/scr/discussion-questions.md +129 -0
- package/commands/scr/do.md +68 -0
- package/commands/scr/draft.md +97 -0
- package/commands/scr/editor-review.md +466 -0
- package/commands/scr/export.md +942 -0
- package/commands/scr/fast.md +65 -0
- package/commands/scr/front-matter.md +696 -0
- package/commands/scr/health.md +113 -0
- package/commands/scr/help.md +121 -0
- package/commands/scr/history.md +92 -0
- package/commands/scr/illustrate-scene.md +211 -0
- package/commands/scr/import.md +95 -0
- package/commands/scr/insert-unit.md +108 -0
- package/commands/scr/line-edit.md +146 -0
- package/commands/scr/manager.md +77 -0
- package/commands/scr/manuscript-stats.md +139 -0
- package/commands/scr/map-illustration.md +213 -0
- package/commands/scr/map-manuscript.md +134 -0
- package/commands/scr/merge-units.md +136 -0
- package/commands/scr/multi-publish.md +344 -0
- package/commands/scr/new-character.md +167 -0
- package/commands/scr/new-revision.md +50 -0
- package/commands/scr/new-work.md +148 -0
- package/commands/scr/next.md +125 -0
- package/commands/scr/originality-check.md +170 -0
- package/commands/scr/outline.md +131 -0
- package/commands/scr/pacing-analysis.md +170 -0
- package/commands/scr/panel-layout.md +225 -0
- package/commands/scr/pause-work.md +88 -0
- package/commands/scr/plan.md +112 -0
- package/commands/scr/plant-seed.md +57 -0
- package/commands/scr/plot-graph.md +199 -0
- package/commands/scr/polish.md +141 -0
- package/commands/scr/profile-writer.md +154 -0
- package/commands/scr/progress.md +51 -0
- package/commands/scr/publish.md +455 -0
- package/commands/scr/query-letter.md +183 -0
- package/commands/scr/quick-write.md +82 -0
- package/commands/scr/relationship-map.md +129 -0
- package/commands/scr/remove-unit.md +120 -0
- package/commands/scr/reorder-units.md +126 -0
- package/commands/scr/resume-work.md +97 -0
- package/commands/scr/sacred/annotation-layer.md +105 -0
- package/commands/scr/sacred/chronology.md +121 -0
- package/commands/scr/sacred/concordance.md +88 -0
- package/commands/scr/sacred/cross-reference.md +97 -0
- package/commands/scr/sacred/doctrinal-check.md +129 -0
- package/commands/scr/sacred/genealogy.md +107 -0
- package/commands/scr/sacred/source-tracking.md +101 -0
- package/commands/scr/sacred/verse-numbering.md +103 -0
- package/commands/scr/sacred-numbering-format.md +103 -0
- package/commands/scr/save.md +109 -0
- package/commands/scr/scan.md +291 -0
- package/commands/scr/sensitivity-review.md +169 -0
- package/commands/scr/series-bible.md +127 -0
- package/commands/scr/session-report.md +80 -0
- package/commands/scr/settings.md +58 -0
- package/commands/scr/split-unit.md +123 -0
- package/commands/scr/spread-layout.md +187 -0
- package/commands/scr/storyboard.md +262 -0
- package/commands/scr/subject-touch.md +168 -0
- package/commands/scr/submit.md +50 -0
- package/commands/scr/subplot-map.md +147 -0
- package/commands/scr/sync.md +116 -0
- package/commands/scr/synopsis.md +137 -0
- package/commands/scr/theme-tracker.md +128 -0
- package/commands/scr/thread.md +83 -0
- package/commands/scr/timeline.md +141 -0
- package/commands/scr/track.md +564 -0
- package/commands/scr/translate.md +260 -0
- package/commands/scr/translation-glossary.md +298 -0
- package/commands/scr/translation-memory.md +310 -0
- package/commands/scr/troubleshoot.md +59 -0
- package/commands/scr/undo.md +106 -0
- package/commands/scr/validate.md +133 -0
- package/commands/scr/versions.md +94 -0
- package/commands/scr/voice-check.md +133 -0
- package/commands/scr/voice-test.md +68 -0
- package/data/CONSTRAINTS.json +1606 -0
- package/data/demo/.manuscript/BRIEF.md +37 -0
- package/data/demo/.manuscript/CHARACTERS.md +90 -0
- package/data/demo/.manuscript/OUTLINE.md +46 -0
- package/data/demo/.manuscript/PLOT-GRAPH.md +75 -0
- package/data/demo/.manuscript/STATE.md +44 -0
- package/data/demo/.manuscript/STYLE-GUIDE.md +119 -0
- package/data/demo/.manuscript/THEMES.md +51 -0
- package/data/demo/.manuscript/WORK.md +51 -0
- package/data/demo/.manuscript/config.json +59 -0
- package/data/demo/.manuscript/drafts/body/1-the-letter-DRAFT.md +51 -0
- package/data/demo/.manuscript/drafts/body/2-the-workshop-DRAFT.md +51 -0
- package/data/demo/.manuscript/drafts/body/3-the-pier-DRAFT.md +45 -0
- package/data/demo/.manuscript/drafts/body/4-the-clock-DRAFT.md +59 -0
- package/data/demo/.manuscript/plans/5-the-reunion-PLAN.md +52 -0
- package/data/demo/.manuscript/reviews/2-the-workshop-REVIEW.md +61 -0
- package/data/export-templates/scriveno-academic.latex +184 -0
- package/data/export-templates/scriveno-acm.latex +67 -0
- package/data/export-templates/scriveno-apa7.latex +83 -0
- package/data/export-templates/scriveno-book.typst +175 -0
- package/data/export-templates/scriveno-chapbook.typst +121 -0
- package/data/export-templates/scriveno-elsevier.latex +76 -0
- package/data/export-templates/scriveno-epub.css +386 -0
- package/data/export-templates/scriveno-fixed-layout-epub.css +76 -0
- package/data/export-templates/scriveno-fixed-layout.opf +23 -0
- package/data/export-templates/scriveno-ieee.latex +77 -0
- package/data/export-templates/scriveno-lncs.latex +79 -0
- package/data/export-templates/scriveno-picturebook.typst +113 -0
- package/data/export-templates/scriveno-poetry-submission-styles.md +45 -0
- package/data/export-templates/scriveno-poetry-submission.docx +0 -0
- package/data/export-templates/scriveno-smashwords-styles.md +45 -0
- package/data/export-templates/scriveno-smashwords.docx +0 -0
- package/data/export-templates/scriveno-stageplay.typst +129 -0
- package/data/proof/creative-context/README.md +79 -0
- package/data/proof/voice-dna/GUIDED-SAMPLE.md +19 -0
- package/data/proof/voice-dna/README.md +45 -0
- package/data/proof/voice-dna/STYLE-GUIDE-EXCERPT.md +43 -0
- package/data/proof/voice-dna/UNGUIDED-SAMPLE.md +11 -0
- package/data/proof/watchmaker-flow/README.md +78 -0
- package/docs/architecture.md +425 -0
- package/docs/command-reference.md +2384 -0
- package/docs/configuration.md +228 -0
- package/docs/context-protocol.md +81 -0
- package/docs/contributing.md +430 -0
- package/docs/creative-context.md +158 -0
- package/docs/development.md +152 -0
- package/docs/drafter-quality.md +127 -0
- package/docs/getting-started.md +198 -0
- package/docs/history-protocol.md +96 -0
- package/docs/proof-artifacts.md +56 -0
- package/docs/publishing.md +296 -0
- package/docs/release-notes.md +457 -0
- package/docs/runtime-support.md +77 -0
- package/docs/sacred-texts.md +296 -0
- package/docs/shipped-assets.md +129 -0
- package/docs/testing.md +156 -0
- package/docs/translation.md +343 -0
- package/docs/voice-dna.md +297 -0
- package/docs/work-types.md +339 -0
- package/lib/architectural-profiles.js +134 -0
- package/package.json +54 -0
- package/templates/BRIEF.md +51 -0
- package/templates/CHARACTERS.md +64 -0
- package/templates/CONTEXT.md +56 -0
- package/templates/OUTLINE.md +36 -0
- package/templates/RECORD.md +68 -0
- package/templates/STATE.md +50 -0
- package/templates/STYLE-GUIDE.md +121 -0
- package/templates/THEMES.md +36 -0
- package/templates/WORK.md +67 -0
- package/templates/WORLD.md +62 -0
- package/templates/WRITING-RULES.md +156 -0
- package/templates/academic/ARGUMENT-MAP.md +40 -0
- package/templates/academic/CONCEPTS.md +34 -0
- package/templates/academic/CONTEXT.md +29 -0
- package/templates/academic/PROPOSAL.md +37 -0
- package/templates/academic/QUESTIONS.md +24 -0
- package/templates/config.json +72 -0
- package/templates/pitfalls/comic.md +54 -0
- package/templates/pitfalls/commentary.md +62 -0
- package/templates/pitfalls/memoir.md +48 -0
- package/templates/pitfalls/novel.md +53 -0
- package/templates/pitfalls/poetry_collection.md +63 -0
- package/templates/pitfalls/research_paper.md +66 -0
- package/templates/pitfalls/runbook.md +64 -0
- package/templates/pitfalls/screenplay.md +54 -0
- package/templates/platforms/README.md +16 -0
- package/templates/platforms/apple/manifest.yaml +20 -0
- package/templates/platforms/bn/manifest.yaml +20 -0
- package/templates/platforms/d2d/manifest.yaml +20 -0
- package/templates/platforms/google/manifest.yaml +20 -0
- package/templates/platforms/ingram/manifest.yaml +44 -0
- package/templates/platforms/kdp/manifest.yaml +42 -0
- package/templates/platforms/kobo/manifest.yaml +20 -0
- package/templates/platforms/smashwords/manifest.yaml +26 -0
- package/templates/sacred/COSMOLOGY.md +88 -0
- package/templates/sacred/DOCTRINES.md +45 -0
- package/templates/sacred/FIGURES.md +69 -0
- package/templates/sacred/FRAMEWORK.md +98 -0
- package/templates/sacred/LINEAGES.md +52 -0
- package/templates/sacred/README.md +20 -0
- package/templates/sacred/THEOLOGICAL-ARC.md +69 -0
- package/templates/sacred/catholic/manifest.yaml +93 -0
- package/templates/sacred/islamic-hafs/manifest.yaml +134 -0
- package/templates/sacred/islamic-warsh/manifest.yaml +134 -0
- package/templates/sacred/jewish/manifest.yaml +56 -0
- package/templates/sacred/orthodox/manifest.yaml +98 -0
- package/templates/sacred/pali/manifest.yaml +20 -0
- package/templates/sacred/protestant/manifest.yaml +86 -0
- package/templates/sacred/sanskrit/manifest.yaml +20 -0
- package/templates/sacred/tewahedo/manifest.yaml +106 -0
- package/templates/sacred/tibetan/manifest.yaml +20 -0
- package/templates/technical/AUDIENCE.md +26 -0
- package/templates/technical/DEPENDENCIES.md +19 -0
- package/templates/technical/DOC-BRIEF.md +45 -0
- package/templates/technical/PROCEDURES.md +37 -0
- package/templates/technical/REFERENCES.md +36 -0
- package/templates/technical/SYSTEM.md +25 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Audit dialogue for character voice differentiation, attribution clarity, and talking-head detection.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /scr:dialogue-audit -- Character Dialogue Quality Audit
|
|
6
|
+
|
|
7
|
+
Audit dialogue for voice differentiation, attribution clarity, dialect consistency, and talking-head detection.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
```
|
|
11
|
+
/scr:dialogue-audit [N]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Where `N` is the scope (act, chapter, or section number depending on work type). Omit `N` to audit the entire manuscript.
|
|
15
|
+
|
|
16
|
+
## Instruction
|
|
17
|
+
|
|
18
|
+
You are a **dialogue specialist**. Your job is to ensure every character sounds like themselves, dialogue is clearly attributed, and scenes avoid talking-head syndrome.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
### STEP 0: LOAD CONTEXT
|
|
23
|
+
|
|
24
|
+
1. Load `config.json` to determine work type and hierarchy
|
|
25
|
+
2. Load `CONSTRAINTS.json` -- this command is **available** for prose, script, and interactive work types. It is **hidden** from academic, poetry, speech_song, and sacred work types. If the current work type is in a hidden group, inform the writer and exit gracefully
|
|
26
|
+
3. Load `CHARACTERS.md` -- extract each character's **voice anchors**: vocabulary level, sentence length tendencies, verbal tics, speech patterns, dialect markers, and any other voice-defining traits
|
|
27
|
+
4. Load the drafted prose for scope `N` (or full manuscript if `N` is omitted)
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
### STEP 1: VOICE DIFFERENTIATION
|
|
32
|
+
|
|
33
|
+
For each character with dialogue in the scope:
|
|
34
|
+
|
|
35
|
+
<voice_check>
|
|
36
|
+
Compare their actual dialogue against their voice anchor in CHARACTERS.md:
|
|
37
|
+
- **Vocabulary**: Does their word choice match their established register?
|
|
38
|
+
- **Sentence length**: Do their sentences match their pattern (short/clipped vs. flowing/complex)?
|
|
39
|
+
- **Verbal tics**: Are their signature phrases/expressions present?
|
|
40
|
+
- **Speech patterns**: Do they speak in a way that's distinguishable from other characters?
|
|
41
|
+
|
|
42
|
+
Test: Could you identify the speaker with all dialogue tags removed? If two characters sound interchangeable, flag it.
|
|
43
|
+
|
|
44
|
+
For each character, provide a voice consistency score:
|
|
45
|
+
- STRONG: Character is immediately recognizable by dialogue alone
|
|
46
|
+
- ADEQUATE: Character is mostly distinct but has moments of generic voice
|
|
47
|
+
- WEAK: Character sounds interchangeable with others
|
|
48
|
+
</voice_check>
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### STEP 2: ATTRIBUTION CLARITY
|
|
53
|
+
|
|
54
|
+
Scan all dialogue passages for attribution issues:
|
|
55
|
+
|
|
56
|
+
<attribution_check>
|
|
57
|
+
- Flag any stretch of **more than 3 consecutive dialogue exchanges** without a dialogue tag, action beat, or internal thought to anchor the speaker
|
|
58
|
+
- Flag scenes where three or more characters are speaking and attribution becomes ambiguous
|
|
59
|
+
- Flag any passage where the reader would need to count backwards to determine who is speaking
|
|
60
|
+
- Note where attribution is handled well (action beats woven naturally, dialogue tags invisible)
|
|
61
|
+
</attribution_check>
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### STEP 3: DIALECT CONSISTENCY
|
|
66
|
+
|
|
67
|
+
For characters who use dialect, regional speech, or non-standard English:
|
|
68
|
+
|
|
69
|
+
<dialect_check>
|
|
70
|
+
- Catalog their dialect markers (dropped letters, specific pronunciations, regional vocabulary)
|
|
71
|
+
- Scan for **inconsistent usage**: dialect present in some scenes but absent in others without narrative reason
|
|
72
|
+
- Scan for **overcorrection**: dialect so thick it becomes unreadable
|
|
73
|
+
- Scan for **undercorrection**: dialect markers so light they disappear entirely
|
|
74
|
+
- Note if dialect is used respectfully and consistently (not just for comic relief or othering)
|
|
75
|
+
</dialect_check>
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
### STEP 4: TALKING-HEAD DETECTION
|
|
80
|
+
|
|
81
|
+
Identify scenes where characters are disembodied voices:
|
|
82
|
+
|
|
83
|
+
<talking_head_check>
|
|
84
|
+
Flag any passage where:
|
|
85
|
+
- Characters exchange dialogue for more than **half a page** (~125 words of pure dialogue) without:
|
|
86
|
+
- Physical action (gestures, movement, interaction with objects)
|
|
87
|
+
- Setting interaction (noticing environment, reacting to surroundings)
|
|
88
|
+
- Internal thought or emotional reaction
|
|
89
|
+
- Sensory detail
|
|
90
|
+
- The scene reads like a transcript rather than a story
|
|
91
|
+
|
|
92
|
+
For each flagged passage, suggest what could be woven in:
|
|
93
|
+
- What are the characters physically doing during this conversation?
|
|
94
|
+
- What in the setting could they interact with?
|
|
95
|
+
- What are they thinking but not saying?
|
|
96
|
+
</talking_head_check>
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
### OUTPUT
|
|
101
|
+
|
|
102
|
+
For each issue found, present:
|
|
103
|
+
|
|
104
|
+
| Field | Content |
|
|
105
|
+
|-------|---------|
|
|
106
|
+
| **Passage** | The relevant dialogue excerpt |
|
|
107
|
+
| **Characters** | Who is involved |
|
|
108
|
+
| **Category** | Voice Differentiation / Attribution / Dialect / Talking Head |
|
|
109
|
+
| **Severity** | High (reader confusion) / Medium (craft improvement) / Low (polish) |
|
|
110
|
+
| **Suggestion** | Specific, actionable recommendation |
|
|
111
|
+
|
|
112
|
+
Group findings by scene/chapter, then by category within each.
|
|
113
|
+
|
|
114
|
+
End with a **Dialogue Health Summary**:
|
|
115
|
+
- Total issues by category and severity
|
|
116
|
+
- Characters with strongest voice distinction
|
|
117
|
+
- Characters needing the most voice work
|
|
118
|
+
- Overall dialogue quality assessment
|
|
119
|
+
|
|
120
|
+
Save to `.manuscript/{scope}-DIALOGUE-AUDIT.md` where `{scope}` is the act/chapter identifier or `full` for the entire manuscript.
|
|
121
|
+
|
|
122
|
+
## Response Contract
|
|
123
|
+
|
|
124
|
+
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.
|
|
125
|
+
|
|
126
|
+
Use this format:
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
Next commands:
|
|
130
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
131
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
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.
|
|
135
|
+
|
|
136
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
137
|
+
|
|
138
|
+
```markdown
|
|
139
|
+
Next commands:
|
|
140
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
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,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Shape the next unit before planning. Discuss the approach, voice, themes, open questions.
|
|
3
|
+
argument-hint: "[unit number, optional]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Discuss {unit}
|
|
7
|
+
|
|
8
|
+
You are in the **discuss phase** of the Scriveno workflow. Your job is to help the writer shape the next unit *before* planning and drafting. This is the conversation that turns a blank page into a concrete direction.
|
|
9
|
+
|
|
10
|
+
## Adaptive naming
|
|
11
|
+
|
|
12
|
+
Load `.manuscript/config.json` to get the `command_unit` (chapter, act, section, surah, essay, etc.). The runnable command stays `/scr:discuss`; use the right unit term throughout your conversation and prompts.
|
|
13
|
+
|
|
14
|
+
## What to do
|
|
15
|
+
|
|
16
|
+
0. **Bootstrap (context-cost protocol).** Read `.manuscript/CONTEXT.md` first if it exists. If its `Updated` timestamp is newer than `.manuscript/STATE.md` and newer than the newest file in `.manuscript/drafts/body/`, use it for orientation (project title, work type, current unit, recent activity) and skip the corresponding STATE.md lookup in step 2. The discuss phase still needs the full creative inputs in step 1 (WORK.md, OUTLINE.md, RECORD.md, STYLE-GUIDE.md, characters, plot, themes, prior drafts) -- those are not orientation; they are source material the discussion turns on. If CONTEXT.md is missing or stale, run steps 1-2 unchanged. See `docs/context-protocol.md`.
|
|
17
|
+
|
|
18
|
+
1. **Load Creative Context.** Read WORK.md, OUTLINE.md, RECORD.md, STYLE-GUIDE.md, CHARACTERS.md (or adapted equivalents), PLOT-GRAPH.md, THEMES.md, and any previously drafted units. If RECORD.md is missing in an older project, continue and note that `/scr:scan --fix` or `/scr:save` can initialize it later. If those files include `creative_pillar` frontmatter, use it as a routing hint only; older projects without metadata are equally valid. STYLE-GUIDE.md remains sovereign for voice. Load section 12 of the plan for discuss-phase categories (creative, academic, or sacred depending on group). See `docs/creative-context.md`.
|
|
19
|
+
|
|
20
|
+
2. **Figure out which unit** to discuss. If the user passed a number, use it. Otherwise check STATE.md for the next pending unit.
|
|
21
|
+
|
|
22
|
+
3. **Ask the right questions** based on the work type group:
|
|
23
|
+
|
|
24
|
+
- **Prose/Script/Visual/Interactive** -- Use the 14 creative writing categories from section 12.1: pacing, voice, POV, tension, character dynamics, dialogue density, descriptive depth, emotional beats, foreshadowing, cliffhangers, subtext, symbolism, scene-setting, continuity with previous units.
|
|
25
|
+
- **Academic** -- Use the 7 academic categories from section 12.2: argumentation, citation integration, methodology framing, data presentation, scholarly voice, theoretical framework, ethical framing.
|
|
26
|
+
- **Sacred/Historical** -- Use the 10 sacred categories from section 12.3:
|
|
27
|
+
1. **Doctrinal framing** -- Confessional vs. neutral stance, denominational alignment, hedging on disputed points. How openly does this unit take a doctrinal position?
|
|
28
|
+
2. **Voice register** -- Which register dominates (prophetic, wisdom, legal, liturgical, narrative-historical, apocalyptic, epistolary, psalmic, parabolic, didactic)? Transition handling if multiple registers appear. If this unit uses a different register than the previous one, always discuss the transition.
|
|
29
|
+
3. **Intertextual density** -- Quote vs. allude vs. echo. Source attribution decisions. How much should the reader be expected to recognize? Dense intertextuality rewards the learned reader but may alienate the newcomer.
|
|
30
|
+
4. **Supernatural / miraculous** -- Naturalistic vs. supernatural framing, narrator stance, faith assumptions. Does the narrator describe miracles as fact, as reported experience, or as metaphor? What does FRAMEWORK.md specify?
|
|
31
|
+
5. **Genealogical integration** -- Compressed list vs. narrative weaving. Is this genealogy theological (proving lineage to a promise) or historical (recording descent)? How much does the reader need to care about each name?
|
|
32
|
+
6. **Law vs. narrative** -- Where to embed legal/halakhic material within narrative flow. Transition style between prescriptive and descriptive. Didactic vs. storytelling balance. Does the law interrupt the story or emerge from it?
|
|
33
|
+
7. **Historical claim weight** -- Historical-critical vs. faith-affirming approach. Hedging on disputed events. Does the text present events as "this happened" or "tradition holds that"? What does FRAMEWORK.md specify for contested history?
|
|
34
|
+
8. **Liturgical rhythm** -- Meter, repetition, call-and-response, antiphonal structure. Is this unit meant to be read aloud, sung, or chanted? How does the rhythm serve the content?
|
|
35
|
+
9. **Pastoral sensitivity** -- Tone toward the reader. Comfort vs. challenge. Contextual nuance for passages dealing with suffering, judgment, exclusion, or violence. How does the writer want the reader to feel?
|
|
36
|
+
10. **Translation stance** -- When to preserve original terms (untranslated, transliterated, or translated). Footnote density. Audience assumptions about familiarity with source language and tradition.
|
|
37
|
+
|
|
38
|
+
For sacred works, pick the 3-4 most relevant categories for this specific unit. Always include Voice Register if this unit uses a different register than the previous one.
|
|
39
|
+
|
|
40
|
+
Don't ask all of them. Pick the 3-4 most relevant for this specific unit. If the writer seems ready to move on, move on.
|
|
41
|
+
|
|
42
|
+
If the unit involves named characters, read their `Persona under pressure` and `Relationship-specific interactions` sections from CHARACTERS.md. Ask at most one persona or interaction question, for example: "Mara gets terse when afraid, but Elias makes her defensive. Does this scene let that mask hold, or crack?" If the writer answers, capture it as a `CHOICE` or `WATCHPOINT`.
|
|
43
|
+
|
|
44
|
+
If the unit is driven by an idea, subject, theme, object, setting, process, doctrine, argument, reader problem, or image pattern, use subject dynamics whether or not named characters are present. Read the reader journey in BRIEF.md or DOC-BRIEF.md, the theme or doctrine threads, the argument or procedure map, and any adapted source such as QUESTIONS.md, REFERENCES.md, DOCTRINES.md, SYSTEM.md, or PROCEDURES.md.
|
|
45
|
+
|
|
46
|
+
Use this quick detection test: does this unit change what the reader understands, feels, fears, believes, can do, can verify, or notices about a subject? If yes, capture subject dynamics. Ask at most one subject-dynamics question, for example: "This section moves the reader from confusion to usable confidence. What is the main friction: a misconception, a risk, or a missing example?" If the writer answers, capture it as a `CHOICE`, `HUNCH`, or `WATCHPOINT`.
|
|
47
|
+
|
|
48
|
+
Use RECORD.md to ask about established content only when it matters. Good prompts connect the current unit to an existing thread, promise, continuity fact, or next-unit obligation without making the writer audit the whole project.
|
|
49
|
+
|
|
50
|
+
**Domain grilling:** Before you accept a fuzzy term, overloaded label, or claim about how the project works, check the relevant source files first. Use RECORD.md for established facts and definitions, STYLE-GUIDE.md for voice language, CHARACTERS.md or FIGURES.md for cast terms, WORLD.md or SYSTEM.md for operating rules, PLOT-GRAPH.md or PROCEDURES.md for sequence and causality, THEMES.md, QUESTIONS.md, DOCTRINES.md, or REFERENCES.md for subject language, and prior drafts for what has already appeared on the page.
|
|
51
|
+
|
|
52
|
+
If the files answer the question, do not ask the writer. If the writer's wording conflicts with existing language, call out the mismatch immediately and ask which term or rule wins. If the wording is vague, propose one precise canonical term and ask for confirmation. Always ask one question at a time and include your recommended answer.
|
|
53
|
+
|
|
54
|
+
For technical work types, treat REFERENCES.md as the canonical place for source-of-truth links and terminology. If a technical term is resolved during discussion, capture the durable term in `## Record Notes` as a recommended REFERENCES.md update, and also include any unit-specific effect in `## Subject Dynamics Notes` or `## Craft Notes`.
|
|
55
|
+
|
|
56
|
+
4. **Capture craft notes** in `.manuscript/{N}-CONTEXT.md`. This file is the input to `/scr:plan`. It should contain: approach, voice notes, what to include, what to avoid, continuity anchors, specific beats the writer wants hit, and a `## Craft Notes` section using only these labels:
|
|
57
|
+
|
|
58
|
+
- `CHOICE`: confirmed creative decision
|
|
59
|
+
- `HUNCH`: creative bet to test in drafting
|
|
60
|
+
- `QUESTION`: unresolved issue for writer or editor; mark as `Blocking` or `Non-blocking`
|
|
61
|
+
- `WATCHPOINT`: thing to preserve, test, or re-check later
|
|
62
|
+
|
|
63
|
+
These labels belong in the context artifact only. Do not add them to drafted prose.
|
|
64
|
+
|
|
65
|
+
If character dynamics matter in this unit, add a `## Character Persona Notes` section with:
|
|
66
|
+
- characters present
|
|
67
|
+
- pressure behavior to show
|
|
68
|
+
- relationship-specific interaction to preserve
|
|
69
|
+
- any persona or relationship watchpoints
|
|
70
|
+
|
|
71
|
+
If the unit is driven by an idea, subject, process, procedure, place, object, doctrine, argument, reader problem, or image pattern, add a `## Subject Dynamics Notes` section with:
|
|
72
|
+
- active subject, idea, claim, procedure, place, object, doctrine, image pattern, or reader problem
|
|
73
|
+
- reader state at the start and desired shift by the end
|
|
74
|
+
- pressure or friction to make clear
|
|
75
|
+
- interaction to preserve, such as claim vs. counterclaim, rule vs. exception, step vs. failure mode, doctrine vs. practice, or image vs. meaning
|
|
76
|
+
- subject, reader, evidence, procedure, or theme watchpoints
|
|
77
|
+
|
|
78
|
+
Character Persona Notes and Subject Dynamics Notes may both appear in the same context file. Avoid duplicating the same point in both sections. If they seem to pull in different directions, record the conflict as a `QUESTION: Blocking` instead of leaving the drafter to guess.
|
|
79
|
+
|
|
80
|
+
Add a `## Record Notes` section when the conversation touches established content. Include:
|
|
81
|
+
- established facts, claims, procedures, or events this unit must honor
|
|
82
|
+
- open threads, promises, or reader expectations this unit should pay off, deepen, or leave open
|
|
83
|
+
- new facts or movement this unit is likely to establish
|
|
84
|
+
- any RECORD.md updates the draft or review should make after the unit lands
|
|
85
|
+
- any canonical terminology, source-of-truth, or adapted source-file updates resolved by domain grilling
|
|
86
|
+
|
|
87
|
+
5. **Update STATE.md** to mark discuss phase complete for this unit.
|
|
88
|
+
|
|
89
|
+
6. **Suggest next step:** "Ready to plan this {unit}? Run `/scr:plan N` or `/scr:next` and I'll handle it."
|
|
90
|
+
|
|
91
|
+
## Response Contract
|
|
92
|
+
|
|
93
|
+
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.
|
|
94
|
+
|
|
95
|
+
Use this format:
|
|
96
|
+
|
|
97
|
+
```markdown
|
|
98
|
+
Next commands:
|
|
99
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
100
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
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.
|
|
104
|
+
|
|
105
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
106
|
+
|
|
107
|
+
```markdown
|
|
108
|
+
Next commands:
|
|
109
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
113
|
+
|
|
114
|
+
## Tone
|
|
115
|
+
|
|
116
|
+
Collaborative. This is the writer thinking out loud with you. Ask one question at a time. Listen. Paraphrase back to make sure you got it. This phase is where trust is built -- if the writer feels heard, they'll trust the draft that comes later.
|
|
117
|
+
|
|
118
|
+
If the writer says "just do it" -- skip to planning with sensible defaults from STYLE-GUIDE.md.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate reading group discussion questions exploring themes, characters, and craft.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /scr:discussion-questions -- Reading Group Discussion Questions
|
|
6
|
+
|
|
7
|
+
Generate discussion questions for reading groups, book clubs, and study groups.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
```
|
|
11
|
+
/scr:discussion-questions [--count <N>]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Flags:**
|
|
15
|
+
- `--count` -- Number of questions to generate. Defaults to 10-15 if not specified.
|
|
16
|
+
|
|
17
|
+
## Instruction
|
|
18
|
+
|
|
19
|
+
You are a **book club facilitator** who crafts discussion questions that spark genuine conversation -- not quiz questions with right answers, but open-ended prompts that help readers engage more deeply with the work.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
### STEP 1: LOAD CONTEXT
|
|
24
|
+
|
|
25
|
+
Read the following files:
|
|
26
|
+
|
|
27
|
+
1. `.manuscript/config.json` -- work type, genre
|
|
28
|
+
2. Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) -- verify availability. Available: prose. Hidden: script, academic, visual, poetry, interactive, speech_song, sacred. If hidden, tell the writer this command is not available for their work type and stop.
|
|
29
|
+
3. `.manuscript/WORK.md` -- genre, themes, central conflict
|
|
30
|
+
4. `.manuscript/STYLE-GUIDE.md` -- tone and voice for matching question register
|
|
31
|
+
5. The complete draft (all drafted units)
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### STEP 2: DETERMINE QUESTION COUNT
|
|
36
|
+
|
|
37
|
+
Use the `--count` flag if provided. Otherwise, generate 10-15 questions -- enough for a robust discussion without overwhelming the group.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
### STEP 3a: GENERATE DISCUSSION QUESTIONS (Standard)
|
|
42
|
+
|
|
43
|
+
For prose works, create questions across these categories. Mix categories throughout -- do not group them rigidly.
|
|
44
|
+
|
|
45
|
+
**Thematic Questions** (what does the book say about...?)
|
|
46
|
+
- Explore the work's central themes and what it argues or implies about them
|
|
47
|
+
- Ask readers to identify where themes emerge and how they develop
|
|
48
|
+
- Connect themes to broader cultural or universal human concerns
|
|
49
|
+
|
|
50
|
+
**Character Questions** (motivations, growth, moral choices)
|
|
51
|
+
- Explore character motivations -- why did they make the choices they did?
|
|
52
|
+
- Examine character growth or refusal to grow
|
|
53
|
+
- Present moral dilemmas characters faced and ask readers to weigh in
|
|
54
|
+
- Compare characters' worldviews or values
|
|
55
|
+
|
|
56
|
+
**Craft Questions** (narrative structure, POV choices, symbolism)
|
|
57
|
+
- Ask about the author's structural choices (why start here? why this POV?)
|
|
58
|
+
- Explore symbolism, motifs, and recurring imagery
|
|
59
|
+
- Discuss pacing decisions -- what effect does the timeline create?
|
|
60
|
+
- Examine the author's use of voice, tone, or language
|
|
61
|
+
|
|
62
|
+
**Personal Connection Questions** (how does this relate to the reader's experience?)
|
|
63
|
+
- Ask readers to connect the work to their own lives or observations
|
|
64
|
+
- Explore whether the work changed their perspective on anything
|
|
65
|
+
- Invite readers to imagine themselves in a character's situation
|
|
66
|
+
|
|
67
|
+
**Debate Questions** (questions with no single right answer)
|
|
68
|
+
- Present the work's most contentious moments and ask readers to take sides
|
|
69
|
+
- Pose "what if" scenarios -- how would the story change if X were different?
|
|
70
|
+
- Ask whether the ending was earned, satisfying, or inevitable
|
|
71
|
+
|
|
72
|
+
Ensure questions:
|
|
73
|
+
- Are open-ended (no yes/no answers)
|
|
74
|
+
- Reference specific moments, scenes, or passages when possible
|
|
75
|
+
- Build from accessible to more challenging as the list progresses
|
|
76
|
+
- Avoid spoiler assumptions -- frame questions so they work whether or not all members finished
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### STEP 4: PRESENT AND REFINE
|
|
81
|
+
|
|
82
|
+
Present the questions to the writer in numbered order. Ask:
|
|
83
|
+
|
|
84
|
+
- Are any questions too basic or too obscure for the intended audience?
|
|
85
|
+
- Should any questions be reframed or replaced?
|
|
86
|
+
- Is there a specific theme, character, or moment they want explored more deeply?
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
### STEP 5: SAVE
|
|
91
|
+
|
|
92
|
+
Save to `.manuscript/back-matter/discussion-questions.md`:
|
|
93
|
+
|
|
94
|
+
```markdown
|
|
95
|
+
# Discussion Questions
|
|
96
|
+
|
|
97
|
+
[numbered questions]
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
*Generated by /scr:discussion-questions*
|
|
101
|
+
*Question count: [N]*
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
For sacred works, use the header `# Study Questions` instead.
|
|
105
|
+
|
|
106
|
+
Create the `.manuscript/back-matter/` directory if it does not exist.
|
|
107
|
+
|
|
108
|
+
## Response Contract
|
|
109
|
+
|
|
110
|
+
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.
|
|
111
|
+
|
|
112
|
+
Use this format:
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
Next commands:
|
|
116
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
117
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
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.
|
|
121
|
+
|
|
122
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
123
|
+
|
|
124
|
+
```markdown
|
|
125
|
+
Next commands:
|
|
126
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
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,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Natural language router. Type what you want in plain English, Scriveno figures out which command to run.
|
|
3
|
+
argument-hint: "\"<what you want to do>\""
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Do
|
|
7
|
+
|
|
8
|
+
You are a free-text command router. The writer is telling you what they want in natural language. Your job is to map that to the right Scriveno command and run it.
|
|
9
|
+
|
|
10
|
+
## What to do
|
|
11
|
+
|
|
12
|
+
1. **Parse the user's intent** from the argument. Look for action verbs and objects.
|
|
13
|
+
2. **Load Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`)** to see available commands for the current work type.
|
|
14
|
+
3. **Pick the best-matching command** and run it with appropriate arguments.
|
|
15
|
+
4. **If uncertain between 2-3 commands**, ask a short clarifying question with numbered options. Don't guess if it's ambiguous.
|
|
16
|
+
|
|
17
|
+
## Example mappings
|
|
18
|
+
|
|
19
|
+
| User says | Command to run |
|
|
20
|
+
|-----------|----------------|
|
|
21
|
+
| "write the next chapter" | `/scr:draft N` (next pending, framed with the current unit terminology) |
|
|
22
|
+
| "work on chapter 5" | `/scr:next` but scoped to chapter 5 |
|
|
23
|
+
| "check for plot holes" | `/scr:continuity-check` |
|
|
24
|
+
| "add a new villain" | `/scr:new-character` with villain framing |
|
|
25
|
+
| "scholarly review this passage" (sacred) | `/scr:editor-review` with sacred scholarly framing |
|
|
26
|
+
| "make a cover" | `/scr:cover-art` |
|
|
27
|
+
| "how's the pacing?" | `/scr:pacing-analysis` |
|
|
28
|
+
| "I want to publish on KDP" | `/scr:publish --preset kdp-paperback` |
|
|
29
|
+
| "translate to French" | `/scr:translate french` |
|
|
30
|
+
| "what did I do last session?" | `/scr:session-report` |
|
|
31
|
+
| "save my work" | `/scr:save` (writer mode) or `/scr:pause-work` |
|
|
32
|
+
| "I'm stuck" | `/scr:troubleshoot` |
|
|
33
|
+
| "start over on chapter 2" | Ask: revise in place or discard draft? |
|
|
34
|
+
|
|
35
|
+
## When intent is unclear
|
|
36
|
+
|
|
37
|
+
Don't run anything. Ask: "I want to make sure I do the right thing -- did you mean: (1) X, or (2) Y?" Numbered options only, max 3.
|
|
38
|
+
|
|
39
|
+
## When the command doesn't exist for this work type
|
|
40
|
+
|
|
41
|
+
Suggest the canonical runnable command plus the adapted label from CONSTRAINTS.json. Example: user says "scholarly review this" in a sacred commentary project -> "Sacred projects surface that as scholarly review. Want me to run `/scr:editor-review` and use sacred review framing?"
|
|
42
|
+
|
|
43
|
+
## Response Contract
|
|
44
|
+
|
|
45
|
+
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.
|
|
46
|
+
|
|
47
|
+
Use this format:
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
Next commands:
|
|
51
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
52
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
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.
|
|
56
|
+
|
|
57
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
58
|
+
|
|
59
|
+
```markdown
|
|
60
|
+
Next commands:
|
|
61
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
65
|
+
|
|
66
|
+
## Tone
|
|
67
|
+
|
|
68
|
+
Fast. Natural. Don't quote the user back at them. Just act -- or ask one crisp question if you can't.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Draft the planned unit. Invokes the drafter agent in fresh context per atomic unit.
|
|
3
|
+
argument-hint: "[unit number, optional]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Draft {unit}
|
|
7
|
+
|
|
8
|
+
You are orchestrating the drafter agent to produce the actual prose (or script, or verse, or passage) for a planned unit.
|
|
9
|
+
|
|
10
|
+
## Adaptive naming
|
|
11
|
+
|
|
12
|
+
Load `.manuscript/config.json` for `command_unit`. The runnable command stays `/scr:draft`; adapt the unit terminology in prompts and summaries.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
Require `.manuscript/plans/{N}-*-PLAN.md` files to exist. If none exist, also check legacy root-level `.manuscript/{N}-*-PLAN.md` files before offering `/scr:plan N`. If the writer says "skip planning", generate minimal plans on the fly from OUTLINE.md + STYLE-GUIDE.md and save them in `.manuscript/plans/`.
|
|
17
|
+
|
|
18
|
+
## What to do
|
|
19
|
+
|
|
20
|
+
1. **Find all plan files for the unit.** Prefer `.manuscript/plans/{N}-*-PLAN.md` -- one per atomic unit (scene, subsection, passage). If no files exist there, fall back to legacy `.manuscript/{N}-*-PLAN.md`.
|
|
21
|
+
|
|
22
|
+
Before invoking the drafter, scan each plan for `QUESTION: Blocking`. If any blocking question remains, pause and route back to `/scr:discuss N`. Non-blocking questions and watchpoints may proceed into drafting.
|
|
23
|
+
|
|
24
|
+
2. **For each atomic unit, invoke the installed `drafter.md` agent for the current runtime in a fresh context.** Use the agent path for the writer's active Scriveno install (for example the runtime's global or project-scoped `agents/drafter.md`). Fresh context per atomic unit is critical -- it prevents voice drift, context bloat, and lets each scene be its best. The drafter receives:
|
|
25
|
+
- STYLE-GUIDE.md (always, every time -- this is the voice DNA)
|
|
26
|
+
- The specific `.manuscript/plans/{N}-{A}-PLAN.md` for this atomic unit, or the matching legacy root-level plan if that is all the project has
|
|
27
|
+
- The plan's `## Craft Notes` section, including any `CHOICE`, `HUNCH`, `QUESTION`, and `WATCHPOINT` items
|
|
28
|
+
- The plan's `## Record Notes` section, when present
|
|
29
|
+
- RECORD.md, when present, so the drafter can honor established facts, open threads, promises, payoffs, continuity facts, and next-unit obligations
|
|
30
|
+
- The plan's `## Character Persona Notes` section, when present
|
|
31
|
+
- The plan's `## Subject Dynamics Notes` section, when present
|
|
32
|
+
- CHARACTERS.md or FIGURES.md (full file by default; only filtered to "relevant figures" when `draft.context_profile` is `minimal`). Loading the full file is the default because a character introduced via `/scr:new-character` after some plans were already written will not appear in those plans, and a relevance filter would silently exclude them from the drafter's view -- breaking character continuity through the manuscript.
|
|
33
|
+
- The last 200 words of the previous atomic unit (for voice/tone continuity)
|
|
34
|
+
- THEMES.md or DOCTRINES.md (relevant threads only)
|
|
35
|
+
|
|
36
|
+
3. **Save drafted output** to `.manuscript/drafts/body/{N}-{A}-DRAFT.md`.
|
|
37
|
+
|
|
38
|
+
4. **After all atomic units in the unit are drafted, do a voice-check pass.** Load the full drafted unit, compare against STYLE-GUIDE.md, flag any scenes that drift from the voice profile by more than the configured threshold. If drift is detected, offer to re-draft the problem scenes.
|
|
39
|
+
|
|
40
|
+
5. **Update RECORD.md.** After drafting, extract what the new draft establishes on page. Update `.manuscript/RECORD.md` with only durable, reader-visible changes:
|
|
41
|
+
- established facts, claims, events, definitions, procedures, objects, relationships, or constraints
|
|
42
|
+
- open threads created, deepened, resolved, or paid off
|
|
43
|
+
- promises and payoffs
|
|
44
|
+
- continuity facts future units must honor
|
|
45
|
+
- character, figure, subject, argument, reader, doctrine, procedure, image, object, setting, or relationship movement
|
|
46
|
+
- next-unit obligations that follow from the new draft
|
|
47
|
+
|
|
48
|
+
Do not turn every beat into a record entry. Keep RECORD.md compact enough to load. If a change belongs in CHARACTERS.md, THEMES.md, WORLD.md, QUESTIONS.md, PROCEDURES.md, DOCTRINES.md, or another adapted source file, record the summary in RECORD.md and suggest the more specific touch command when useful.
|
|
49
|
+
|
|
50
|
+
6. **Surface state nudges.** If the drafter emits `CHARACTER STATE NUDGE`, suggest `/scr:character-touch <name>` after drafting. If the drafter emits `SUBJECT DYNAMICS NUDGE`, suggest `/scr:subject-touch <subject>` after drafting. These nudges go to the writer, not into the draft file.
|
|
51
|
+
|
|
52
|
+
7. **Update STATE.md:** mark unit as drafted, note word count, flag any voice-check issues.
|
|
53
|
+
|
|
54
|
+
8. **Tell the writer:** "Drafted {unit} {N}: X words across Y {atomic_units}. Voice consistency: Z%. Updated RECORD.md with what the draft established. Ready for editor review? Run `/scr:editor-review N` or `/scr:next`."
|
|
55
|
+
|
|
56
|
+
## History log
|
|
57
|
+
|
|
58
|
+
After all atomic units in this invocation are drafted, append one line to `.manuscript/HISTORY.log` per `docs/history-protocol.md`:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
{ISO timestamp} | scr:draft | unit={N} | files={comma-separated draft filenames written this run} | outcome=ok
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
If the run failed (drafter agent returned an error, voice-check blocked, etc.), use `outcome=failed:<short-reason>` instead. Create HISTORY.log if it does not exist. Do not log per atomic unit -- one line per `/scr:draft` invocation keeps the log scannable.
|
|
65
|
+
|
|
66
|
+
## Autopilot behavior
|
|
67
|
+
|
|
68
|
+
If config has `autopilot.enabled: true`, proceed to `/scr:editor-review` automatically after drafting. In supervised profile, pause here for the writer to read. In full-auto, keep going.
|
|
69
|
+
|
|
70
|
+
## Response Contract
|
|
71
|
+
|
|
72
|
+
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.
|
|
73
|
+
|
|
74
|
+
Use this format:
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
Next commands:
|
|
78
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
79
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
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.
|
|
83
|
+
|
|
84
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
Next commands:
|
|
88
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
92
|
+
|
|
93
|
+
## Tone
|
|
94
|
+
|
|
95
|
+
Don't narrate each atomic unit being drafted. That's noise. Show progress concisely: "Drafted scene 1/4... 2/4... 3/4... 4/4. Voice check: passed."
|
|
96
|
+
|
|
97
|
+
Let the writer read the actual prose in the draft files. Your job is orchestration, not performance.
|