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,170 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate a structure-aware pacing report analyzing scene tempo and narrative flow.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /scr:pacing-analysis -- Structure-Aware Pacing Report
|
|
6
|
+
|
|
7
|
+
Generate a pacing report that analyzes scene tempo, narrative flow, and structural rhythm.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
```
|
|
11
|
+
/scr:pacing-analysis [N]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Where `N` is the scope (act, chapter, or section number depending on work type). Omit `N` to analyze the entire manuscript.
|
|
15
|
+
|
|
16
|
+
## Instruction
|
|
17
|
+
|
|
18
|
+
You are a **pacing analyst**. Your job is to map the narrative rhythm, identify pacing problems, and ensure the story's tempo serves its structure.
|
|
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 **hidden** from poetry and speech_song work types. If the current work type is in a hidden group, inform the writer and exit gracefully
|
|
26
|
+
3. Load `OUTLINE.md` -- extract structural context: which scenes are intended as climaxes, which are transitions or breathers, the overall arc shape, and any pacing notes the writer included during planning
|
|
27
|
+
4. Load the drafted prose for scope `N` (or full manuscript if `N` is omitted)
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
### STEP 1: SCENE LENGTH DISTRIBUTION
|
|
32
|
+
|
|
33
|
+
<scene_length_analysis>
|
|
34
|
+
For each scene/chapter in scope:
|
|
35
|
+
- Count word length
|
|
36
|
+
- Calculate mean and median scene length
|
|
37
|
+
- Identify **outliers**: scenes more than 1.5x the median (unusually long) or less than 0.5x the median (unusually short)
|
|
38
|
+
- Note whether outlier length is intentional (a climax scene being longer is expected; a transition being long is suspicious)
|
|
39
|
+
|
|
40
|
+
Present as a distribution chart:
|
|
41
|
+
```
|
|
42
|
+
Ch 1 ████████████████████ 3,200w
|
|
43
|
+
Ch 2 ████████████ 1,900w
|
|
44
|
+
Ch 3 ████████████████████████████ 4,500w [LONG]
|
|
45
|
+
Ch 4 ████████ 1,200w
|
|
46
|
+
Ch 5 ██████████████ 2,100w
|
|
47
|
+
```
|
|
48
|
+
</scene_length_analysis>
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### STEP 2: TEMPO MAPPING
|
|
53
|
+
|
|
54
|
+
<tempo_classification>
|
|
55
|
+
Classify each scene's dominant tempo:
|
|
56
|
+
- **Action**: Physical conflict, chase, fight, urgent movement
|
|
57
|
+
- **Tension**: Psychological conflict, suspense, dread, anticipation
|
|
58
|
+
- **Revelation**: Discovery, plot twist, secret revealed, realization
|
|
59
|
+
- **Transition**: Travel, time passage, setup for next sequence
|
|
60
|
+
- **Reflection**: Internal processing, emotional aftermath, quiet character moment
|
|
61
|
+
|
|
62
|
+
Map the resulting rhythm across the narrative:
|
|
63
|
+
```
|
|
64
|
+
Ch 1 [Tension] ▓▓▓▓▓▓▓▓
|
|
65
|
+
Ch 2 [Reflection] ░░░░░░
|
|
66
|
+
Ch 3 [Action] ████████████
|
|
67
|
+
Ch 4 [Revelation] ▒▒▒▒▒▒▒▒▒
|
|
68
|
+
Ch 5 [Transition] ░░░░
|
|
69
|
+
Ch 6 [Action] ██████████████
|
|
70
|
+
Ch 7 [Tension] ▓▓▓▓▓▓▓▓▓▓
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Flag patterns:
|
|
74
|
+
- **Monotone**: 3+ consecutive scenes at the same tempo
|
|
75
|
+
- **Whiplash**: Jarring tempo shifts without transition
|
|
76
|
+
- **Missing type**: If no reflection scenes exist in a character-driven story, or no action in a thriller
|
|
77
|
+
</tempo_classification>
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### STEP 3: CLIMAX VS BREATHER BALANCE
|
|
82
|
+
|
|
83
|
+
<climax_breather_analysis>
|
|
84
|
+
Cross-reference tempo map with OUTLINE.md structural intentions:
|
|
85
|
+
- Are scenes marked as climaxes actually written at high intensity?
|
|
86
|
+
- Is there a breather scene (reflection or transition) after each high-intensity sequence?
|
|
87
|
+
- Are there too many consecutive scenes at the same intensity level?
|
|
88
|
+
- Does the intensity generally build toward structural climax points?
|
|
89
|
+
|
|
90
|
+
Flag:
|
|
91
|
+
- **Missing breather**: High-intensity scene followed immediately by another high-intensity scene without relief (reader fatigue risk)
|
|
92
|
+
- **Missing escalation**: Breather followed by breather followed by breather (momentum loss)
|
|
93
|
+
- **Structural mismatch**: A scene marked as climax in the outline that reads at low intensity in the draft, or vice versa
|
|
94
|
+
</climax_breather_analysis>
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
### STEP 4: OPENING AND CLOSING ENERGY
|
|
99
|
+
|
|
100
|
+
<energy_analysis>
|
|
101
|
+
For each chapter/scene:
|
|
102
|
+
- **Opening hook**: Does the first paragraph create a question, conflict, or sensory pull that makes the reader want to continue? Rate: Strong / Adequate / Weak
|
|
103
|
+
- **Closing propulsion**: Does the final paragraph create forward momentum -- a cliffhanger, question, emotional charge, or promise of what's next? Rate: Strong / Adequate / Weak
|
|
104
|
+
|
|
105
|
+
Flag:
|
|
106
|
+
- Chapters that open with exposition or backstory (energy drain)
|
|
107
|
+
- Chapters that close without forward pull (reader puts the book down)
|
|
108
|
+
- Consecutive weak openings or closings (pattern problem)
|
|
109
|
+
</energy_analysis>
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
### STEP 5: SAGGY MIDDLE DETECTION
|
|
114
|
+
|
|
115
|
+
<saggy_middle_check>
|
|
116
|
+
Examine the 40-60% mark of the manuscript (by word count):
|
|
117
|
+
- Does the pacing drop noticeably compared to the first and third acts?
|
|
118
|
+
- Are there scenes in this section that lack clear stakes or forward momentum?
|
|
119
|
+
- Does this section contain an unusual concentration of transition or reflection scenes?
|
|
120
|
+
- Is the protagonist reactive rather than proactive in this stretch?
|
|
121
|
+
|
|
122
|
+
If pacing drops in the middle:
|
|
123
|
+
- Check whether it's **intentional** (the outline marks this as a breathing space, a slow burn, or a deliberate structural choice)
|
|
124
|
+
- If unintentional, suggest specific interventions: raise stakes, add a midpoint reversal, cut or compress low-energy scenes, add a ticking clock
|
|
125
|
+
</saggy_middle_check>
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
### OUTPUT
|
|
130
|
+
|
|
131
|
+
Present findings in this order:
|
|
132
|
+
|
|
133
|
+
1. **Visual Tempo Map**: The combined scene length + tempo visualization showing the full narrative rhythm at a glance
|
|
134
|
+
|
|
135
|
+
2. **Pacing Health Summary**:
|
|
136
|
+
- Overall pacing assessment (well-paced / front-loaded / back-loaded / saggy middle / monotone)
|
|
137
|
+
- Strongest pacing section and why
|
|
138
|
+
- Weakest pacing section and why
|
|
139
|
+
|
|
140
|
+
3. **Findings by Dimension**: Detailed findings for each analysis dimension, grouped by severity:
|
|
141
|
+
- High: Structural pacing problems that affect reader engagement
|
|
142
|
+
- Medium: Missed opportunities for better rhythm
|
|
143
|
+
- Low: Fine-tuning suggestions
|
|
144
|
+
|
|
145
|
+
4. **Recommendations**: Prioritized list of specific changes, from most impactful to least
|
|
146
|
+
|
|
147
|
+
Save to `.manuscript/{scope}-PACING-REPORT.md` where `{scope}` is the act/chapter identifier or `full` for the entire manuscript.
|
|
148
|
+
|
|
149
|
+
## Response Contract
|
|
150
|
+
|
|
151
|
+
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.
|
|
152
|
+
|
|
153
|
+
Use this format:
|
|
154
|
+
|
|
155
|
+
```markdown
|
|
156
|
+
Next commands:
|
|
157
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
158
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
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.
|
|
162
|
+
|
|
163
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
Next commands:
|
|
167
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
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,225 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate comic panel layouts with composition notes and balloon placement.
|
|
3
|
+
argument-hint: "<page-number> [--panels <count>] [--style <style>]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /scr:panel-layout -- Comic Panel Layout
|
|
7
|
+
|
|
8
|
+
Generate comic and graphic novel panel layouts with ASCII grid visualization, composition notes, gutter specifications, and dialogue balloon/caption placement zones.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
```
|
|
12
|
+
/scr:panel-layout <page-number> [--panels <count>] [--style <style>]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Instruction
|
|
16
|
+
|
|
17
|
+
You are generating a comic panel layout. Load:
|
|
18
|
+
- `.manuscript/config.json` (to get `work_type` -- must be comic or graphic_novel per comic_only constraint)
|
|
19
|
+
- Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check `commands.panel-layout.available` and `constraint: comic_only`)
|
|
20
|
+
- `.manuscript/illustrations/ART-DIRECTION.md` if it exists (for visual style consistency)
|
|
21
|
+
- `.manuscript/OUTLINE.md` (to get page content / beat assignments)
|
|
22
|
+
- Drafted page content if it exists
|
|
23
|
+
|
|
24
|
+
**Check availability:**
|
|
25
|
+
|
|
26
|
+
Look up the current work type's group in CONSTRAINTS.json. This command has a `comic_only` constraint -- only available for comic and graphic_novel work types within the visual group.
|
|
27
|
+
|
|
28
|
+
If the work type is not comic or graphic_novel:
|
|
29
|
+
|
|
30
|
+
> Panel-layout is designed for comics and graphic novels only. Your [work_type] project uses different layout tools.
|
|
31
|
+
> Try `/scr:spread-layout` for picture books or `/scr:illustrate-scene` for scene illustrations.
|
|
32
|
+
|
|
33
|
+
Then **stop**.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
### Page Content Analysis
|
|
38
|
+
|
|
39
|
+
<page_analysis>
|
|
40
|
+
Read the content assigned to page `<page-number>` from OUTLINE.md and any drafted content.
|
|
41
|
+
|
|
42
|
+
Determine:
|
|
43
|
+
- **Number of beats/moments:** How many distinct visual moments need panels
|
|
44
|
+
- **Dialogue density:** How much dialogue appears (affects balloon placement)
|
|
45
|
+
- **Action level:** Is this a dialogue scene, action sequence, or atmospheric page
|
|
46
|
+
- **Pacing intent:** Fast (many small panels, quick cuts) or slow (fewer large panels, lingering)
|
|
47
|
+
- **Key visual moment:** Which panel is the "money shot" -- the one that should be largest
|
|
48
|
+
</page_analysis>
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### Panel Layout Generation
|
|
53
|
+
|
|
54
|
+
<panel_generation>
|
|
55
|
+
**Panel Count:**
|
|
56
|
+
- Default: 6 panels per page (classic grid)
|
|
57
|
+
- Override with `--panels <count>` (range: 1-9)
|
|
58
|
+
- 1 panel = splash page (full page single image)
|
|
59
|
+
- 2-3 panels = cinematic, slow pacing
|
|
60
|
+
- 4-6 panels = standard storytelling
|
|
61
|
+
- 7-9 panels = fast pacing, montage, rapid action
|
|
62
|
+
|
|
63
|
+
**Panel Sizes:**
|
|
64
|
+
- `SPLASH` -- Full page, single image (1 panel)
|
|
65
|
+
- `HALF-PAGE` -- Takes up half the page height or width
|
|
66
|
+
- `QUARTER` -- Standard quarter-page panel
|
|
67
|
+
- `STRIP` -- Full width, reduced height (widescreen cinematic)
|
|
68
|
+
- `INSET` -- Small panel overlapping a larger one
|
|
69
|
+
- `BLEED` -- Panel extends to page edge (no border on bleed sides)
|
|
70
|
+
|
|
71
|
+
**Gutter Width:**
|
|
72
|
+
- Standard: 0.125" (1/8 inch) between panels
|
|
73
|
+
- Wide gutter: 0.25" for scene/time transitions within page
|
|
74
|
+
- No gutter: Panels share border for rapid action
|
|
75
|
+
|
|
76
|
+
**Style Presets** (via `--style`):
|
|
77
|
+
- `traditional-grid` (default) -- Even, rectangular panels in a grid. Classic Western comics.
|
|
78
|
+
- `dynamic` -- Varied panel sizes, diagonal borders, overlapping panels. Action-oriented.
|
|
79
|
+
- `manga` -- Right-to-left reading order, speed lines, varied panel shapes, emphasis on expression.
|
|
80
|
+
- `european` -- Larger panels, more detail, tier-based layout (horizontal strips). Franco-Belgian tradition.
|
|
81
|
+
- `splash-heavy` -- One dominant splash panel with smaller supporting panels. Impact-driven.
|
|
82
|
+
|
|
83
|
+
**ASCII Panel Layout Format:**
|
|
84
|
+
|
|
85
|
+
```markdown
|
|
86
|
+
# Page [N] Panel Layout
|
|
87
|
+
|
|
88
|
+
**Style:** [preset name]
|
|
89
|
+
**Panels:** [count]
|
|
90
|
+
**Page dimensions:** [standard comic: 6.625" x 10.25" | manga: 5" x 7.5" | european: 8.5" x 11"]
|
|
91
|
+
**Gutter:** [width]
|
|
92
|
+
|
|
93
|
+
## Layout Grid
|
|
94
|
+
|
|
95
|
+
PAGE [N]
|
|
96
|
+
+-------------------------------+
|
|
97
|
+
| PANEL 1 | [Shot type] - [composition note]
|
|
98
|
+
| (half-page) | [Content description]
|
|
99
|
+
| | [BALLOON: top-right]
|
|
100
|
+
+---------------+---------------+
|
|
101
|
+
| PANEL 2 | PANEL 3 | P2: [shot] - [note]
|
|
102
|
+
| | | P3: [shot] - [note]
|
|
103
|
+
| [BALLOON: | | P2: [BALLOON: bottom-left]
|
|
104
|
+
| bottom] | [CAPTION: | P3: [CAPTION: top]
|
|
105
|
+
| | top] |
|
|
106
|
+
+---------------+---------------+
|
|
107
|
+
| PANEL 4 | PANEL 5 | P4: [shot] - [note]
|
|
108
|
+
| | | P5: [shot] - [note]
|
|
109
|
+
+---------------+---------------+
|
|
110
|
+
|
|
111
|
+
## Panel Details
|
|
112
|
+
|
|
113
|
+
### Panel 1 (half-page, top)
|
|
114
|
+
- **Content:** [Characters, action, dialogue -- what happens in this panel]
|
|
115
|
+
- **Composition:** [Angle: eye-level/low/high/Dutch. Depth: shallow/deep. Focus: foreground/mid/background]
|
|
116
|
+
- **Balloons/Captions:**
|
|
117
|
+
- [SPEECH BALLOON] top-right: "[dialogue excerpt]"
|
|
118
|
+
- [THOUGHT BUBBLE] center: "[thought]"
|
|
119
|
+
- [CAPTION BOX] top-left: "[narration]"
|
|
120
|
+
- **SFX:** [Sound effects text and placement, if any]
|
|
121
|
+
- **Notes:** [Special rendering notes -- motion lines, focus blur, etc.]
|
|
122
|
+
|
|
123
|
+
### Panel 2 (quarter, middle-left)
|
|
124
|
+
...
|
|
125
|
+
|
|
126
|
+
### Panel 3 (quarter, middle-right)
|
|
127
|
+
...
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Balloon/Caption Placement Zones:**
|
|
131
|
+
Mark placement zones in the ASCII grid and detail in panel descriptions:
|
|
132
|
+
- `[BALLOON: position]` -- Speech balloon (tail points to speaker)
|
|
133
|
+
- `[THOUGHT: position]` -- Thought bubble (cloud border)
|
|
134
|
+
- `[CAPTION: position]` -- Narration caption box (rectangular, usually top or bottom)
|
|
135
|
+
- `[SFX: position]` -- Sound effect text (integrated into art)
|
|
136
|
+
- Positions: top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right
|
|
137
|
+
|
|
138
|
+
**Reading Order:**
|
|
139
|
+
- Western (default): Left-to-right, top-to-bottom (Z-pattern)
|
|
140
|
+
- Manga (`--style manga`): Right-to-left, top-to-bottom
|
|
141
|
+
- Mark reading order with numbered arrows if layout is non-standard
|
|
142
|
+
|
|
143
|
+
**Composition Notes per Panel:**
|
|
144
|
+
Include for each panel:
|
|
145
|
+
- Camera angle (eye-level, low angle, high angle, Dutch angle, bird's-eye, worm's-eye)
|
|
146
|
+
- Depth (foreground/midground/background elements)
|
|
147
|
+
- Focus (what draws the eye, depth of field)
|
|
148
|
+
- Character staging (positions, poses, expressions)
|
|
149
|
+
</panel_generation>
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### Page Pacing Context
|
|
154
|
+
|
|
155
|
+
<pacing_context>
|
|
156
|
+
Include a brief pacing analysis at the end:
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
## Pacing Analysis
|
|
160
|
+
|
|
161
|
+
- **Page rhythm:** [fast/medium/slow -- based on panel count and sizes]
|
|
162
|
+
- **Visual beats:** [N action beats, N dialogue beats, N transition beats]
|
|
163
|
+
- **Previous page ended:** [description -- for flow continuity]
|
|
164
|
+
- **Next page should:** [suggested opening -- match or contrast current page energy]
|
|
165
|
+
- **Page turn reveal:** [Is this a left (verso) or right (recto) page? Right pages are reveals on page turn.]
|
|
166
|
+
```
|
|
167
|
+
</pacing_context>
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
### Output
|
|
172
|
+
|
|
173
|
+
Create the output directory if needed:
|
|
174
|
+
```bash
|
|
175
|
+
mkdir -p .manuscript/illustrations/panels/
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Save to `.manuscript/illustrations/panels/page-{number}-layout.md`
|
|
179
|
+
|
|
180
|
+
Commit: `illustration: generate panel layout for page {number}`
|
|
181
|
+
|
|
182
|
+
After saving, tell the writer:
|
|
183
|
+
> Panel layout saved to `.manuscript/illustrations/panels/page-{number}-layout.md`.
|
|
184
|
+
>
|
|
185
|
+
> Layout uses [style] style with [N] panels and [gutter width] gutters.
|
|
186
|
+
> Share with your artist or use as reference for panel composition.
|
|
187
|
+
>
|
|
188
|
+
> Adjacent pages: `/scr:panel-layout {prev}` | `/scr:panel-layout {next}`
|
|
189
|
+
> Change panel count: `/scr:panel-layout {number} --panels 4`
|
|
190
|
+
> Try a different style: `/scr:panel-layout {number} --style dynamic`
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
### Edge Cases
|
|
195
|
+
|
|
196
|
+
- **Non-comic work type:** Hard stop per comic_only constraint in CONSTRAINTS.json
|
|
197
|
+
- **Page not in outline:** "Page {number} is not in your outline. Your comic has {N} pages planned. Check `/scr:progress` for the outline structure."
|
|
198
|
+
- **Splash page request (--panels 1):** Generate single full-page panel with detailed composition. Confirm: "Splash page -- this panel carries the full page weight. Make it count."
|
|
199
|
+
- **9+ panels requested:** Warn about readability: "9 panels per page is the practical maximum. Beyond that, panels become too small for detail. Consider splitting across pages."
|
|
200
|
+
- **No drafted content:** Generate layout from OUTLINE.md beats. Note reduced dialogue/balloon detail.
|
|
201
|
+
- **ART-DIRECTION.md missing:** Generate layout without style notes. Suggest running art-direction first.
|
|
202
|
+
- **Manga style:** Automatically switch reading order to right-to-left and adjust page dimensions to manga standard (5" x 7.5").
|
|
203
|
+
|
|
204
|
+
## Response Contract
|
|
205
|
+
|
|
206
|
+
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.
|
|
207
|
+
|
|
208
|
+
Use this format:
|
|
209
|
+
|
|
210
|
+
```markdown
|
|
211
|
+
Next commands:
|
|
212
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
213
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
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.
|
|
217
|
+
|
|
218
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
219
|
+
|
|
220
|
+
```markdown
|
|
221
|
+
Next commands:
|
|
222
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
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,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Pause your work session. Captures where you are and what you were thinking so you can pick up later.
|
|
3
|
+
argument-hint: ""
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Pause Work
|
|
7
|
+
|
|
8
|
+
You are helping the writer pause their session gracefully. Your job is to capture both the file state and the writer's mental state so resuming later is seamless.
|
|
9
|
+
|
|
10
|
+
## What to do
|
|
11
|
+
|
|
12
|
+
1. **Read STATE.md** for current position (unit, stage, progress).
|
|
13
|
+
|
|
14
|
+
2. **Check for pre-existing uncommitted manuscript changes before mutating STATE.md.**
|
|
15
|
+
- Run `git status` for `.manuscript/` and remember whether there were already modified or untracked files.
|
|
16
|
+
- This check must happen before you update `STATE.md`, so the pause marker itself does not get mistaken for pre-existing unsaved writing work.
|
|
17
|
+
|
|
18
|
+
3. **Ask the writer:** "Any notes for when you come back?" -- This captures their thinking, intentions, concerns. Wait for their response.
|
|
19
|
+
|
|
20
|
+
4. **Handle the writer's response:**
|
|
21
|
+
- If the writer provides notes: store them in STATE.md "Session handoff" > "Resume context" along with the automated context.
|
|
22
|
+
- If the writer says nothing or declines: generate context automatically from STATE.md progress and last actions.
|
|
23
|
+
|
|
24
|
+
5. **Update STATE.md "Session handoff" section and session boundary markers** with the current timestamp and combined context:
|
|
25
|
+
```
|
|
26
|
+
**Last session ended:** {current timestamp, e.g., 2026-04-06 4:30 PM}
|
|
27
|
+
**Resume context:** {Automated: "Finished drafting chapter 3 (4 scenes, 1,247 words). Voice check passed. Was about to start discussing chapter 4."} {Writer's note: "I want chapter 4 to be shorter and more tense -- Marcus discovers the letter here."}
|
|
28
|
+
```
|
|
29
|
+
Also append a row to the "Last actions" table with:
|
|
30
|
+
- Timestamp: current timestamp
|
|
31
|
+
- Command: `pause-work`
|
|
32
|
+
- Unit: current unit (or `--` if none)
|
|
33
|
+
- Outcome: `Paused session`
|
|
34
|
+
Keep this pause marker in the Last actions table because `/scr:session-report` and future resume logic use it as a session boundary.
|
|
35
|
+
|
|
36
|
+
6. **Regenerate `.manuscript/CONTEXT.md`** using the `templates/CONTEXT.md` scaffold and the field set described in `/scr:save` step 7, with `{{LAST_COMMAND}}` set to `/scr:pause-work`. This is the file the next session reads first; refreshing it on pause means the writer (or a fresh AI session) returns to a current view without having to call `/scr:resume-work` to bootstrap.
|
|
37
|
+
|
|
38
|
+
7. **Append one line to `.manuscript/HISTORY.log`** per `docs/history-protocol.md`:
|
|
39
|
+
```
|
|
40
|
+
{ISO timestamp} | scr:pause-work | unit={current unit or --} | outcome=paused
|
|
41
|
+
```
|
|
42
|
+
Create HISTORY.log if it does not exist.
|
|
43
|
+
|
|
44
|
+
8. **Auto-save if there were pre-existing uncommitted changes.**
|
|
45
|
+
- Use the result from step 2, not a fresh post-update `git status` check.
|
|
46
|
+
- If the manuscript already had modified or untracked files before the pause-state update, run the `/scr:save` logic with the message "Saved before pausing" so both the writer's in-progress work and the pause metadata (CONTEXT.md and HISTORY.log included) are preserved together.
|
|
47
|
+
- Do not treat the pause-state update by itself as proof that the writer had unsaved manuscript work before pausing.
|
|
48
|
+
|
|
49
|
+
9. **Tell the writer:** "Paused. When you're ready to come back, just run `/scr:resume-work`."
|
|
50
|
+
|
|
51
|
+
## State capture
|
|
52
|
+
|
|
53
|
+
When writing the Resume context, include all of the following that are available:
|
|
54
|
+
|
|
55
|
+
- **Current unit and stage** -- e.g., "Working on chapter 4, planning stage"
|
|
56
|
+
- **Last few actions** from the "Last actions" table -- what happened most recently
|
|
57
|
+
- **Word count progress** -- total words written so far
|
|
58
|
+
- **Pending flags** -- voice issues, continuity flags, open revisions, unresolved notes
|
|
59
|
+
- **Writer's mental notes** -- the most important part. This is what makes resuming feel personal, not mechanical. Whatever the writer said when you asked for notes goes here verbatim.
|
|
60
|
+
|
|
61
|
+
## Response Contract
|
|
62
|
+
|
|
63
|
+
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.
|
|
64
|
+
|
|
65
|
+
Use this format:
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
Next commands:
|
|
69
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
70
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
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.
|
|
74
|
+
|
|
75
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
76
|
+
|
|
77
|
+
```markdown
|
|
78
|
+
Next commands:
|
|
79
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
83
|
+
|
|
84
|
+
## Tone
|
|
85
|
+
|
|
86
|
+
Warm, unhurried. "Take your time. Everything is saved. When you come back, I'll know exactly where we were."
|
|
87
|
+
|
|
88
|
+
Do not rush the writer. Do not list technical details. Make them feel like they can walk away without worry.
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Research and plan the next unit. Produces a structured plan file the drafter agent uses.
|
|
3
|
+
argument-hint: "[unit number, optional]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plan {unit}
|
|
7
|
+
|
|
8
|
+
You are in the **plan phase**. Your job is to turn the discuss-phase decisions into a concrete, actionable plan that the drafter agent can execute.
|
|
9
|
+
|
|
10
|
+
## Adaptive naming
|
|
11
|
+
|
|
12
|
+
Load `.manuscript/config.json` for `command_unit`. The runnable command stays `/scr:plan`; adapt the unit terminology in prompts and summaries.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
Require `{N}-CONTEXT.md` to exist (from discuss phase). If it doesn't, offer to run `/scr:discuss N` first. If the writer says "skip discuss", use defaults from STYLE-GUIDE.md and a brief read of OUTLINE.md.
|
|
17
|
+
|
|
18
|
+
## What to do
|
|
19
|
+
|
|
20
|
+
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, open items). The plan phase still needs the full creative inputs in step 1 (WORK.md, OUTLINE.md, RECORD.md, STYLE-GUIDE.md, characters, plot, themes, the discuss-phase context file, prior drafts) -- those are source material for the plan, not orientation. The bootstrap saves the redundant orientation reads. If CONTEXT.md is missing or stale, run step 1 unchanged. See `docs/context-protocol.md`.
|
|
21
|
+
|
|
22
|
+
1. **Load Creative Context:** WORK.md, OUTLINE.md, RECORD.md, STYLE-GUIDE.md, CHARACTERS.md (or adapted), PLOT-GRAPH.md (or adapted), THEMES.md, {N}-CONTEXT.md, and any previously drafted units for continuity. If RECORD.md is missing in an older project, continue and add a non-blocking plan note to initialize it after drafting. If files include `creative_pillar` frontmatter, use it only as a routing hint. Existing projects without metadata are valid. STYLE-GUIDE.md remains sovereign for any voice decision.
|
|
23
|
+
|
|
24
|
+
From `{N}-CONTEXT.md`, extract `CHOICE`, `HUNCH`, `QUESTION`, and `WATCHPOINT` craft notes. Blocking questions must be resolved before drafting. Non-blocking questions can travel into the plan as watchpoints.
|
|
25
|
+
From RECORD.md, extract established facts, open threads, promises, payoffs, continuity facts, movement, and next-unit obligations that apply to this unit.
|
|
26
|
+
From REFERENCES.md, SYSTEM.md, PROCEDURES.md, DOCTRINES.md, QUESTIONS.md, WORLD.md, THEMES.md, CHARACTERS.md, FIGURES.md, or adapted equivalents, extract any canonical terminology, source-of-truth notes, operating rules, doctrine, world rules, subject definitions, character knowledge boundaries, or procedure constraints that apply to this unit.
|
|
27
|
+
|
|
28
|
+
2. **Research (if enabled).** If the work type is academic, research the literature. If it's sacred, check canonical sources and traditional commentaries. If it's historical, verify period details. For fiction, research anything the writer flagged in {N}-CONTEXT.md (e.g., "I need to know how 18th century sailing worked").
|
|
29
|
+
|
|
30
|
+
3. **Build the plan.** Structure depends on work type:
|
|
31
|
+
- **Prose/Script** -- Scene-by-scene breakdown. Each scene: POV, location, time, characters present, emotional arc start/end, beat list, voice notes, continuity anchors to previous units.
|
|
32
|
+
- **Academic** -- Argument structure. Each subsection: claim, evidence, citations to integrate, transition to next.
|
|
33
|
+
- **Sacred** -- Passage structure. For each section: voice register, register transitions, key concepts, cross-references to other passages, doctrinal framing, source traditions if historical.
|
|
34
|
+
- **Poetry** -- Stanza plan, meter/form, volta placement, image schedule, sound-pattern notes.
|
|
35
|
+
|
|
36
|
+
Each plan file must include a `## Craft Notes` section. Carry forward confirmed `CHOICE` items as plan constraints, turn `HUNCH` items into draftable tests, keep non-blocking `QUESTION` items visible, and list `WATCHPOINT` items the drafter and editor should preserve or check.
|
|
37
|
+
|
|
38
|
+
When named characters drive the unit, each plan file should also include `## Character Persona Notes`. Pull from CHARACTERS.md and `{N}-CONTEXT.md`:
|
|
39
|
+
- active characters and current state
|
|
40
|
+
- pressure behavior to dramatize
|
|
41
|
+
- relationship-specific interaction notes for the pairings in the scene
|
|
42
|
+
- dialogue constraints and speech shifts by relationship
|
|
43
|
+
- persona or relationship watchpoints for editor-review
|
|
44
|
+
|
|
45
|
+
When the unit carries an idea, subject, theme, object, setting, process, doctrine, argument, reader problem, or image pattern, each plan file should include `## Subject Dynamics Notes`. This can stand alone for non-character work or sit beside `## Character Persona Notes` in character-based scenes. Pull from BRIEF.md, WORK.md, THEMES.md or adapted equivalents, OUTLINE.md, PLOT-GRAPH.md or adapted equivalents, and `{N}-CONTEXT.md`:
|
|
46
|
+
- active subject, idea, claim, procedure, place, object, doctrine, image pattern, or reader problem
|
|
47
|
+
- reader state at the start and desired shift by the end
|
|
48
|
+
- pressure or friction to make clear
|
|
49
|
+
- interaction to preserve, such as claim vs. counterclaim, rule vs. exception, step vs. failure mode, doctrine vs. practice, evidence vs. objection, or image vs. meaning
|
|
50
|
+
- evidence, example, sequence, rhythm, structure, safety, or theme watchpoints for editor-review
|
|
51
|
+
|
|
52
|
+
Use this detection test before omitting subject dynamics: if the unit changes what the reader understands, feels, fears, believes, can do, can verify, or notices, add `## Subject Dynamics Notes`. A character scene can still need subject dynamics when a theme, object, place, doctrine, argument, or reader understanding shifts.
|
|
53
|
+
|
|
54
|
+
If both note sections appear, keep their jobs distinct: character notes govern behavior, speech, relationship posture, and state; subject dynamics govern meaning, theme movement, reader-state movement, object significance, setting pressure, evidence, procedure, doctrine, or argument. If the two sections conflict, revise the plan or mark a blocking question before drafting.
|
|
55
|
+
|
|
56
|
+
Each plan file should include `## Record Notes` when this unit touches established content. Use it to list:
|
|
57
|
+
- established RECORD.md items this unit must honor
|
|
58
|
+
- open threads or reader promises this unit handles
|
|
59
|
+
- expected new record entries after drafting
|
|
60
|
+
- facts, claims, objects, procedures, images, or relationship states that must remain stable
|
|
61
|
+
|
|
62
|
+
Each plan file should include `## Domain Model Notes` when domain grilling resolved a term, source-of-truth question, procedure boundary, doctrine boundary, world rule, character knowledge rule, or subject definition. Use it to list:
|
|
63
|
+
- canonical terms the drafter must use
|
|
64
|
+
- terms to avoid or distinguish
|
|
65
|
+
- source files or external sources the plan is relying on
|
|
66
|
+
- boundary scenarios that clarify what the term or rule does and does not cover
|
|
67
|
+
- any durable updates needed for RECORD.md, REFERENCES.md, or an adapted source file
|
|
68
|
+
|
|
69
|
+
Before writing the plan, compare all domain-sensitive language against the loaded source files. If the plan uses a term differently than the project does, revise it or mark a `QUESTION: Blocking` item before drafting. Do not leave a contradiction for the drafter to guess through.
|
|
70
|
+
|
|
71
|
+
4. **Save as `.manuscript/plans/{N}-{A}-PLAN.md`** where {A} is the atomic unit (scene, subsection, passage, stanza). One plan file per atomic unit. The drafter will read each one in a fresh context to stay focused.
|
|
72
|
+
|
|
73
|
+
For older projects, if root-level `.manuscript/{N}-{A}-PLAN.md` files already exist, read them as legacy input, but write new and revised plans to `.manuscript/plans/`.
|
|
74
|
+
|
|
75
|
+
5. **Run the plan check.** For each `{N}-{A}-PLAN.md` you just wrote, invoke the installed `plan-checker.md` agent for the writer's active Scriveno runtime (for example the runtime's global or project-scoped `agents/plan-checker.md`) in a fresh context. Pass the plan file plus WORK.md, OUTLINE.md, RECORD.md, the relevant arc file (PLOT-GRAPH.md or THEOLOGICAL-ARC.md), CHARACTERS.md (or FIGURES.md), STYLE-GUIDE.md, `{N}-CONTEXT.md`, REFERENCES.md, SYSTEM.md, PROCEDURES.md, DOCTRINES.md, QUESTIONS.md, WORLD.md, THEMES.md, or adapted equivalents when present, and any previously drafted units. The agent returns a PLAN CHECK report with status READY or NEEDS REVISION plus specific completeness, alignment, record, domain model, character, voice, pacing, and craft-note findings. Surface its recommendations to the writer before suggesting the draft step. If the agent flags NEEDS REVISION on any plan, hold the draft suggestion and offer to fix the flagged items first.
|
|
76
|
+
|
|
77
|
+
6. **Write a short summary** for the writer: "Planned {unit} {N}: X {atomic_units}, main arc goes from Y to Z, voice notes applied from STYLE-GUIDE.md. Plan check: {READY | N items flagged}."
|
|
78
|
+
|
|
79
|
+
7. **Update STATE.md** and suggest: "Ready to draft? Run `/scr:draft N`." (Suppress the draft suggestion if any plan came back NEEDS REVISION; suggest addressing the flagged items first.)
|
|
80
|
+
|
|
81
|
+
8. **Append one line to `.manuscript/HISTORY.log`** per `docs/history-protocol.md`:
|
|
82
|
+
```
|
|
83
|
+
{ISO timestamp} | scr:plan | unit={N} | atomic-units={count} | check={READY|N-flagged} | outcome=ok
|
|
84
|
+
```
|
|
85
|
+
If the run failed, use `outcome=failed:<short-reason>` instead. Create HISTORY.log if it does not exist.
|
|
86
|
+
|
|
87
|
+
## Response Contract
|
|
88
|
+
|
|
89
|
+
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.
|
|
90
|
+
|
|
91
|
+
Use this format:
|
|
92
|
+
|
|
93
|
+
```markdown
|
|
94
|
+
Next commands:
|
|
95
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
96
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
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.
|
|
100
|
+
|
|
101
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
102
|
+
|
|
103
|
+
```markdown
|
|
104
|
+
Next commands:
|
|
105
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
109
|
+
|
|
110
|
+
## Tone
|
|
111
|
+
|
|
112
|
+
Focused. This is craft work. Don't pad with commentary -- the writer wants to see a concrete plan fast.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Plant a creative seed -- an idea, image, or fragment for future use.
|
|
3
|
+
argument-hint: "<idea>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plant Seed
|
|
7
|
+
|
|
8
|
+
You are capturing a creative seed -- a fragment of an idea that the writer wants to remember for later.
|
|
9
|
+
|
|
10
|
+
## What to do
|
|
11
|
+
|
|
12
|
+
1. Take the idea from the argument
|
|
13
|
+
2. Auto-detect a category tag based on content:
|
|
14
|
+
- **character** -- mentions a person, name, trait, or backstory idea
|
|
15
|
+
- **scene** -- describes a moment, setting, or event
|
|
16
|
+
- **dialogue** -- contains speech, a line, or conversation idea
|
|
17
|
+
- **theme** -- abstract concept, message, or motif
|
|
18
|
+
- **world** -- setting detail, rule, place, or system
|
|
19
|
+
- **other** -- anything that doesn't fit the above
|
|
20
|
+
3. Open `.manuscript/SEEDS.md` (create if it doesn't exist)
|
|
21
|
+
4. If creating: add header `# Creative Seeds\n\nIdeas, fragments, and sparks for future use.\n\n`
|
|
22
|
+
5. Append the seed:
|
|
23
|
+
```
|
|
24
|
+
- [2026-04-07 14:30] [character] What if the detective's partner is secretly related to the victim?
|
|
25
|
+
```
|
|
26
|
+
6. Confirm: "Seed planted. [category]"
|
|
27
|
+
|
|
28
|
+
## How seeds get used
|
|
29
|
+
|
|
30
|
+
Seeds can be referenced during the discuss phase. When running `/scr:discuss`, check SEEDS.md for planted ideas that relate to the upcoming unit. Mention relevant seeds: "You planted a seed about X -- want to work it in here?"
|
|
31
|
+
|
|
32
|
+
## Response Contract
|
|
33
|
+
|
|
34
|
+
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.
|
|
35
|
+
|
|
36
|
+
Use this format:
|
|
37
|
+
|
|
38
|
+
```markdown
|
|
39
|
+
Next commands:
|
|
40
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
41
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
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.
|
|
45
|
+
|
|
46
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
Next commands:
|
|
50
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
54
|
+
|
|
55
|
+
## Tone
|
|
56
|
+
|
|
57
|
+
Encouraging. Planting seeds is a creative act -- acknowledge it briefly and let the writer keep flowing.
|