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,187 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate children's book page spread layouts with text and illustration zones.
|
|
3
|
+
argument-hint: "<spread-number> [--text-ratio <percent>]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /scr:spread-layout -- Page Spread Layout
|
|
7
|
+
|
|
8
|
+
Generate children's book / picture book page spread layouts with labeled zones for text placement, illustration direction, and bleed areas using ASCII grid visualization.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
```
|
|
12
|
+
/scr:spread-layout <spread-number> [--text-ratio <percent>]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Instruction
|
|
16
|
+
|
|
17
|
+
You are generating a page spread layout for a children's book or picture book. Load:
|
|
18
|
+
- `.manuscript/config.json` (to get `work_type` -- must be in visual group: childrens_book, picture_book, illustrated_book)
|
|
19
|
+
- Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check `commands.spread-layout.available` -- visual group only)
|
|
20
|
+
- `.manuscript/illustrations/ART-DIRECTION.md` if it exists (for visual style consistency)
|
|
21
|
+
- `.manuscript/OUTLINE.md` (to get spread content -- for picture books, each spread is an atomic unit)
|
|
22
|
+
- Drafted spread content if it exists (the text and scene description for this spread)
|
|
23
|
+
|
|
24
|
+
**Check availability:**
|
|
25
|
+
|
|
26
|
+
Look up the current work type's group in CONSTRAINTS.json. If the group is in `commands.spread-layout.hidden` (prose, script, academic, poetry, interactive, speech_song, sacred), inform the writer:
|
|
27
|
+
|
|
28
|
+
> Spread-layout is designed for children's books and picture books. Your [work_type] project uses different layout tools.
|
|
29
|
+
|
|
30
|
+
Then **stop**.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### Spread Analysis
|
|
35
|
+
|
|
36
|
+
<spread_analysis>
|
|
37
|
+
Read the content for spread `<spread-number>` from OUTLINE.md and any drafted content.
|
|
38
|
+
|
|
39
|
+
Determine:
|
|
40
|
+
- **Text content:** The actual text for this spread (or summary if not yet drafted)
|
|
41
|
+
- **Text length:** Word count to determine text zone size
|
|
42
|
+
- **Illustration subject:** What should be illustrated on this spread
|
|
43
|
+
- **Emotional tone:** How this spread should feel visually
|
|
44
|
+
- **Narrative function:** Is this a quiet moment, action beat, reveal, opening, climax, denouement?
|
|
45
|
+
- **Page turn impact:** What comes before and after -- is this a surprise reveal on page turn?
|
|
46
|
+
</spread_analysis>
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### Layout Generation (D-04 ASCII Grid)
|
|
51
|
+
|
|
52
|
+
<layout_generation>
|
|
53
|
+
Generate the spread layout using ASCII grid per D-04, showing both pages of the two-page spread with labeled zones.
|
|
54
|
+
|
|
55
|
+
**Standard picture book dimensions:**
|
|
56
|
+
- Single page: 10" x 8" (landscape) or 8.5" x 11" (portrait)
|
|
57
|
+
- Full spread: 20" x 8" (landscape) or 17" x 11" (portrait)
|
|
58
|
+
- Use dimensions from config.json `trim_size` if set, otherwise default to 10" x 8" landscape
|
|
59
|
+
|
|
60
|
+
**Text-to-illustration ratio:**
|
|
61
|
+
- Default: 30% text / 70% illustration for picture books
|
|
62
|
+
- Override with `--text-ratio <percent>` (e.g., `--text-ratio 40` for 40% text / 60% illustration)
|
|
63
|
+
- Text-heavy spreads (> 50%) are unusual -- warn if requested
|
|
64
|
+
|
|
65
|
+
**Zone Labels:**
|
|
66
|
+
- `[TEXT]` -- Where text is placed, with actual text excerpt
|
|
67
|
+
- `[ILLUSTRATION]` -- Illustration zone with scene description
|
|
68
|
+
- `[BLEED]` -- Areas extending beyond trim for full-bleed printing
|
|
69
|
+
- `[GUTTER]` -- Center binding area (wider inner margin, typically 0.5"-0.75")
|
|
70
|
+
- `[SAFE]` -- Safe area for critical content (0.25" from trim)
|
|
71
|
+
|
|
72
|
+
**Output Format:**
|
|
73
|
+
|
|
74
|
+
```markdown
|
|
75
|
+
# Spread [N] Layout
|
|
76
|
+
|
|
77
|
+
**Title/Caption:** "[spread title or key text excerpt]"
|
|
78
|
+
**Text ratio:** [N]% text / [N]% illustration
|
|
79
|
+
**Page dimensions:** [width]" x [height]" per page ([total width]" x [height]" spread)
|
|
80
|
+
|
|
81
|
+
## Layout Grid
|
|
82
|
+
|
|
83
|
+
SPREAD [N] -- "[short description]"
|
|
84
|
+
+--------------------+--+--------------------+
|
|
85
|
+
| | | |
|
|
86
|
+
| [ILLUSTRATION] |G | [ILLUSTRATION] |
|
|
87
|
+
| |U | |
|
|
88
|
+
| [scene desc] |T | |
|
|
89
|
+
| |T |--------------------+
|
|
90
|
+
| |E | |
|
|
91
|
+
| [BLEED -->] |R | [TEXT] |
|
|
92
|
+
| | | "Actual text |
|
|
93
|
+
| | | from the spread |
|
|
94
|
+
| | | goes here..." |
|
|
95
|
+
+--------------------+--+--------------------+
|
|
96
|
+
LEFT PAGE RIGHT PAGE
|
|
97
|
+
|
|
98
|
+
## Left Page
|
|
99
|
+
- **Zone:** [Full bleed illustration | Partial illustration | Text + illustration]
|
|
100
|
+
- **Illustration direction:** [What to depict -- characters, setting, action]
|
|
101
|
+
- **Bleed:** [Which edges bleed -- top, bottom, left, or all]
|
|
102
|
+
- **Key focal point:** [Where the eye should go]
|
|
103
|
+
|
|
104
|
+
## Right Page
|
|
105
|
+
- **Zone:** [Breakdown of text vs illustration areas]
|
|
106
|
+
- **Text placement:** [Top, bottom, center, wrapped around illustration]
|
|
107
|
+
- **Text content:** [The actual text or excerpt for this page]
|
|
108
|
+
- **Illustration direction:** [What to depict in remaining space]
|
|
109
|
+
|
|
110
|
+
## Typography Notes
|
|
111
|
+
- **Font size suggestion:** [based on target age group -- larger for younger readers]
|
|
112
|
+
- **Text alignment:** [left, centered, ragged right]
|
|
113
|
+
- **Text background:** [transparent over illustration | solid panel | semi-transparent overlay]
|
|
114
|
+
|
|
115
|
+
## Production Notes
|
|
116
|
+
- **Gutter safety:** Keep critical text/image content 0.5" from center binding
|
|
117
|
+
- **Bleed extension:** Extend bleed illustrations 0.125" beyond trim on all bleed edges
|
|
118
|
+
- **Safe area:** Keep essential text 0.25" inside trim on all edges
|
|
119
|
+
- **Color notes:** [From ART-DIRECTION.md -- dominant colors for this spread]
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**Layout Variations by Narrative Function:**
|
|
123
|
+
|
|
124
|
+
- **Opening spread:** Full bleed illustration across both pages, minimal text (title or opening line)
|
|
125
|
+
- **Action spread:** Dynamic composition, illustration dominates, text integrated into scene
|
|
126
|
+
- **Quiet moment:** More text space, illustration as vignette or partial page
|
|
127
|
+
- **Climax/reveal:** Full bleed illustration, text minimal or absent (let the art speak)
|
|
128
|
+
- **Denouement:** Balanced text and illustration, calming composition
|
|
129
|
+
- **Final spread:** Can mirror opening spread structure for satisfying bookend
|
|
130
|
+
|
|
131
|
+
Adapt the grid layout to match the narrative function of this particular spread.
|
|
132
|
+
</layout_generation>
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
### Output
|
|
137
|
+
|
|
138
|
+
Create the output directory if needed:
|
|
139
|
+
```bash
|
|
140
|
+
mkdir -p .manuscript/illustrations/spreads/
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Save to `.manuscript/illustrations/spreads/spread-{number}-layout.md`
|
|
144
|
+
|
|
145
|
+
Commit: `illustration: generate spread layout for spread {number}`
|
|
146
|
+
|
|
147
|
+
After saving, tell the writer:
|
|
148
|
+
> Spread layout saved to `.manuscript/illustrations/spreads/spread-{number}-layout.md`.
|
|
149
|
+
>
|
|
150
|
+
> The layout shows [TEXT] and [ILLUSTRATION] zones with bleed areas marked.
|
|
151
|
+
> Share this with your illustrator or use as reference for AI image generation.
|
|
152
|
+
>
|
|
153
|
+
> Adjacent spreads: `/scr:spread-layout {prev}` | `/scr:spread-layout {next}`
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### Edge Cases
|
|
158
|
+
|
|
159
|
+
- **Spread not in outline:** "Spread {number} is not in your outline. Your book has {N} spreads. Check `/scr:progress` for the outline structure."
|
|
160
|
+
- **No drafted content:** Generate layout from OUTLINE.md beat description. Note: "Layout based on outline. Draft the spread text for more precise text zone sizing."
|
|
161
|
+
- **Text too long for ratio:** Warn and suggest either splitting across two spreads or increasing text ratio: "The text for this spread is {N} words, which may be too long for {ratio}% text area. Consider splitting into two spreads or using `--text-ratio {suggested}`."
|
|
162
|
+
- **Full-bleed no-text spread:** Valid for climactic moments. Generate illustration-only spread with no text zone.
|
|
163
|
+
- **ART-DIRECTION.md missing:** Generate layout without color/style notes. Suggest: "Run `/scr:art-direction` for visual consistency guidance."
|
|
164
|
+
- **Non-picture-book work type:** Hard stop per CONSTRAINTS.json availability check.
|
|
165
|
+
|
|
166
|
+
## Response Contract
|
|
167
|
+
|
|
168
|
+
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.
|
|
169
|
+
|
|
170
|
+
Use this format:
|
|
171
|
+
|
|
172
|
+
```markdown
|
|
173
|
+
Next commands:
|
|
174
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
175
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
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.
|
|
179
|
+
|
|
180
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
181
|
+
|
|
182
|
+
```markdown
|
|
183
|
+
Next commands:
|
|
184
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
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,262 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate storyboard frames for script and visual work types with camera direction.
|
|
3
|
+
argument-hint: "[--scene <ref>] [--act <number>]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /scr:storyboard -- Storyboard Frame Generator
|
|
7
|
+
|
|
8
|
+
Generate storyboard frames with shot types, camera movement, transitions, and ASCII composition sketches for script and visual work types.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
```
|
|
12
|
+
/scr:storyboard [--scene <ref>] [--act <number>]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Instruction
|
|
16
|
+
|
|
17
|
+
You are generating storyboard frames for a script or visual project. Load:
|
|
18
|
+
- `.manuscript/config.json` (to get `work_type`)
|
|
19
|
+
- Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check `commands.storyboard.available` -- script and visual groups only)
|
|
20
|
+
- `.manuscript/illustrations/ART-DIRECTION.md` if it exists (for visual style consistency)
|
|
21
|
+
- `.manuscript/OUTLINE.md` (for scene/beat structure)
|
|
22
|
+
- Drafted scene files for content
|
|
23
|
+
|
|
24
|
+
**Check availability:**
|
|
25
|
+
|
|
26
|
+
Look up the current work type's group in CONSTRAINTS.json. If the group is in `commands.storyboard.hidden` (prose, academic, poetry, interactive, speech_song, sacred), inform the writer:
|
|
27
|
+
|
|
28
|
+
> Storyboard is designed for scripts and visual projects. Your [work_type] project uses other illustration tools instead. Try `/scr:illustrate-scene` for scene illustration prompts.
|
|
29
|
+
|
|
30
|
+
Then **stop**.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### Scope Selection
|
|
35
|
+
|
|
36
|
+
<scope_selection>
|
|
37
|
+
Determine what to storyboard:
|
|
38
|
+
|
|
39
|
+
- **No flags:** Generate a thumbnail overview storyboard for the entire work. Use 1 frame per scene/beat, showing the key visual moment. This gives a bird's-eye view of the visual story.
|
|
40
|
+
|
|
41
|
+
- **`--scene <ref>`:** Generate detailed frames for a single scene. Break the scene into individual beats, each getting its own frame with full camera direction. Typically 3-12 frames per scene depending on complexity.
|
|
42
|
+
|
|
43
|
+
- **`--act <number>`:** Generate frames for all scenes in the specified act. Use OUTLINE.md to identify which scenes belong to the act. Medium detail -- 2-4 frames per scene.
|
|
44
|
+
|
|
45
|
+
If the specified scene or act has no drafted content, use OUTLINE.md beat descriptions for frame content. Note: "Frames generated from outline beats. Draft the scene for more detailed storyboard frames."
|
|
46
|
+
</scope_selection>
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### Frame Generation (D-05 Camera Direction)
|
|
51
|
+
|
|
52
|
+
<frame_generation>
|
|
53
|
+
For each frame, generate the following per D-05:
|
|
54
|
+
|
|
55
|
+
**Shot Types** (choose one per frame):
|
|
56
|
+
- `ESTABLISHING` -- Wide shot that sets location/context
|
|
57
|
+
- `WIDE` -- Full scene visible, characters in environment
|
|
58
|
+
- `MEDIUM` -- Character(s) from waist up, conversational distance
|
|
59
|
+
- `CLOSE-UP` -- Face or important object fills frame
|
|
60
|
+
- `EXTREME CLOSE-UP` -- Eyes, hands, small detail
|
|
61
|
+
- `OVER-THE-SHOULDER` -- Dialogue framing, one character's perspective
|
|
62
|
+
- `POV` -- Camera is a character's eyes
|
|
63
|
+
- `AERIAL` -- Bird's-eye view, establishing scale
|
|
64
|
+
- `LOW ANGLE` -- Looking up, conveys power/threat
|
|
65
|
+
- `HIGH ANGLE` -- Looking down, conveys vulnerability/overview
|
|
66
|
+
- `TWO-SHOT` -- Two characters framed together
|
|
67
|
+
- `GROUP` -- Multiple characters in frame
|
|
68
|
+
|
|
69
|
+
**Camera Movement** (choose one per frame):
|
|
70
|
+
- `STATIC` -- Camera does not move
|
|
71
|
+
- `PAN LEFT/RIGHT` -- Horizontal rotation on axis
|
|
72
|
+
- `PAN UP/DOWN` -- Vertical rotation on axis (tilt)
|
|
73
|
+
- `DOLLY IN/OUT` -- Camera physically moves toward/away from subject
|
|
74
|
+
- `DOLLY ALONGSIDE` -- Camera moves parallel to subject movement
|
|
75
|
+
- `ZOOM IN/OUT` -- Lens zoom (different feel from dolly)
|
|
76
|
+
- `CRANE UP/DOWN` -- Vertical camera movement
|
|
77
|
+
- `HANDHELD` -- Shaky, documentary feel
|
|
78
|
+
- `STEADICAM` -- Smooth tracking shot following subject
|
|
79
|
+
- `RACK FOCUS` -- Focus shifts between foreground and background
|
|
80
|
+
|
|
81
|
+
**Transitions** (to the next frame):
|
|
82
|
+
- `CUT` -- Instant change (default, most common)
|
|
83
|
+
- `DISSOLVE` -- Gradual blend to next frame (passage of time)
|
|
84
|
+
- `FADE TO BLACK` -- Scene ending
|
|
85
|
+
- `FADE FROM BLACK` -- Scene beginning
|
|
86
|
+
- `WIPE` -- One image pushes another off screen (stylistic)
|
|
87
|
+
- `MATCH CUT` -- Visual or thematic link between frames (same shape, motion, or concept)
|
|
88
|
+
- `SMASH CUT` -- Abrupt jarring transition for contrast
|
|
89
|
+
- `J-CUT / L-CUT` -- Audio from next/previous scene overlaps
|
|
90
|
+
|
|
91
|
+
**Frame Output Format:**
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
[FRAME NN] Scene X, Beat Y -- SHOT_TYPE
|
|
95
|
+
Shot: [shot type] | Camera: [movement] | Transition: [to next]
|
|
96
|
+
+---------------------------+
|
|
97
|
+
| |
|
|
98
|
+
| [ASCII COMPOSITION] |
|
|
99
|
+
| |
|
|
100
|
+
| [KEY ELEMENTS LABELED] |
|
|
101
|
+
| |
|
|
102
|
+
+---------------------------+
|
|
103
|
+
Description: [What is in frame -- characters, action, key props, environment]
|
|
104
|
+
Dialogue/VO: [Key line of dialogue or voiceover, if any. "--" if none]
|
|
105
|
+
Duration: [quick (< 2s) | standard (2-5s) | lingering (5-10s) | extended (10s+)]
|
|
106
|
+
Mood/Lighting: [Atmosphere -- e.g., "warm golden hour, long shadows, intimate"]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**ASCII Composition Sketches:**
|
|
110
|
+
|
|
111
|
+
Use simple ASCII art to show spatial relationships:
|
|
112
|
+
- `[CHAR]` or character initials for character positions
|
|
113
|
+
- `[BG]` for background elements
|
|
114
|
+
- `[FG]` for foreground elements
|
|
115
|
+
- `[PROP]` for important objects
|
|
116
|
+
- Horizontal/vertical lines to show depth planes
|
|
117
|
+
- Arrow indicators for movement direction
|
|
118
|
+
|
|
119
|
+
Examples:
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
Establishing shot:
|
|
123
|
+
+---------------------------+
|
|
124
|
+
| [SKY/HORIZON] |
|
|
125
|
+
| |
|
|
126
|
+
| [BUILDING] [TREE] |
|
|
127
|
+
| [CHAR A] |
|
|
128
|
+
| [FOREGROUND PATH] |
|
|
129
|
+
+---------------------------+
|
|
130
|
+
|
|
131
|
+
Close-up dialogue:
|
|
132
|
+
+---------------------------+
|
|
133
|
+
| |
|
|
134
|
+
| [CHAR A FACE] |
|
|
135
|
+
| eyes: determined |
|
|
136
|
+
| mouth: speaking |
|
|
137
|
+
| |
|
|
138
|
+
+---------------------------+
|
|
139
|
+
|
|
140
|
+
Over-the-shoulder:
|
|
141
|
+
+---------------------------+
|
|
142
|
+
| |
|
|
143
|
+
| [CHAR A [CHAR B] |
|
|
144
|
+
| shoulder/ facing |
|
|
145
|
+
| back of camera] |
|
|
146
|
+
| head] |
|
|
147
|
+
+---------------------------+
|
|
148
|
+
```
|
|
149
|
+
</frame_generation>
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### Storyboard Assembly
|
|
154
|
+
|
|
155
|
+
<storyboard_assembly>
|
|
156
|
+
Assemble all frames into a complete storyboard document:
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
# Storyboard: [Title/Reference]
|
|
160
|
+
|
|
161
|
+
**Work:** [title from config.json]
|
|
162
|
+
**Scope:** [Entire work | Scene: {ref} | Act: {number}]
|
|
163
|
+
**Total frames:** [count]
|
|
164
|
+
**Generated from:** [outline beats | drafted scenes | mix]
|
|
165
|
+
|
|
166
|
+
## Visual Style Notes
|
|
167
|
+
[From ART-DIRECTION.md if it exists -- key style reminders for visual consistency]
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## [Scene/Act Header]
|
|
172
|
+
|
|
173
|
+
[FRAME 01] ...
|
|
174
|
+
[FRAME 02] ...
|
|
175
|
+
...
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Shot Distribution Summary
|
|
180
|
+
|
|
181
|
+
| Shot Type | Count | Percentage |
|
|
182
|
+
|-----------|-------|------------|
|
|
183
|
+
| Establishing | N | N% |
|
|
184
|
+
| Wide | N | N% |
|
|
185
|
+
| Medium | N | N% |
|
|
186
|
+
| Close-up | N | N% |
|
|
187
|
+
| ... | | |
|
|
188
|
+
|
|
189
|
+
## Transition Summary
|
|
190
|
+
|
|
191
|
+
| Transition | Count |
|
|
192
|
+
|------------|-------|
|
|
193
|
+
| Cut | N |
|
|
194
|
+
| Dissolve | N |
|
|
195
|
+
| ... | |
|
|
196
|
+
|
|
197
|
+
## Pacing Notes
|
|
198
|
+
[Brief analysis of visual pacing -- where the rhythm speeds up (quick cuts) or slows down (lingering shots). Flag any sequences that may feel monotonous (too many similar shots in a row).]
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**Frame numbering:** Sequential across the entire storyboard (FRAME 01, FRAME 02, ...) regardless of scene boundaries.
|
|
202
|
+
|
|
203
|
+
**Scene boundaries:** Insert a horizontal rule (`---`) and scene header between scenes.
|
|
204
|
+
</storyboard_assembly>
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
### Output
|
|
209
|
+
|
|
210
|
+
Create the output directory if needed:
|
|
211
|
+
```bash
|
|
212
|
+
mkdir -p .manuscript/illustrations/storyboards/
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Save to `.manuscript/illustrations/storyboards/storyboard-{ref}.md` where `{ref}` is:
|
|
216
|
+
- `full` for entire work
|
|
217
|
+
- Scene reference for `--scene`
|
|
218
|
+
- `act-{number}` for `--act`
|
|
219
|
+
|
|
220
|
+
Commit: `storyboard: generate frames for {ref}`
|
|
221
|
+
|
|
222
|
+
After saving, tell the writer:
|
|
223
|
+
> Storyboard saved to `.manuscript/illustrations/storyboards/storyboard-{ref}.md`.
|
|
224
|
+
>
|
|
225
|
+
> Each frame includes shot type, camera direction, and ASCII composition.
|
|
226
|
+
> Use this as a shot list for production or as illustration direction.
|
|
227
|
+
>
|
|
228
|
+
> For more detail on a specific scene: `/scr:storyboard --scene {ref}`
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
### Edge Cases
|
|
233
|
+
|
|
234
|
+
- **No drafted scenes:** Generate frames from OUTLINE.md beat descriptions. Note reduced detail level.
|
|
235
|
+
- **No OUTLINE.md:** Cannot generate storyboard -- "Create an outline first with `/scr:plan`."
|
|
236
|
+
- **Very long work (50+ scenes):** For full-work overview, limit to 1 frame per scene with thumbnail-level detail. Suggest `--act` for more detail.
|
|
237
|
+
- **Scene with no action:** Focus on atmosphere, environment, and character positioning. Use static/lingering frames.
|
|
238
|
+
- **Musical/song sequences:** Use duration notes extensively, mark rhythm changes.
|
|
239
|
+
- **ART-DIRECTION.md missing:** Generate storyboard without visual style notes. Suggest: "Run `/scr:art-direction` for visual consistency across storyboard frames."
|
|
240
|
+
|
|
241
|
+
## Response Contract
|
|
242
|
+
|
|
243
|
+
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.
|
|
244
|
+
|
|
245
|
+
Use this format:
|
|
246
|
+
|
|
247
|
+
```markdown
|
|
248
|
+
Next commands:
|
|
249
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
250
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
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.
|
|
254
|
+
|
|
255
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
256
|
+
|
|
257
|
+
```markdown
|
|
258
|
+
Next commands:
|
|
259
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
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,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Update an evolving subject, idea, claim, procedure, doctrine, object, image pattern, or reader-state thread after a unit lands.
|
|
3
|
+
argument-hint: "<subject> [--from <unit>]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /scr:subject-touch -- Update Subject Movement
|
|
7
|
+
|
|
8
|
+
Subject files are living documents. THEMES.md, QUESTIONS.md, REFERENCES.md, DOCTRINES.md, PROCEDURES.md, and related adapted files record what the work is making the reader understand, feel, notice, believe, test, or do. Without periodic touch-ups, a theme, claim, object, procedure, doctrine, or reader promise can freeze in its early form while the manuscript has already changed its meaning.
|
|
9
|
+
|
|
10
|
+
This command is the touch-up surface for non-character movement. Use it after `/scr:draft` or `/scr:editor-review`, especially when a unit changes the meaning of an object, develops an argument, resolves a misconception, alters the reader's ability, changes a doctrine's practical emphasis, or makes a procedure safer or clearer.
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/scr:subject-touch <subject> # interactive update
|
|
16
|
+
/scr:subject-touch <subject> --from <unit> # base the update on a specific unit's drafted prose
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
If `<subject>` is omitted, list tracked subjects from the adapted subject files and ask which to update.
|
|
20
|
+
|
|
21
|
+
## Instruction
|
|
22
|
+
|
|
23
|
+
### STEP 0: BOOTSTRAP
|
|
24
|
+
|
|
25
|
+
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). Step 1 still needs the full subject files because you may edit one. See `docs/context-protocol.md`.
|
|
26
|
+
|
|
27
|
+
### STEP 1: LOAD CONTEXT
|
|
28
|
+
|
|
29
|
+
Load these project files:
|
|
30
|
+
|
|
31
|
+
- `.manuscript/config.json` -- to determine work type and file adaptations
|
|
32
|
+
- Scriveno's installed/shared `CONSTRAINTS.json` -- to map adapted subject files
|
|
33
|
+
- `.manuscript/WORK.md` and `.manuscript/BRIEF.md` or adapted equivalent -- reader promise and reader journey
|
|
34
|
+
- The adapted subject files that exist:
|
|
35
|
+
- `.manuscript/THEMES.md` or `.manuscript/QUESTIONS.md`, `.manuscript/REFERENCES.md`, or `.manuscript/DOCTRINES.md`
|
|
36
|
+
- `.manuscript/PLOT-GRAPH.md`, `.manuscript/ARGUMENT-MAP.md`, `.manuscript/PROCEDURES.md`, or `.manuscript/THEOLOGICAL-ARC.md`
|
|
37
|
+
- `.manuscript/WORLD.md`, `.manuscript/CONTEXT.md`, `.manuscript/SYSTEM.md`, or `.manuscript/COSMOLOGY.md` when the subject is a place, system, setting pressure, or operating context
|
|
38
|
+
- `.manuscript/STATE.md` -- to know which units have been drafted
|
|
39
|
+
- The drafted unit file for the touch-up basis: `.manuscript/drafts/body/{N}-*-DRAFT.md` either for the unit named in `--from` or, if `--from` is omitted, the most recently modified draft file
|
|
40
|
+
|
|
41
|
+
### STEP 2: RESOLVE THE SUBJECT
|
|
42
|
+
|
|
43
|
+
If the writer named a subject, find the closest matching heading or table row across the adapted subject files. Search case-insensitively across headings, theme names, research questions, doctrine names, procedure names, reference topics, object names, place names, and image patterns.
|
|
44
|
+
|
|
45
|
+
If no match is found, suggest the closest subjects and ask whether to create a new entry. Do not create a new subject without writer approval.
|
|
46
|
+
|
|
47
|
+
If the writer did not name a subject, list tracked subjects grouped by source file and ask which one to update.
|
|
48
|
+
|
|
49
|
+
### STEP 3: PROPOSE A DELTA
|
|
50
|
+
|
|
51
|
+
Read the basis draft file from STEP 1. Identify how the subject changed in this unit. Cover these dimensions; skip any that did not change:
|
|
52
|
+
|
|
53
|
+
1. **Reader state** -- what the reader understands, feels, notices, can do, or can verify now
|
|
54
|
+
2. **Pressure or friction** -- misconception, counterclaim, risk, ambiguity, failure mode, constraint, grief, uncertainty, or practical obstacle
|
|
55
|
+
3. **Interaction pattern** -- claim vs. counterclaim, rule vs. exception, step vs. failure mode, doctrine vs. practice, evidence vs. objection, object vs. meaning, place vs. memory, image vs. theme
|
|
56
|
+
4. **Evidence or example** -- new proof, reference, scene evidence, procedure evidence, or concrete example now available
|
|
57
|
+
5. **Watchpoint** -- what the next plan, draft, or review should preserve or test
|
|
58
|
+
|
|
59
|
+
Present the proposed delta to the writer in this exact format:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Subject: <subject>
|
|
63
|
+
Basis: <unit name from draft filename>
|
|
64
|
+
Source file: <file to update>
|
|
65
|
+
|
|
66
|
+
Proposed updates:
|
|
67
|
+
|
|
68
|
+
Reader state
|
|
69
|
+
was: <current text or inferred prior state>
|
|
70
|
+
now: <proposed new text>
|
|
71
|
+
|
|
72
|
+
Pressure or friction
|
|
73
|
+
+ <new or sharpened pressure>
|
|
74
|
+
|
|
75
|
+
Interaction pattern
|
|
76
|
+
<pattern>: <new state>
|
|
77
|
+
|
|
78
|
+
Evidence or example
|
|
79
|
+
+ <new evidence, example, citation, procedure checkpoint, image, or scene evidence>
|
|
80
|
+
|
|
81
|
+
Watchpoint
|
|
82
|
+
+ <thing to preserve or test later>
|
|
83
|
+
|
|
84
|
+
Apply these updates? (yes / no / edit)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
If the writer accepts (`yes`), proceed to STEP 4. If `edit`, ask which dimension to revise and re-prompt. If `no`, exit with no changes and no log entry.
|
|
88
|
+
|
|
89
|
+
### STEP 4: APPLY THE DELTA
|
|
90
|
+
|
|
91
|
+
Update the relevant adapted subject file while preserving formatting:
|
|
92
|
+
|
|
93
|
+
- For `THEMES.md`, update the matching theme or subject-dynamics entry.
|
|
94
|
+
- For `QUESTIONS.md`, update the matching research question, claim, evidence gap, or reader-state note.
|
|
95
|
+
- For `REFERENCES.md`, update source-of-truth, evidence, version, failure-mode, or verification notes.
|
|
96
|
+
- For `DOCTRINES.md`, update practical emphasis, doctrinal pressure, interpretive watchpoints, or source evidence.
|
|
97
|
+
- For `PROCEDURES.md`, update validation, rollback, failure mode, prerequisite, or subject dynamics notes.
|
|
98
|
+
- For `ARGUMENT-MAP.md`, update claim, counterclaim, evidence, transition, or unresolved question notes.
|
|
99
|
+
- For setting, system, object, or place subjects, update the adapted context file that already owns the subject.
|
|
100
|
+
|
|
101
|
+
Create a `### Subject dynamics` subsection under the matching entry if the file has no obvious place for reader state, pressure, interaction pattern, evidence, or watchpoints.
|
|
102
|
+
|
|
103
|
+
**Do not touch:**
|
|
104
|
+
|
|
105
|
+
- STYLE-GUIDE.md or voice rules
|
|
106
|
+
- Draft prose
|
|
107
|
+
- Character voice anchors or character state, unless the writer explicitly asked for `/scr:character-touch`
|
|
108
|
+
- Source citations in a way that invents support not present in the draft or source files
|
|
109
|
+
- Technical safety instructions without preserving validation and rollback context
|
|
110
|
+
|
|
111
|
+
### STEP 5: STAMP THE UPDATE
|
|
112
|
+
|
|
113
|
+
Add or replace a one-line marker under the updated subject entry:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
_Last touched: {ISO timestamp} -- after drafting <unit name>_
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### STEP 6: HISTORY LOG
|
|
120
|
+
|
|
121
|
+
Append one line to `.manuscript/HISTORY.log` per `docs/history-protocol.md`:
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
{ISO timestamp} | scr:subject-touch | subject=<subject> | basis=<unit name> | file=<updated file> | dimensions=<comma-separated list of changed dimensions> | outcome=ok
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
If the writer chose `no` and exited with no changes, do not append a line.
|
|
128
|
+
|
|
129
|
+
### STEP 7: SUGGEST NEXT
|
|
130
|
+
|
|
131
|
+
End with a one-line suggestion:
|
|
132
|
+
|
|
133
|
+
> Updated <subject>. Future plans and drafts will read the revised subject movement. Consider `/scr:editor-review <unit>` if the change came from a fresh draft.
|
|
134
|
+
|
|
135
|
+
## Edge Cases
|
|
136
|
+
|
|
137
|
+
- **Character and subject both shifted:** Suggest `/scr:character-touch <name>` after this command if the character state also changed.
|
|
138
|
+
- **Subject is a person:** If the requested subject is clearly a character or figure, route to `/scr:character-touch` instead.
|
|
139
|
+
- **Academic evidence changed:** Do not strengthen a claim beyond its cited support. Mark unsupported movement as a watchpoint or question.
|
|
140
|
+
- **Technical procedure changed:** Preserve safety, validation, and rollback. If the draft implies unsafe guidance, mark a blocking question instead of updating the procedure as if it were approved.
|
|
141
|
+
- **Sacred doctrine changed:** Preserve the project's framework and source-tracking rules. If the draft creates a doctrinal tension, record it as a watchpoint or blocking question rather than smoothing it away.
|
|
142
|
+
|
|
143
|
+
## Response Contract
|
|
144
|
+
|
|
145
|
+
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.
|
|
146
|
+
|
|
147
|
+
Use this format:
|
|
148
|
+
|
|
149
|
+
```markdown
|
|
150
|
+
Next commands:
|
|
151
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
152
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
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.
|
|
156
|
+
|
|
157
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
158
|
+
|
|
159
|
+
```markdown
|
|
160
|
+
Next commands:
|
|
161
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
165
|
+
|
|
166
|
+
## Tone
|
|
167
|
+
|
|
168
|
+
Brisk and editorial. Surface the proposed delta, get a yes / no / edit answer, apply, get out. The writer remains the authority on what the work means.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Package and finalize a unit after editor review.
|
|
3
|
+
argument-hint: "[unit number]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Submit {unit}
|
|
7
|
+
|
|
8
|
+
You are finalizing a unit after editor review.
|
|
9
|
+
|
|
10
|
+
## Adaptive naming
|
|
11
|
+
|
|
12
|
+
Load `.manuscript/config.json` for `command_unit`. The runnable command stays `/scr:submit`; adapt the unit terminology in prompts and summaries.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
- Review report must exist at `.manuscript/reviews/{N}-REVIEW.md`. For older projects, root-level `{N}-EDITOR-NOTES.md` also counts as a legacy review artifact.
|
|
17
|
+
|
|
18
|
+
## What to do
|
|
19
|
+
|
|
20
|
+
1. Load `.manuscript/config.json` for project context
|
|
21
|
+
2. Check that the specified unit has been through editor review. Prefer `.manuscript/reviews/{N}-REVIEW.md`; if it is missing, accept legacy `{N}-EDITOR-NOTES.md`.
|
|
22
|
+
3. Mark the unit as submitted in `STATE.md`
|
|
23
|
+
4. Report: "Unit {N} submitted. {remaining} units remaining."
|
|
24
|
+
|
|
25
|
+
## Response Contract
|
|
26
|
+
|
|
27
|
+
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.
|
|
28
|
+
|
|
29
|
+
Use this format:
|
|
30
|
+
|
|
31
|
+
```markdown
|
|
32
|
+
Next commands:
|
|
33
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
34
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
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.
|
|
38
|
+
|
|
39
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
40
|
+
|
|
41
|
+
```markdown
|
|
42
|
+
Next commands:
|
|
43
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
47
|
+
|
|
48
|
+
## Tone
|
|
49
|
+
|
|
50
|
+
Brief and confirmational. The writer has already done the hard work.
|