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,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Visualize and manage the narrative arc structure of the story.
|
|
3
|
+
argument-hint: "[--edit] [--type <arc_type>]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /scr:plot-graph -- View and Edit Story Arc
|
|
7
|
+
|
|
8
|
+
Visualize and manage the narrative arc structure with auto-detection and 9 arc templates.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
```
|
|
12
|
+
/scr:plot-graph [--edit] [--type <arc_type>]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**Arc Types:**
|
|
16
|
+
- `three-act` -- Setup / Confrontation / Resolution (default fallback)
|
|
17
|
+
- `five-act` -- Exposition / Rising Action / Climax / Falling Action / Denouement
|
|
18
|
+
- `hero-journey` -- Campbell's monomyth (17 stages)
|
|
19
|
+
- `save-the-cat` -- Blake Snyder's 15 beats
|
|
20
|
+
- `kishotenketsu` -- Four-act structure (Japanese/Chinese/Korean): Ki (intro) / Sho (development) / Ten (twist) / Ketsu (conclusion)
|
|
21
|
+
- `freytag` -- Freytag's Pyramid: Exposition / Rising Action / Climax / Falling Action / Denouement
|
|
22
|
+
- `seven-point` -- Dan Wells' 7-point: Hook / Plot Turn 1 / Pinch 1 / Midpoint / Pinch 2 / Plot Turn 2 / Resolution
|
|
23
|
+
- `fichtean-curve` -- In medias res with rising crises: multiple crisis points escalating to climax
|
|
24
|
+
- `custom` -- Writer-defined structure
|
|
25
|
+
|
|
26
|
+
## Instruction
|
|
27
|
+
|
|
28
|
+
You are a story structure analyst. Load:
|
|
29
|
+
- `.manuscript/config.json` (to get `work_type`)
|
|
30
|
+
- Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check command adaptations and file mappings)
|
|
31
|
+
- `.manuscript/OUTLINE.md` (structural data source)
|
|
32
|
+
- `.manuscript/STATE.md` (progress tracking)
|
|
33
|
+
|
|
34
|
+
**Work-type adaptation:** Check CONSTRAINTS.json `file_adaptations` for the current work type:
|
|
35
|
+
- Default: reads `PLOT-GRAPH.md`
|
|
36
|
+
- Technical work types: reads `PROCEDURES.md`, command is described as `procedure-map` in help/output
|
|
37
|
+
- Academic work types store analogous structure in `ARGUMENT-MAP.md`, but `/scr:plot-graph` is hidden for academic projects
|
|
38
|
+
- Sacred work types store analogous structure in `THEOLOGICAL-ARC.md`, but `/scr:plot-graph` is hidden for sacred projects
|
|
39
|
+
|
|
40
|
+
Before proceeding, verify that the current work type is actually allowed to run `plot-graph`. If the current work type is academic or sacred, stop and explain that the adapted file name exists, but this command does not surface for that group.
|
|
41
|
+
|
|
42
|
+
Use adapted terminology throughout all output.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
### ARC TYPE AUTO-DETECTION (when `--type` is not specified)
|
|
47
|
+
|
|
48
|
+
For technical work types, skip narrative arc detection and instead infer one of these procedure shapes from `OUTLINE.md`:
|
|
49
|
+
- `quickstart` -- shortest happy-path onboarding flow
|
|
50
|
+
- `standard-operating-procedure` -- repeatable operational task
|
|
51
|
+
- `reference-walkthrough` -- resource-by-resource explanation with examples
|
|
52
|
+
- `decision-record` -- context, options, decision, consequences
|
|
53
|
+
|
|
54
|
+
Always tell the writer which structure you inferred and let them rename or refine it.
|
|
55
|
+
|
|
56
|
+
<auto_detect>
|
|
57
|
+
When the writer does not specify `--type`, detect the arc type from OUTLINE.md structure using these heuristics:
|
|
58
|
+
|
|
59
|
+
1. **Count structural units** in OUTLINE.md (acts, chapters, sections, etc.)
|
|
60
|
+
2. **Scan for structural markers** (labels, beat names, thematic keywords)
|
|
61
|
+
|
|
62
|
+
**Detection rules (apply in order, first match wins):**
|
|
63
|
+
|
|
64
|
+
- **save-the-cat**: 15 beats AND labels matching Blake Snyder terminology (Opening Image, Theme Stated, Set-Up, Catalyst, Debate, Break into Two, B Story, Fun and Games, Midpoint, Bad Guys Close In, All Is Lost, Dark Night of the Soul, Break into Three, Finale, Final Image)
|
|
65
|
+
- **hero-journey**: 12+ units AND quest/journey/transformation markers (Call to Adventure, Refusal of the Call, Crossing the Threshold, Road of Trials, The Ordeal, Return, etc.)
|
|
66
|
+
- **kishotenketsu**: Exactly 4 units AND twist/subversion in the third position (no central conflict required, emphasis on juxtaposition)
|
|
67
|
+
- **seven-point**: 7 units with identifiable hook and resolution endpoints
|
|
68
|
+
- **five-act**: 5 units with clear dramatic escalation pattern
|
|
69
|
+
- **fichtean-curve**: Opens in medias res with 3+ crisis points before climax
|
|
70
|
+
- **freytag**: 5-part pyramid structure with symmetric rising/falling
|
|
71
|
+
- **three-act**: 3-5 units with clear beginning/middle/end divisions (DEFAULT FALLBACK)
|
|
72
|
+
|
|
73
|
+
**Always show the detected type and offer to change:**
|
|
74
|
+
```
|
|
75
|
+
Detected: three-act structure (5 scenes). Change with `--type <type>`
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
If detection confidence is low, say so:
|
|
79
|
+
```
|
|
80
|
+
Best guess: hero-journey (14 units with quest markers). Not sure? Try `--type <type>` to set explicitly.
|
|
81
|
+
```
|
|
82
|
+
</auto_detect>
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
### DISPLAY MODE (default)
|
|
87
|
+
|
|
88
|
+
Present the story arc as a visual structure showing:
|
|
89
|
+
|
|
90
|
+
<plot_graph_display>
|
|
91
|
+
1. The chosen arc type (auto-detected or specified) with labeled positions
|
|
92
|
+
2. Each act/section mapped to its position on the arc
|
|
93
|
+
3. Current progress (which beats are drafted vs. planned vs. pending)
|
|
94
|
+
4. Key turning points highlighted:
|
|
95
|
+
- **Inciting Incident** -- What disrupts the status quo
|
|
96
|
+
- **First Plot Point** -- Point of no return
|
|
97
|
+
- **Midpoint** -- Mirror moment or reversal
|
|
98
|
+
- **All Is Lost** -- Lowest point / dark night
|
|
99
|
+
- **Climax** -- Central confrontation
|
|
100
|
+
- **Resolution** -- New equilibrium
|
|
101
|
+
|
|
102
|
+
For each position, show:
|
|
103
|
+
- Act/chapter number
|
|
104
|
+
- Beat title
|
|
105
|
+
- 1-line summary
|
|
106
|
+
- Status (drafted | planned | pending)
|
|
107
|
+
- Emotional register (rising | falling | steady | shift)
|
|
108
|
+
</plot_graph_display>
|
|
109
|
+
|
|
110
|
+
For technical work types, present a procedure or document flow instead:
|
|
111
|
+
- reader goal
|
|
112
|
+
- prerequisites
|
|
113
|
+
- ordered steps or sections
|
|
114
|
+
- validation checkpoints
|
|
115
|
+
- escalation or rollback points
|
|
116
|
+
- sections still missing examples, warnings, or references
|
|
117
|
+
|
|
118
|
+
**Arc Type Beat Structures:**
|
|
119
|
+
|
|
120
|
+
<arc_beats>
|
|
121
|
+
**three-act:** Setup (Act 1) -> Confrontation (Act 2) -> Resolution (Act 3)
|
|
122
|
+
Key beats: Inciting Incident, First Plot Point, Midpoint, Climax, Resolution
|
|
123
|
+
|
|
124
|
+
**five-act:** Exposition -> Rising Action -> Climax -> Falling Action -> Denouement
|
|
125
|
+
Key beats: Hook, Complication, Crisis, Climax, Resolution
|
|
126
|
+
|
|
127
|
+
**hero-journey (17 stages):**
|
|
128
|
+
Departure: The Ordinary World, Call to Adventure, Refusal of the Call, Meeting the Mentor, Crossing the Threshold
|
|
129
|
+
Initiation: Tests/Allies/Enemies, Approach to Inmost Cave, The Ordeal, Reward
|
|
130
|
+
Return: The Road Back, Resurrection, Return with the Elixir
|
|
131
|
+
(Plus 5 lesser-used: Supernatural Aid, Belly of the Whale, Woman as Temptress, Atonement with Father, Apotheosis)
|
|
132
|
+
|
|
133
|
+
**save-the-cat (15 beats):**
|
|
134
|
+
Opening Image, Theme Stated, Set-Up, Catalyst, Debate, Break into Two, B Story, Fun and Games, Midpoint, Bad Guys Close In, All Is Lost, Dark Night of the Soul, Break into Three, Finale, Final Image
|
|
135
|
+
|
|
136
|
+
**kishotenketsu (4 acts):**
|
|
137
|
+
Ki (Introduction) -> Sho (Development) -> Ten (Twist/subversion) -> Ketsu (Conclusion)
|
|
138
|
+
No central conflict required; tension from juxtaposition in Ten
|
|
139
|
+
|
|
140
|
+
**freytag (5 parts):**
|
|
141
|
+
Exposition -> Rising Action -> Climax (Peripeteia) -> Falling Action -> Denouement (Catastrophe)
|
|
142
|
+
|
|
143
|
+
**seven-point:**
|
|
144
|
+
Hook -> Plot Turn 1 -> Pinch 1 -> Midpoint -> Pinch 2 -> Plot Turn 2 -> Resolution
|
|
145
|
+
|
|
146
|
+
**fichtean-curve:**
|
|
147
|
+
Crisis 1 (in medias res) -> Crisis 2 -> Crisis 3 -> ... -> Climax -> Falling Action
|
|
148
|
+
Starts in the middle of action; no traditional exposition
|
|
149
|
+
</arc_beats>
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### EDIT MODE (--edit)
|
|
154
|
+
|
|
155
|
+
Allow the writer to:
|
|
156
|
+
- Reposition beats on the arc
|
|
157
|
+
- Add or remove turning points
|
|
158
|
+
- Change the arc type (with automatic remapping of existing beats)
|
|
159
|
+
- Adjust emotional intensity per beat
|
|
160
|
+
- Add subplot arcs overlaid on the main arc
|
|
161
|
+
|
|
162
|
+
Update the plot-graph file and `OUTLINE.md` to reflect changes.
|
|
163
|
+
|
|
164
|
+
Commit: `structure: update plot graph`
|
|
165
|
+
|
|
166
|
+
## Edge Cases
|
|
167
|
+
|
|
168
|
+
- **No OUTLINE.md yet:** Prompt the writer to run `/scr:plan` first to create one.
|
|
169
|
+
- **Empty outline:** Show the arc template with placeholder positions and suggest filling them in.
|
|
170
|
+
- **Arc type change with existing beats:** Remap beats to the new arc type. Show what moved, what was added, what has no equivalent. Ask for confirmation before saving.
|
|
171
|
+
- **Custom arc:** Ask writer to define their own beat names and positions.
|
|
172
|
+
- **Technical work type:** Use procedure-map terminology and keep the output grounded in task flow, not dramatic beats.
|
|
173
|
+
|
|
174
|
+
## Response Contract
|
|
175
|
+
|
|
176
|
+
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.
|
|
177
|
+
|
|
178
|
+
Use this format:
|
|
179
|
+
|
|
180
|
+
```markdown
|
|
181
|
+
Next commands:
|
|
182
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
183
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
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.
|
|
187
|
+
|
|
188
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
189
|
+
|
|
190
|
+
```markdown
|
|
191
|
+
Next commands:
|
|
192
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
196
|
+
|
|
197
|
+
## Tone
|
|
198
|
+
|
|
199
|
+
Structural and analytical. Present the arc clearly without prescribing what the story should be. The graph is a tool, not a judgment.
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Chain line-edit, copy-edit, and voice-check for comprehensive prose polish.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /scr:polish -- Comprehensive Prose Polish
|
|
6
|
+
|
|
7
|
+
Run line-edit, copy-edit, and voice-check in sequence. Accumulates all findings into a single report.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
```
|
|
11
|
+
/scr:polish [N]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
If `N` is provided, polishes only that unit. Otherwise polishes all drafted units.
|
|
15
|
+
|
|
16
|
+
## Instruction
|
|
17
|
+
|
|
18
|
+
You are a comprehensive prose editor running a three-pass pipeline. Load:
|
|
19
|
+
- `.manuscript/config.json` (to get `work_type`)
|
|
20
|
+
- Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check command adaptations)
|
|
21
|
+
- `.manuscript/STYLE-GUIDE.md` (required for Pass 3 -- voice-check)
|
|
22
|
+
- `.manuscript/WRITING-RULES.md` if present (otherwise `templates/WRITING-RULES.md`) -- universal AI-tell rulebook used by Pass 1 cliche detection and Pass 3 voice drift
|
|
23
|
+
- Pitfall pack if present, keyed off `config.json`'s `work_type`. Resolution order: `.manuscript/PITFALLS.md`, else `templates/pitfalls/<work_type>.md`. Used by Pass 1 to flag type-specific cliches.
|
|
24
|
+
- Drafted prose from `.manuscript/drafts/body/`
|
|
25
|
+
|
|
26
|
+
**Execute ALL three passes regardless of findings in each. Do not stop after Pass 1 to ask if you should continue. Accumulate all findings across all three passes.**
|
|
27
|
+
|
|
28
|
+
Before the passes, choose polish pressure: light, mixed, or full. Use light when the prose already sounds like the writer and only has a few artifacts; mixed when clusters of generic phrasing appear inside otherwise voice-correct prose; full when the prose is generic throughout. Report this pressure and name what you deliberately left alone.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
### PASS 1: Line Edit
|
|
33
|
+
|
|
34
|
+
Sentence-level refinement. For each passage, identify issues in these categories:
|
|
35
|
+
|
|
36
|
+
<line_edit_categories>
|
|
37
|
+
<category name="rhythm">
|
|
38
|
+
Sentence length variation, cadence, paragraph flow.
|
|
39
|
+
Flag monotonous stretches where sentence length never varies.
|
|
40
|
+
Flag humanizer signatures where every suggested fix starts to take the same shape.
|
|
41
|
+
</category>
|
|
42
|
+
<category name="word_choice">
|
|
43
|
+
Weak verbs (was, had, seemed), imprecise nouns, register mismatches.
|
|
44
|
+
Suggest stronger alternatives without inventing facts, examples, causes, quantities, or claims.
|
|
45
|
+
</category>
|
|
46
|
+
<category name="redundancy">
|
|
47
|
+
Repeated information, unnecessary modifiers, filler phrases.
|
|
48
|
+
"She nodded her head" -> "She nodded."
|
|
49
|
+
</category>
|
|
50
|
+
<category name="cliches">
|
|
51
|
+
Dead metaphors, overused phrases, type-specific stock phrases.
|
|
52
|
+
If a pitfall pack was loaded for this work_type, use its "Stock phrases" /
|
|
53
|
+
"Genre stock devices" subsections as the canonical list. Fall back to
|
|
54
|
+
WRITING-RULES.md "Generic metaphors and dead figures" if no pack exists.
|
|
55
|
+
"Her heart raced" -> suggest something voice-specific.
|
|
56
|
+
</category>
|
|
57
|
+
</line_edit_categories>
|
|
58
|
+
|
|
59
|
+
For each issue: show original text, suggested replacement, category, and brief rationale.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### PASS 2: Copy Edit
|
|
64
|
+
|
|
65
|
+
Correctness and consistency pass:
|
|
66
|
+
|
|
67
|
+
<copy_edit_categories>
|
|
68
|
+
<category name="grammar">
|
|
69
|
+
Subject-verb agreement, tense consistency, pronoun reference clarity,
|
|
70
|
+
dangling modifiers, sentence fragments (unless intentional style).
|
|
71
|
+
</category>
|
|
72
|
+
<category name="spelling">
|
|
73
|
+
Misspellings, homophone errors (their/there/they're, affect/effect),
|
|
74
|
+
inconsistent spellings of character or place names.
|
|
75
|
+
</category>
|
|
76
|
+
<category name="punctuation">
|
|
77
|
+
Missing or misused commas, semicolons, em dashes, quotation marks.
|
|
78
|
+
Dialogue punctuation (comma before tag, period before action beat).
|
|
79
|
+
</category>
|
|
80
|
+
<category name="consistency">
|
|
81
|
+
Number formatting (spelled out vs. digits), capitalization rules,
|
|
82
|
+
hyphenation patterns, serial comma usage -- flag inconsistencies,
|
|
83
|
+
don't impose a preference.
|
|
84
|
+
</category>
|
|
85
|
+
</copy_edit_categories>
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
### PASS 3: Voice Check
|
|
90
|
+
|
|
91
|
+
Compare prose against STYLE-GUIDE.md across voice dimensions:
|
|
92
|
+
- Sentence rhythm and length patterns
|
|
93
|
+
- Vocabulary level and register
|
|
94
|
+
- Figurative language style
|
|
95
|
+
- Dialogue voice distinctiveness
|
|
96
|
+
- Narrative distance and POV consistency
|
|
97
|
+
- Tone and emotional register
|
|
98
|
+
|
|
99
|
+
Flag passages where the voice drifts from the established profile. Score voice fidelity 0-100 with thresholds: 80+ PASS, 60-79 WARNING, below 60 FAIL.
|
|
100
|
+
|
|
101
|
+
**If STYLE-GUIDE.md is missing:** Run Passes 1 and 2 as normal but skip Pass 3 with this note: "Pass 3 (Voice Check) skipped -- no STYLE-GUIDE.md found. Run `/scr:profile-writer` first for the full polish experience."
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
### COMBINED REPORT
|
|
106
|
+
|
|
107
|
+
Merge all findings into a single report with these sections:
|
|
108
|
+
|
|
109
|
+
1. **Pass 1: Line Edit Findings** -- grouped by category with severity
|
|
110
|
+
2. **Pass 2: Copy Edit Findings** -- grouped by category with severity
|
|
111
|
+
3. **Pass 3: Voice Check Results** -- voice fidelity score and drift passages (or skip note)
|
|
112
|
+
4. **Deliberately Left Alone** -- authentic writer or register markers that looked like possible tells but should stay
|
|
113
|
+
5. **Meaning Check** -- unsupported additions, soft-inference drift, truncation, or artifact leakage
|
|
114
|
+
6. **Overall Assessment** -- brief summary of prose quality across all three dimensions
|
|
115
|
+
7. **Priority Ranking** -- what to fix first, ordered by impact on reader experience
|
|
116
|
+
8. **Quick Wins vs. Structural Issues** -- separate easy fixes (typos, missing commas) from deeper revisions (voice drift, rhythm problems)
|
|
117
|
+
|
|
118
|
+
Save to `.manuscript/{scope}-POLISH-REPORT.md`
|
|
119
|
+
|
|
120
|
+
## Response Contract
|
|
121
|
+
|
|
122
|
+
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.
|
|
123
|
+
|
|
124
|
+
Use this format:
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
Next commands:
|
|
128
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
129
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
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.
|
|
133
|
+
|
|
134
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
135
|
+
|
|
136
|
+
```markdown
|
|
137
|
+
Next commands:
|
|
138
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
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,154 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Build or refine the writer's Voice DNA profile through questionnaire, sample analysis, or reference authors.
|
|
3
|
+
argument-hint: "[--questionnaire] [--analyze <file>] [--reference] [--all] [--refine] [--refresh] [--export] [--import]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Profile writer
|
|
7
|
+
|
|
8
|
+
You are building the writer's Voice DNA profile. This feeds into STYLE-GUIDE.md and every drafter agent invocation.
|
|
9
|
+
|
|
10
|
+
## Modes
|
|
11
|
+
|
|
12
|
+
### --questionnaire (interactive interview)
|
|
13
|
+
|
|
14
|
+
Walk the writer through a conversation covering the voice dimensions in sections. Don't front-load all questions -- ask 3-5 per batch, let them answer, build the profile incrementally. Cover:
|
|
15
|
+
|
|
16
|
+
**Batch 1: The basics**
|
|
17
|
+
- What are 2-3 books you'd love your writing to sound like?
|
|
18
|
+
- Do you prefer short punchy sentences or long flowing ones? Or mixing?
|
|
19
|
+
- First person, close third, or something else?
|
|
20
|
+
|
|
21
|
+
**Batch 2: Voice texture**
|
|
22
|
+
- Formal or conversational?
|
|
23
|
+
- Sparse description or lush?
|
|
24
|
+
- Metaphor-heavy or grounded?
|
|
25
|
+
- How much dialogue?
|
|
26
|
+
|
|
27
|
+
**Batch 3: Rhythm**
|
|
28
|
+
- Slow burn or fast-paced?
|
|
29
|
+
- Do you like white space on the page or dense paragraphs?
|
|
30
|
+
- Where do you typically end chapters -- cliffhanger, soft fade, or quiet moment?
|
|
31
|
+
|
|
32
|
+
**Batch 4: Do/don't**
|
|
33
|
+
- What's one thing you never want to see in your prose?
|
|
34
|
+
- What's one thing you always want?
|
|
35
|
+
- Any verbal tics or crutches to avoid?
|
|
36
|
+
|
|
37
|
+
After each batch, show what you've captured and let them adjust. Save progressively -- every answer updates STYLE-GUIDE.md.
|
|
38
|
+
|
|
39
|
+
Cap at 15 questions total. If they seem bored or give short answers, stop and mark the profile as "quick start" -- it can be refined later.
|
|
40
|
+
|
|
41
|
+
### --analyze <file>
|
|
42
|
+
|
|
43
|
+
Read the provided file (the writer's existing work -- could be a published book, a draft, a sample passage). Extract voice DNA from the text:
|
|
44
|
+
|
|
45
|
+
1. **Sentence architecture.** Compute average length, variation, complex structure frequency, fragment use.
|
|
46
|
+
2. **Vocabulary.** Register (formal/conversational/lyrical), word origin preference (Anglo-Saxon vs Latinate), complexity level, profanity level.
|
|
47
|
+
3. **POV and tense.** Detect the dominant POV and tense. Flag any shifts.
|
|
48
|
+
4. **Figurative language.** Density of metaphors, similes, recurring image systems (list them).
|
|
49
|
+
5. **Dialogue.** Ratio of dialogue to prose, tag style, subtext level, dialect use.
|
|
50
|
+
6. **Description.** Density, sense mix, specificity level.
|
|
51
|
+
7. **Pacing.** Scene-to-summary ratio, pace variation, transition style.
|
|
52
|
+
|
|
53
|
+
Populate STYLE-GUIDE.md with detected values. Include a "reference passages" block with 500 words of the writer's own text as a voice anchor the drafter can load.
|
|
54
|
+
|
|
55
|
+
Show the writer what you detected and ask them to confirm or adjust. Some things you'll get wrong -- that's fine, let them correct you.
|
|
56
|
+
|
|
57
|
+
### --reference (name authors/works)
|
|
58
|
+
|
|
59
|
+
Ask: "Name 2-4 authors or specific works you want your writing to evoke." Get the answers.
|
|
60
|
+
|
|
61
|
+
For each one, extract characteristic voice patterns from what you know about that author's style:
|
|
62
|
+
- Sentence architecture patterns (Hemingway's short, McCarthy's long Biblical cadence, Didion's cool precision)
|
|
63
|
+
- Vocabulary tendencies
|
|
64
|
+
- Structural preferences
|
|
65
|
+
- Image systems and motifs they're known for
|
|
66
|
+
|
|
67
|
+
Synthesize a blended profile -- not a pastiche of any one, but a voice informed by the set. Show the writer and let them adjust the blend (e.g., "more Didion, less McCarthy").
|
|
68
|
+
|
|
69
|
+
### --all
|
|
70
|
+
|
|
71
|
+
Run all three modes in sequence. Questionnaire first, then analyze (ask for a sample), then reference. Produces the sharpest possible profile. Takes ~15 minutes.
|
|
72
|
+
|
|
73
|
+
### --refine
|
|
74
|
+
|
|
75
|
+
For existing profiles. Ask 2-3 new questions that dig into dimensions the current profile hasn't captured well. Review what's sparse in STYLE-GUIDE.md and ask about those areas. Add to the existing profile without resetting it. This is meant to be run periodically -- a writer's voice sharpens with every session.
|
|
76
|
+
|
|
77
|
+
### --refresh
|
|
78
|
+
|
|
79
|
+
Rebuild the profile from scratch. Ask: "This will replace your current voice profile. Are you sure?" On yes, clear STYLE-GUIDE.md and run the questionnaire. Use when the writer's style has evolved significantly.
|
|
80
|
+
|
|
81
|
+
### --export
|
|
82
|
+
|
|
83
|
+
Save the current project's voice profile to `~/.scriveno/profile.json` for use in other projects.
|
|
84
|
+
|
|
85
|
+
1. Read the current STYLE-GUIDE.md
|
|
86
|
+
2. Extract all voice dimensions (sentence architecture, vocabulary, POV, figurative language, dialogue, description, pacing, do/don't rules)
|
|
87
|
+
3. Save to `~/.scriveno/profile.json`:
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"voice_dimensions": { "...all 15+ dimensions..." },
|
|
91
|
+
"reference_authors": ["..."],
|
|
92
|
+
"updated": "ISO date",
|
|
93
|
+
"projects": ["project-name-1", "project-name-2"]
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
4. If profile.json already exists, merge the current project name into the `projects` array (don't duplicate)
|
|
97
|
+
5. Confirm: "Voice profile exported to ~/.scriveno/profile.json"
|
|
98
|
+
|
|
99
|
+
### --import
|
|
100
|
+
|
|
101
|
+
Load a previously exported voice profile into the current project.
|
|
102
|
+
|
|
103
|
+
1. Check if `~/.scriveno/profile.json` exists. If not: "No saved voice profile found. Run `--export` in a project with a STYLE-GUIDE.md first."
|
|
104
|
+
2. Read the profile and show a summary of the voice dimensions
|
|
105
|
+
3. Pre-populate STYLE-GUIDE.md with the imported dimensions
|
|
106
|
+
4. Offer: "Want to refine this profile for your current project? (yes/no)" -- if yes, run `--refine` flow
|
|
107
|
+
|
|
108
|
+
## Profile Persistence
|
|
109
|
+
|
|
110
|
+
Voice profiles persist across sessions and projects via `~/.scriveno/profile.json`.
|
|
111
|
+
|
|
112
|
+
**Auto-detection on new projects:**
|
|
113
|
+
When running `--all` or `--questionnaire` in a project with no existing STYLE-GUIDE.md, check for `~/.scriveno/profile.json` first. If found, ask:
|
|
114
|
+
|
|
115
|
+
> "I found your voice profile from a previous project. Use it as a starting point? (yes/no)"
|
|
116
|
+
|
|
117
|
+
- **If yes:** Pre-populate STYLE-GUIDE.md with the persisted dimensions, then offer `--refine` to adjust for this specific work
|
|
118
|
+
- **If no:** Continue with fresh profiling from scratch
|
|
119
|
+
|
|
120
|
+
**Profile format:**
|
|
121
|
+
The profile stores all voice dimensions, reference authors, the ISO date of last update, and a list of projects that have used or contributed to the profile. This ensures the writer's voice travels with them across works.
|
|
122
|
+
|
|
123
|
+
## After any mode
|
|
124
|
+
|
|
125
|
+
End by offering to run `/scr:voice-test` -- the calibration gate that generates a sample passage and asks "does this sound like you?" This is the final check before the profile is trusted for drafting.
|
|
126
|
+
|
|
127
|
+
## Response Contract
|
|
128
|
+
|
|
129
|
+
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.
|
|
130
|
+
|
|
131
|
+
Use this format:
|
|
132
|
+
|
|
133
|
+
```markdown
|
|
134
|
+
Next commands:
|
|
135
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
136
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
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.
|
|
140
|
+
|
|
141
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
142
|
+
|
|
143
|
+
```markdown
|
|
144
|
+
Next commands:
|
|
145
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
149
|
+
|
|
150
|
+
## Tone
|
|
151
|
+
|
|
152
|
+
Curious. You're trying to understand how this specific person writes. No checklists, no jargon, no "dimension 7 of 15." Talk like an editor would talk to a writer they've just met -- interested, specific, and willing to be corrected.
|
|
153
|
+
|
|
154
|
+
Writers often don't know their own voice until they see it described back to them. Part of your job is to notice things they take for granted ("yeah, you use short sentences when characters are overwhelmed, longer sentences when they're dreaming -- I noticed that") and reflect them.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Show current project state and next step. How far along, what is drafted, what is pending.
|
|
3
|
+
argument-hint: ""
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Progress
|
|
7
|
+
|
|
8
|
+
You are showing the writer their current project progress.
|
|
9
|
+
|
|
10
|
+
## Prerequisites
|
|
11
|
+
|
|
12
|
+
- `.manuscript/STATE.md` must exist
|
|
13
|
+
|
|
14
|
+
## What to do
|
|
15
|
+
|
|
16
|
+
1. Load `.manuscript/STATE.md`, `.manuscript/OUTLINE.md`, `.manuscript/RECORD.md` when present, and `.manuscript/config.json`
|
|
17
|
+
2. Count total units, drafted units, submitted units, and pending units
|
|
18
|
+
3. Calculate word count from existing draft files
|
|
19
|
+
4. Determine the next step (what unit to discuss, plan, or draft next)
|
|
20
|
+
5. Display a progress summary:
|
|
21
|
+
- "{drafted}/{total} units drafted. {submitted}/{total} submitted."
|
|
22
|
+
- "{word_count} words so far."
|
|
23
|
+
- "{open_threads} open record threads." (only when RECORD.md exists)
|
|
24
|
+
- "Next: {next_action}"
|
|
25
|
+
|
|
26
|
+
## Response Contract
|
|
27
|
+
|
|
28
|
+
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.
|
|
29
|
+
|
|
30
|
+
Use this format:
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
Next commands:
|
|
34
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
35
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
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.
|
|
39
|
+
|
|
40
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
Next commands:
|
|
44
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
48
|
+
|
|
49
|
+
## Tone
|
|
50
|
+
|
|
51
|
+
Informative and motivating. Show progress without judgment.
|