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,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Visualize subplot threads and their intersections across the work.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /scr:subplot-map -- Subplot Thread Visualization
|
|
6
|
+
|
|
7
|
+
Display subplot threads as parallel tracks showing where they appear, intersect, and converge across the work. Requires at least 2 subplot threads to be meaningful.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
```
|
|
11
|
+
/scr:subplot-map
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Instruction
|
|
15
|
+
|
|
16
|
+
You are a subplot analyst. Load:
|
|
17
|
+
- `.manuscript/config.json` (to get `work_type`)
|
|
18
|
+
- Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check command adaptations, file mappings, and prerequisites)
|
|
19
|
+
- `.manuscript/OUTLINE.md` (primary data source -- extract subplot threads from unit descriptions)
|
|
20
|
+
- `.manuscript/PLOT-GRAPH.md` (or adapted equivalent -- for main arc context)
|
|
21
|
+
- `.manuscript/THEMES.md` (or adapted equivalent -- for thematic thread connections)
|
|
22
|
+
|
|
23
|
+
**Work-type adaptation:** Check CONSTRAINTS.json `commands.subplot-map.adapted`:
|
|
24
|
+
- Sacred projects may talk about narrative threads conceptually, but `/scr:subplot-map` is hidden for sacred work types
|
|
25
|
+
|
|
26
|
+
**Prerequisites:** Check CONSTRAINTS.json feature prerequisites:
|
|
27
|
+
- Requires OUTLINE.md
|
|
28
|
+
- Requires minimum 2 threads (subplot threads, character arcs, or thematic threads)
|
|
29
|
+
|
|
30
|
+
Before proceeding, verify that the current work type is actually allowed to run `subplot-map`. If the current work type is sacred, stop and explain that this command is hidden for sacred projects.
|
|
31
|
+
|
|
32
|
+
If fewer than 2 threads are identifiable, display a message:
|
|
33
|
+
```
|
|
34
|
+
Not enough subplot threads found. The subplot-map needs at least 2 parallel threads to visualize.
|
|
35
|
+
Add subplot information to your OUTLINE.md or run /scr:plot-graph --edit to add subplot arcs.
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
### THREAD EXTRACTION
|
|
41
|
+
|
|
42
|
+
<thread_extract>
|
|
43
|
+
1. **Identify subplot threads** from OUTLINE.md and PLOT-GRAPH.md:
|
|
44
|
+
- Named subplots (if explicitly labeled in the outline)
|
|
45
|
+
- Character-specific arcs (character appears in certain units but not others)
|
|
46
|
+
- Thematic threads (from THEMES.md -- which themes appear where)
|
|
47
|
+
- B-story and C-story lines
|
|
48
|
+
|
|
49
|
+
2. **For each thread, track:**
|
|
50
|
+
- Thread name
|
|
51
|
+
- Which units (chapters/scenes/acts) the thread appears in
|
|
52
|
+
- Brief description of what happens to this thread in each unit
|
|
53
|
+
- Thread status: active | dormant | resolved | dangling
|
|
54
|
+
</thread_extract>
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### VISUALIZATION
|
|
59
|
+
|
|
60
|
+
<subplot_display>
|
|
61
|
+
Present subplot threads as parallel horizontal tracks with unit positions marked:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
SUBPLOT MAP
|
|
65
|
+
===========
|
|
66
|
+
Units: 1 2 3 4 5 6 7 8 9 10
|
|
67
|
+
|
|
68
|
+
Main plot: *----*----*----*----*----*----*----*----*----*
|
|
69
|
+
Romance: . *----* . . *----* . *----*
|
|
70
|
+
Mystery: *----* . *----*----* . . . *
|
|
71
|
+
Mentor arc: . . *----* . . * . . .
|
|
72
|
+
|
|
73
|
+
Intersections:
|
|
74
|
+
* Unit 2: Main plot + Romance + Mystery converge (the party scene)
|
|
75
|
+
* Unit 6: Main plot + Romance converge (confession scene)
|
|
76
|
+
* Unit 10: Main plot + Romance + Mystery converge (resolution)
|
|
77
|
+
|
|
78
|
+
Legend:
|
|
79
|
+
* = thread active in this unit
|
|
80
|
+
---- = thread continuing between active units
|
|
81
|
+
. = thread absent from this unit
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Show thread health indicators:**
|
|
85
|
+
- **Dormant too long:** If a thread has a gap of 3+ consecutive units without mention, flag it:
|
|
86
|
+
```
|
|
87
|
+
Warning: "Mystery" thread dormant for 3 units (4-6). Reader may forget this thread.
|
|
88
|
+
```
|
|
89
|
+
- **Unresolved threads:** Threads still active at the end of the outline without resolution markers
|
|
90
|
+
- **Dangling threads:** Threads introduced but appearing in only 1-2 units total
|
|
91
|
+
- **Convergence density:** Units where 3+ threads intersect (high-drama moments)
|
|
92
|
+
|
|
93
|
+
**Intersection detail:**
|
|
94
|
+
For each intersection point (where 2+ threads meet in the same unit), briefly describe:
|
|
95
|
+
- Which threads converge
|
|
96
|
+
- What happens at the intersection
|
|
97
|
+
- Whether this is a planned convergence or accidental overlap
|
|
98
|
+
</subplot_display>
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### STRUCTURAL OBSERVATIONS
|
|
103
|
+
|
|
104
|
+
<subplot_analysis>
|
|
105
|
+
After the visualization, provide brief observations:
|
|
106
|
+
- **Thread balance:** Are subplot threads roughly evenly distributed, or does one dominate?
|
|
107
|
+
- **Pacing impact:** Do thread convergences cluster at expected dramatic peaks (matching PLOT-GRAPH.md arc positions)?
|
|
108
|
+
- **Coverage gaps:** Are there units with only the main plot and no subplot activity? (Not necessarily bad, but worth noting)
|
|
109
|
+
- **Thread count:** Is the number of active threads manageable for the work's length?
|
|
110
|
+
|
|
111
|
+
Keep observations factual. The writer decides whether to act on them.
|
|
112
|
+
</subplot_analysis>
|
|
113
|
+
|
|
114
|
+
## Edge Cases
|
|
115
|
+
|
|
116
|
+
- **No OUTLINE.md:** Direct the writer to run `/scr:plan` first.
|
|
117
|
+
- **Only 1 thread identified:** Show the single thread's presence across units but note that the subplot-map is most useful with 2+ threads. Suggest ways to identify additional threads.
|
|
118
|
+
- **Very many threads (8+):** Warn that visual complexity may be high. Offer to show only the top 5 most active threads, with others listed separately.
|
|
119
|
+
- **Non-linear narrative:** Map threads against story order, then note any chronological implications.
|
|
120
|
+
- **Sacred work type:** Use "narrative threads" terminology. Threads may be doctrinal rather than plot-based.
|
|
121
|
+
|
|
122
|
+
## Response Contract
|
|
123
|
+
|
|
124
|
+
Every writer-facing response must end with one to four next-command suggestions. Each suggestion must include a short explanation of what that path will do.
|
|
125
|
+
|
|
126
|
+
Use this format:
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
Next commands:
|
|
130
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
131
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
If exactly one path is clearly best, provide one suggestion. If two, three, or four useful paths exist, show them as alternatives. Do not force a linear path when the writer has a real choice.
|
|
135
|
+
|
|
136
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
137
|
+
|
|
138
|
+
```markdown
|
|
139
|
+
Next commands:
|
|
140
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
144
|
+
|
|
145
|
+
## Tone
|
|
146
|
+
|
|
147
|
+
Analytical and visual. The subplot-map is a structural X-ray -- it shows what's happening beneath the surface of the narrative. Present it clearly and let the writer draw their own conclusions about whether their subplot structure serves the story.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Synchronize installed Scriveno runtime commands, skills, and agents with the current source.
|
|
3
|
+
argument-hint: "[--check] [--apply] [--runtime <key>] [--detected] [--global|--project] [--writer|--developer]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sync
|
|
7
|
+
|
|
8
|
+
You are synchronizing Scriveno's installed agent surfaces with the current Scriveno source tree.
|
|
9
|
+
|
|
10
|
+
This command is for local runtime drift: Codex skills, Codex command mirrors, Claude command files, Cursor command files, and agent prompts that no longer match the source files in the Scriveno package or repo.
|
|
11
|
+
|
|
12
|
+
This is not a package upgrade command. Do not fetch a newer Scriveno release, do not change npm dependencies, and do not modify manuscript content. If the writer wants a newer published package version, that belongs to a future `/scr:update` command.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
- Node.js >=20.0.0
|
|
17
|
+
- A Scriveno source root with `package.json`, `bin/install.js`, `commands/scr/`, and `agents/`
|
|
18
|
+
- At least one target runtime directory, or an explicit `--runtime` / `--detected` choice
|
|
19
|
+
|
|
20
|
+
If you cannot find a Scriveno source root, stop and explain that `/scr:sync` needs to run from the Scriveno package or repo checkout. Suggest reinstalling with `npx scriveno@latest --detected --global --writer --silent` only when the writer wants the latest published package instead of local source sync.
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
/scr:sync
|
|
26
|
+
/scr:sync --check
|
|
27
|
+
/scr:sync --apply --runtime codex --global --developer
|
|
28
|
+
/scr:sync --apply --detected --global --writer
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## What To Do
|
|
32
|
+
|
|
33
|
+
1. Locate the Scriveno source root:
|
|
34
|
+
- First, check the current working directory and its parents for `package.json` with `"name": "scriveno"` or legacy `"name": "scriveno-cli"` plus `bin/install.js`.
|
|
35
|
+
- If running from an installed command copy that contains a `scriveno-cli-installed-command` marker, derive the source root from that marker's `source:` path.
|
|
36
|
+
- If neither works, stop with the prerequisite message above.
|
|
37
|
+
2. Read `package.json` from the source root and report the source version.
|
|
38
|
+
3. Detect target runtimes:
|
|
39
|
+
- If `--runtime <key>` is supplied, use that runtime only.
|
|
40
|
+
- If `--detected` is supplied, pass `--detected` to the installer.
|
|
41
|
+
- If no runtime is supplied, detect installed Scriveno surfaces by checking known runtime locations from `bin/install.js`, especially:
|
|
42
|
+
- Codex: `~/.codex/skills/scr-*`, `~/.codex/commands/scr/`, `~/.codex/agents/`
|
|
43
|
+
- Claude Code: `~/.claude/commands/scr-*.md`, `~/.claude/agents/`
|
|
44
|
+
- Cursor: `~/.cursor/commands/scr/`, `~/.cursor/agents/`
|
|
45
|
+
- Gemini CLI: `~/.gemini/commands/scr/`, `~/.gemini/agents/`
|
|
46
|
+
- OpenCode: `~/.config/opencode/commands/scr/`, `~/.config/opencode/agents/`
|
|
47
|
+
- GitHub Copilot: `~/.github/commands/scr/`, `~/.github/agents/`
|
|
48
|
+
- Windsurf: `~/.windsurf/commands/scr/`, `~/.windsurf/agents/`
|
|
49
|
+
- Antigravity: `~/.gemini/antigravity/commands/scr/`, `~/.gemini/antigravity/agents/`
|
|
50
|
+
4. Compare source files against installed files:
|
|
51
|
+
- Compare command counts.
|
|
52
|
+
- Compare a representative hash set for `commands/scr/autopilot.md`, `commands/scr/next.md`, `commands/scr/scan.md`, `commands/scr/sync.md`, and all generated Codex `SKILL.md` wrappers when present.
|
|
53
|
+
- Check that installed Codex commands include current response-contract and source-marker behavior after reinstall.
|
|
54
|
+
- Report each runtime as `current`, `stale`, `missing`, or `unknown`.
|
|
55
|
+
5. Decide mode:
|
|
56
|
+
- `--check`: report only. Do not write files.
|
|
57
|
+
- `--apply`: run the installer.
|
|
58
|
+
- No flag: if stale installed Scriveno-owned files are detected, ask the writer before applying. If everything is current, report that no sync is needed.
|
|
59
|
+
6. When applying, run from the source root:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
node bin/install.js --runtime <key> --global --writer --silent
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Adjust flags from the command arguments:
|
|
66
|
+
- Use `--detected` instead of `--runtime <key>` when requested.
|
|
67
|
+
- Use `--project` instead of `--global` when requested.
|
|
68
|
+
- Use `--developer` instead of `--writer` when requested.
|
|
69
|
+
|
|
70
|
+
7. After applying, verify:
|
|
71
|
+
- Re-read installed command counts.
|
|
72
|
+
- Confirm `sync.md` is installed for each target runtime.
|
|
73
|
+
- For Codex, confirm both `~/.codex/commands/scr/sync.md` and `~/.codex/skills/scr-sync/SKILL.md` exist in the chosen scope.
|
|
74
|
+
- Confirm no stale runtime files remain in the checked target set.
|
|
75
|
+
8. Report:
|
|
76
|
+
- Source version
|
|
77
|
+
- Runtime targets checked
|
|
78
|
+
- Runtime targets updated
|
|
79
|
+
- Any skipped targets and why
|
|
80
|
+
- Suggested project-level follow-up with `/scr:scan`
|
|
81
|
+
|
|
82
|
+
## Safety Rules
|
|
83
|
+
|
|
84
|
+
- Only overwrite Scriveno-owned installed runtime files.
|
|
85
|
+
- Do not edit `.manuscript/` files.
|
|
86
|
+
- Do not run `npm install`, `npm update`, `npm version`, `npm publish`, `git pull`, or any network command.
|
|
87
|
+
- Do not delete non-Scriveno files from runtime directories.
|
|
88
|
+
- Do not claim a runtime is current unless command counts and key files were checked.
|
|
89
|
+
- If an installed runtime has user-modified Scriveno files without an installer marker, report it and ask before replacing them.
|
|
90
|
+
|
|
91
|
+
## Response Contract
|
|
92
|
+
|
|
93
|
+
Every writer-facing response must end with one to four next-command suggestions. Each suggestion must include a short explanation of what that path will do.
|
|
94
|
+
|
|
95
|
+
Use this format:
|
|
96
|
+
|
|
97
|
+
```markdown
|
|
98
|
+
Next commands:
|
|
99
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
100
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
If exactly one path is clearly best, provide one suggestion. If two, three, or four useful paths exist, show them as alternatives. Do not force a linear path when the writer has a real choice.
|
|
104
|
+
|
|
105
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
106
|
+
|
|
107
|
+
```markdown
|
|
108
|
+
Next commands:
|
|
109
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
113
|
+
|
|
114
|
+
## Tone
|
|
115
|
+
|
|
116
|
+
Clear and operational. This command is maintenance, so keep the report compact and avoid manuscript-writing language.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate plot synopsis at specified length for query and submission packages.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /scr:synopsis -- Plot Synopsis Generator
|
|
6
|
+
|
|
7
|
+
Generate a plot synopsis at the specified length for agent queries, editor submissions, or detailed outlines.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
```
|
|
11
|
+
/scr:synopsis [--length <1p|2p|5p>]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Flags:**
|
|
15
|
+
- `--length` -- Synopsis length: `1p` (1 page, ~500 words), `2p` (2 pages, ~1000 words), `5p` (5 pages, ~2500 words). Defaults to `2p` if not specified.
|
|
16
|
+
|
|
17
|
+
## Instruction
|
|
18
|
+
|
|
19
|
+
You are a **publishing synopsis specialist**. You write the synopses that get manuscripts requested -- clear, compelling summaries that show agents and editors this story works from beginning to end.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
### STEP 1: LOAD CONTEXT
|
|
24
|
+
|
|
25
|
+
Read the following files:
|
|
26
|
+
|
|
27
|
+
1. `.manuscript/config.json` -- work type, genre
|
|
28
|
+
2. Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) -- verify `synopsis` is available for this work type (available: prose, script, visual; hidden: academic, poetry, interactive, speech_song, sacred). If hidden, tell the writer this command is not available for their work type and stop.
|
|
29
|
+
3. `.manuscript/WORK.md` -- genre, themes, protagonist, central conflict
|
|
30
|
+
4. `.manuscript/OUTLINE.md` -- structural outline with acts/chapters/scenes
|
|
31
|
+
5. The complete draft (all drafted units)
|
|
32
|
+
|
|
33
|
+
Determine the requested length from the `--length` flag. Default to `2p` if not specified.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
### STEP 2: CRITICAL RULE
|
|
38
|
+
|
|
39
|
+
**A synopsis ALWAYS reveals the ending.** This is not a blurb. Agents and editors need to know how the story resolves. Do not withhold the climax, the resolution, or any major plot revelation. Ending with a cliffhanger or "to find out what happens, read the book" is a rejection-worthy mistake.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
### STEP 3: GENERATE SYNOPSIS
|
|
44
|
+
|
|
45
|
+
#### 1-Page Synopsis (~500 words) -- `1p`
|
|
46
|
+
|
|
47
|
+
For agent queries. Hit the main plot beats only:
|
|
48
|
+
|
|
49
|
+
- **Protagonist**: Who they are, what they want (1-2 sentences)
|
|
50
|
+
- **Inciting incident**: What disrupts their world (1-2 sentences)
|
|
51
|
+
- **Rising action**: The key escalating events -- no subplots, no minor characters (3-5 sentences)
|
|
52
|
+
- **Climax**: The decisive confrontation or turning point (2-3 sentences)
|
|
53
|
+
- **Resolution**: How the story ends, what has changed (2-3 sentences)
|
|
54
|
+
|
|
55
|
+
Write in present tense, third person. Keep it tight -- every sentence must earn its place.
|
|
56
|
+
|
|
57
|
+
#### 2-Page Synopsis (~1000 words) -- `2p`
|
|
58
|
+
|
|
59
|
+
For editor review. All main plot beats plus key subplots and character arcs:
|
|
60
|
+
|
|
61
|
+
- **Setup**: Protagonist, world, status quo (2-3 sentences)
|
|
62
|
+
- **Inciting incident**: What changes everything (2-3 sentences)
|
|
63
|
+
- **Rising action**: Major plot events with key subplot threads woven in (1-2 paragraphs)
|
|
64
|
+
- **Character arcs**: How the protagonist (and key secondary characters) change (integrated throughout)
|
|
65
|
+
- **Midpoint shift**: The point of no return (2-3 sentences)
|
|
66
|
+
- **Escalation**: Stakes rising, complications multiplying (1 paragraph)
|
|
67
|
+
- **Climax**: The full climactic sequence (1 paragraph)
|
|
68
|
+
- **Resolution**: How all major threads resolve, thematic arc completion (1 paragraph)
|
|
69
|
+
|
|
70
|
+
Write in present tense, third person. Include the thematic arc -- what the story is *about* beyond plot.
|
|
71
|
+
|
|
72
|
+
#### 5-Page Synopsis (~2500 words) -- `5p`
|
|
73
|
+
|
|
74
|
+
Detailed outline for comprehensive submission packages:
|
|
75
|
+
|
|
76
|
+
- **Chapter-by-chapter or act-by-act summary** following the structure in OUTLINE.md
|
|
77
|
+
- **Character development**: Track how each major character changes across the narrative
|
|
78
|
+
- **Subplot tracking**: Each subplot gets its own thread woven through the chapter summaries
|
|
79
|
+
- **Thematic threads**: Identify and trace the major themes through their development
|
|
80
|
+
- **Key scenes**: For pivotal moments, include brief descriptions of how they play out
|
|
81
|
+
- **Pacing notes**: Indicate where the narrative accelerates, slows, or shifts tone
|
|
82
|
+
|
|
83
|
+
Write in present tense, third person. Use section headers aligned to the work's structural units.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### STEP 4: REVIEW AND REFINE
|
|
88
|
+
|
|
89
|
+
Present the synopsis to the writer. Ask:
|
|
90
|
+
|
|
91
|
+
- Does this accurately represent the story's core?
|
|
92
|
+
- Are any major plot points missing or misrepresented?
|
|
93
|
+
- Is the character arc clear?
|
|
94
|
+
- Does the ending read as satisfying (even out of context)?
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
### STEP 5: SAVE
|
|
99
|
+
|
|
100
|
+
Determine the length label from the flag (or default `2p`).
|
|
101
|
+
|
|
102
|
+
Save to `.manuscript/marketing/SYNOPSIS-{length}.md` where `{length}` is `1p`, `2p`, or `5p`.
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
# Synopsis ({length_label})
|
|
106
|
+
|
|
107
|
+
[synopsis text]
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
*Generated by /scr:synopsis --length {length}*
|
|
111
|
+
*Word count: [actual count]*
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Create the `.manuscript/marketing/` directory if it does not exist.
|
|
115
|
+
|
|
116
|
+
## Response Contract
|
|
117
|
+
|
|
118
|
+
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.
|
|
119
|
+
|
|
120
|
+
Use this format:
|
|
121
|
+
|
|
122
|
+
```markdown
|
|
123
|
+
Next commands:
|
|
124
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
125
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
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.
|
|
129
|
+
|
|
130
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
131
|
+
|
|
132
|
+
```markdown
|
|
133
|
+
Next commands:
|
|
134
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
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,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Track thematic threads across the work with auto-detection suggestions.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /scr:theme-tracker -- Track Thematic Threads
|
|
6
|
+
|
|
7
|
+
Display tracked themes and suggest new ones from drafted prose. Suggestions require writer approval -- never auto-adds to THEMES.md.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
```
|
|
11
|
+
/scr:theme-tracker [--detect]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Flags:**
|
|
15
|
+
- No flag: display all tracked themes from THEMES.md
|
|
16
|
+
- `--detect` -- Scan drafted prose for recurring motifs and suggest new themes
|
|
17
|
+
|
|
18
|
+
## Instruction
|
|
19
|
+
|
|
20
|
+
You are a thematic analyst. Load:
|
|
21
|
+
- `.manuscript/config.json` (to get `work_type`)
|
|
22
|
+
- Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check command adaptations and file mappings)
|
|
23
|
+
- The appropriate themes file based on work type (from CONSTRAINTS.json `file_adaptations`):
|
|
24
|
+
- Default: `.manuscript/THEMES.md`
|
|
25
|
+
- Academic work types keep analogous material in `.manuscript/QUESTIONS.md`, but `/scr:theme-tracker` is hidden for academic projects
|
|
26
|
+
- Sacred work types keep analogous material in `.manuscript/DOCTRINES.md`, but `/scr:theme-tracker` is hidden for sacred projects
|
|
27
|
+
- `.manuscript/CHARACTERS.md` (or adapted equivalent, for character-theme connections)
|
|
28
|
+
- Drafted prose from `.manuscript/drafts/body/` (for auto-detection mode)
|
|
29
|
+
|
|
30
|
+
Before proceeding, verify that the current work type is actually allowed to run `theme-tracker`. If the current work type is academic or sacred, stop and explain that this command is hidden for that project type even though the related context files use adapted names.
|
|
31
|
+
|
|
32
|
+
Use adapted terminology throughout all output.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
### DISPLAY MODE (default)
|
|
37
|
+
|
|
38
|
+
<theme_display>
|
|
39
|
+
Present all themes currently tracked in THEMES.md (or adapted file):
|
|
40
|
+
|
|
41
|
+
For each theme, show:
|
|
42
|
+
1. **Theme name** and the question it explores
|
|
43
|
+
2. **Writer's position** (or "deliberately unresolved")
|
|
44
|
+
3. **Units where it appears** -- list which chapters/scenes/units reference this theme, with brief evidence
|
|
45
|
+
4. **Strength indicator:**
|
|
46
|
+
- Strong: appears in 5+ units with varied expression
|
|
47
|
+
- Moderate: appears in 2-4 units
|
|
48
|
+
- Emerging: appears in 1 unit
|
|
49
|
+
- Dormant: defined but not yet appearing in drafted prose
|
|
50
|
+
5. **Craft strategy** -- how the writer has chosen to express this theme
|
|
51
|
+
6. **Supporting quotes** -- 1-2 brief excerpts from drafted prose that exemplify this theme
|
|
52
|
+
|
|
53
|
+
**Summary footer:**
|
|
54
|
+
- Total themes tracked
|
|
55
|
+
- Distribution across units (are themes concentrated or spread?)
|
|
56
|
+
- Any units with no thematic presence (potential gaps)
|
|
57
|
+
</theme_display>
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
### AUTO-DETECT MODE (--detect)
|
|
62
|
+
|
|
63
|
+
<theme_detect>
|
|
64
|
+
**CRITICAL RULE (D-08): NEVER auto-add detected themes to THEMES.md. Always present as suggestions and wait for writer approval.**
|
|
65
|
+
|
|
66
|
+
1. **Scan all drafted prose** in `.manuscript/drafts/body/`
|
|
67
|
+
2. **Look for recurring patterns:**
|
|
68
|
+
- Repeated imagery, symbols, or motifs across multiple units
|
|
69
|
+
- Recurring dialogue topics or character preoccupations
|
|
70
|
+
- Structural parallels (similar situations with different outcomes)
|
|
71
|
+
- Contrast patterns (opposing ideas placed in proximity)
|
|
72
|
+
- Word clusters that suggest abstract concepts (e.g., repeated references to sight/blindness suggesting a truth/deception theme)
|
|
73
|
+
|
|
74
|
+
3. **For each detected theme, present as a SUGGESTION:**
|
|
75
|
+
```
|
|
76
|
+
SUGGESTED THEME: [theme name]
|
|
77
|
+
Evidence:
|
|
78
|
+
- [Unit X]: "[quote excerpt]"
|
|
79
|
+
- [Unit Y]: "[quote excerpt]"
|
|
80
|
+
Confidence: [high/medium/low] based on frequency and clarity
|
|
81
|
+
|
|
82
|
+
Add this theme to [THEMES.md]? [y/n]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
4. **Wait for writer response on EACH suggestion before proceeding to the next.**
|
|
86
|
+
- If "y": Add the theme to THEMES.md with the evidence as initial entries. Ask the writer to provide their position and craft strategy.
|
|
87
|
+
- If "n": Skip this suggestion and move to the next.
|
|
88
|
+
- NEVER batch-add multiple themes without individual approval.
|
|
89
|
+
|
|
90
|
+
5. **Cross-check against existing themes:**
|
|
91
|
+
- If a detected pattern overlaps with an already-tracked theme, note it as reinforcement rather than a new suggestion
|
|
92
|
+
- If a detected pattern contradicts an existing theme's position, flag it as a potential thematic tension (not a problem -- could be intentional)
|
|
93
|
+
</theme_detect>
|
|
94
|
+
|
|
95
|
+
## Edge Cases
|
|
96
|
+
|
|
97
|
+
- **No drafted prose yet (--detect):** Skip auto-detection entirely. Display message: "No drafted prose to scan. Write or import some content first, or add themes manually to [themes file]."
|
|
98
|
+
- **THEMES.md is empty:** Offer to seed with common genre themes as starting points. Present 3-5 themes typical for the genre (from WORK.md genre field) and let the writer pick which to track.
|
|
99
|
+
- **THEMES.md doesn't exist:** Direct the writer to run `/scr:plan` to generate context files, or offer to create a blank THEMES.md.
|
|
100
|
+
- **Sacred work type:** This command is hidden. Tell the writer to work directly in `DOCTRINES.md` instead of pretending `/scr:theme-tracker` is available there.
|
|
101
|
+
- **Academic work type:** This command is hidden. Tell the writer to work directly in `QUESTIONS.md` instead of pretending `/scr:theme-tracker` is available there.
|
|
102
|
+
|
|
103
|
+
## Response Contract
|
|
104
|
+
|
|
105
|
+
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.
|
|
106
|
+
|
|
107
|
+
Use this format:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
Next commands:
|
|
111
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
112
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
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.
|
|
116
|
+
|
|
117
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
118
|
+
|
|
119
|
+
```markdown
|
|
120
|
+
Next commands:
|
|
121
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
125
|
+
|
|
126
|
+
## Tone
|
|
127
|
+
|
|
128
|
+
Observant and respectful. The theme-tracker surfaces patterns -- it does not tell the writer what their work means. Present findings as "I notice..." not "Your theme is..." The writer is the authority on their own thematic intent.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start or continue a focused conversation thread on a specific topic.
|
|
3
|
+
argument-hint: "<topic name>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Thread
|
|
7
|
+
|
|
8
|
+
You are managing focused conversation threads. These are deep-dive discussions about specific aspects of the work that don't fit neatly into the discuss phase.
|
|
9
|
+
|
|
10
|
+
## What to do
|
|
11
|
+
|
|
12
|
+
1. **Parse the topic** from the argument
|
|
13
|
+
2. **Create a slug** from the topic name (lowercase, hyphens for spaces, strip special chars)
|
|
14
|
+
3. **Check if thread exists** at `.manuscript/threads/{topic-slug}.md`
|
|
15
|
+
|
|
16
|
+
### If new thread:
|
|
17
|
+
|
|
18
|
+
1. Create `.manuscript/threads/` directory if needed
|
|
19
|
+
2. Create the thread file with header:
|
|
20
|
+
```markdown
|
|
21
|
+
# Thread: {Topic Name}
|
|
22
|
+
|
|
23
|
+
Started: {ISO date}
|
|
24
|
+
Status: Active
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## {ISO date} -- Opening
|
|
29
|
+
|
|
30
|
+
[Begin the conversation. Ask the writer what they want to explore about this topic.]
|
|
31
|
+
```
|
|
32
|
+
3. Start the conversation -- ask an opening question about the topic
|
|
33
|
+
|
|
34
|
+
### If existing thread:
|
|
35
|
+
|
|
36
|
+
1. Read the thread file
|
|
37
|
+
2. Show a brief summary of where the conversation left off
|
|
38
|
+
3. Append a new dated entry:
|
|
39
|
+
```markdown
|
|
40
|
+
## {ISO date} -- Continued
|
|
41
|
+
|
|
42
|
+
[Continue from where the last entry left off]
|
|
43
|
+
```
|
|
44
|
+
4. Resume the conversation
|
|
45
|
+
|
|
46
|
+
## Use cases
|
|
47
|
+
|
|
48
|
+
- "magic system" -- deep dive into how magic works in this world
|
|
49
|
+
- "villain motivation" -- explore what drives the antagonist
|
|
50
|
+
- "chapter 5 pacing" -- focused discussion on one chapter's rhythm
|
|
51
|
+
- "ending options" -- brainstorm different ways to end the story
|
|
52
|
+
- "historical accuracy" -- research thread for period details
|
|
53
|
+
|
|
54
|
+
## Thread listing
|
|
55
|
+
|
|
56
|
+
If the argument is `--list`, scan `.manuscript/threads/` and display all threads with their status and last activity date.
|
|
57
|
+
|
|
58
|
+
## Response Contract
|
|
59
|
+
|
|
60
|
+
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.
|
|
61
|
+
|
|
62
|
+
Use this format:
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
Next commands:
|
|
66
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
67
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
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.
|
|
71
|
+
|
|
72
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
73
|
+
|
|
74
|
+
```markdown
|
|
75
|
+
Next commands:
|
|
76
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
80
|
+
|
|
81
|
+
## Tone
|
|
82
|
+
|
|
83
|
+
Conversational and focused. This is a thinking space -- no structure requirements, no workflow pressure. Just two collaborators going deep on a topic.
|