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,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Write a scene, passage, or chapter outside the full planning workflow.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /scr:quick-write -- Ad-Hoc Writing Without Full Planning
|
|
6
|
+
|
|
7
|
+
Write a scene, passage, or chapter outside the full planning workflow.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
```
|
|
11
|
+
/scr:quick-write [--discuss] [--research] [--full]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Flags:**
|
|
15
|
+
- `--discuss` -- Brief discussion to capture creative direction first
|
|
16
|
+
- `--research` -- Research craft techniques before drafting
|
|
17
|
+
- `--full` -- Discussion + research + consistency check
|
|
18
|
+
|
|
19
|
+
## Instruction
|
|
20
|
+
|
|
21
|
+
Quick write gives you Scriveno guarantees (continuity tracking, voice consistency, atomic commits) with a faster path.
|
|
22
|
+
|
|
23
|
+
### STEP 1: GATHER INTENT
|
|
24
|
+
|
|
25
|
+
Ask: "What do you want to write?"
|
|
26
|
+
|
|
27
|
+
Accept any of:
|
|
28
|
+
- A specific scene ("The bar fight in chapter 12")
|
|
29
|
+
- A character moment ("Marcus confronting his father")
|
|
30
|
+
- An exploratory passage ("What it feels like when the magic fails")
|
|
31
|
+
- A dialogue exchange ("The negotiation between Eva and the detective")
|
|
32
|
+
- A transitional passage ("Getting from the apartment to the airport")
|
|
33
|
+
|
|
34
|
+
### STEP 2: QUICK CONTEXT
|
|
35
|
+
|
|
36
|
+
Load relevant files based on characters/settings mentioned:
|
|
37
|
+
- `STYLE-GUIDE.md` (always)
|
|
38
|
+
- `CHARACTERS.md` (relevant entries)
|
|
39
|
+
- `WORLD.md` (relevant sections)
|
|
40
|
+
- Previous relevant drafts (for continuity)
|
|
41
|
+
|
|
42
|
+
If `--discuss`: Ask 3-5 targeted questions about tone, pacing, and purpose for this passage.
|
|
43
|
+
|
|
44
|
+
If `--research`: Spawn a focused researcher for technique guidance.
|
|
45
|
+
|
|
46
|
+
### STEP 3: DRAFT
|
|
47
|
+
|
|
48
|
+
Write the passage following all established style guide constraints. Target whatever length feels natural unless the writer specified a target.
|
|
49
|
+
|
|
50
|
+
### STEP 4: VERIFY (if --full)
|
|
51
|
+
|
|
52
|
+
Run continuity and voice checks against existing manuscript.
|
|
53
|
+
|
|
54
|
+
### OUTPUT
|
|
55
|
+
|
|
56
|
+
Save to `.manuscript/quick/{NNN}-{slug}/DRAFT.md`
|
|
57
|
+
Save plan (if generated) to `.manuscript/quick/{NNN}-{slug}/PLAN.md`
|
|
58
|
+
|
|
59
|
+
Commit: `quick: {slug}`
|
|
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.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate an ASCII relationship graph between characters.
|
|
3
|
+
argument-hint: "[--edit]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /scr:relationship-map -- Character Relationship Graph
|
|
7
|
+
|
|
8
|
+
Generate an ASCII relationship graph showing connections between all characters.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
```
|
|
12
|
+
/scr:relationship-map [--edit]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Instruction
|
|
16
|
+
|
|
17
|
+
You are generating a relationship map. Load:
|
|
18
|
+
- `.manuscript/config.json` (to get `work_type`)
|
|
19
|
+
- Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check `file_adaptations`, `commands.relationship-map.adapted`, and `feature_prerequisites`)
|
|
20
|
+
- The adapted characters file (CHARACTERS.md / FIGURES.md per `file_adaptations`)
|
|
21
|
+
|
|
22
|
+
**Prerequisites check** (from CONSTRAINTS.json `feature_prerequisites`):
|
|
23
|
+
- The characters file must exist
|
|
24
|
+
- At least 2 characters must be defined
|
|
25
|
+
- If fewer than 2: "Relationship map requires at least 2 characters. You have {N}. Run `/scr:new-character <name>` to add more."
|
|
26
|
+
|
|
27
|
+
Determine adapted terminology:
|
|
28
|
+
- Default: "relationship map"
|
|
29
|
+
- Sacred: "lineage map" (renamed via CONSTRAINTS.json); reads FIGURES.md and LINEAGES.md
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### DISPLAY MODE (default)
|
|
34
|
+
|
|
35
|
+
<relationship_map_display>
|
|
36
|
+
Parse the "Key Relationships" and "Relationship-Specific Interactions" sections from each character entry in the characters file.
|
|
37
|
+
|
|
38
|
+
Render an ASCII graph with labeled edges (D-02):
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Elias ----[father]----> Petra
|
|
42
|
+
| |
|
|
43
|
+
[husband] [daughter]
|
|
44
|
+
| |
|
|
45
|
+
Maren Lena
|
|
46
|
+
(deceased)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Layout rules:**
|
|
50
|
+
- Keep edge labels short (max 15 characters) -- truncate with ellipsis if needed
|
|
51
|
+
- Truncate character names longer than 12 characters
|
|
52
|
+
- Use directional arrows for asymmetric relationships: `--[label]-->`
|
|
53
|
+
- Use undirected edges for mutual relationships: `--[label]--`
|
|
54
|
+
- Handle 2-10 characters gracefully; for more than 10, group by relationship clusters
|
|
55
|
+
- Indicate character status after name: `(deceased)`, `(mentioned)`, `(absent)`
|
|
56
|
+
- Place protagonists centrally in the layout
|
|
57
|
+
|
|
58
|
+
**Relationship types to extract:**
|
|
59
|
+
- Family: parent, child, sibling, spouse, cousin
|
|
60
|
+
- Romantic: partner, ex-partner, love interest
|
|
61
|
+
- Social: friend, rival, mentor, student, ally, enemy
|
|
62
|
+
- Professional: employer, colleague, subordinate
|
|
63
|
+
- Story-specific: foil, mirror, catalyst
|
|
64
|
+
|
|
65
|
+
After the graph, show a legend:
|
|
66
|
+
```
|
|
67
|
+
----> : directional relationship
|
|
68
|
+
----- : mutual relationship
|
|
69
|
+
(deceased) : character is deceased
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
After the legend, list any relationships mentioned in text but not visualized (if graph became too complex).
|
|
73
|
+
|
|
74
|
+
Then show a compact "Interaction notes" table for each important pairing:
|
|
75
|
+
```
|
|
76
|
+
Pair | Trust posture | Conflict pattern | Speech shift | Hidden agenda/fear
|
|
77
|
+
Mara/Elias | guarded | deflects accusation | Mara gets terse | forged letter exposure
|
|
78
|
+
```
|
|
79
|
+
</relationship_map_display>
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
### EDIT MODE (--edit)
|
|
84
|
+
|
|
85
|
+
<relationship_map_edit>
|
|
86
|
+
Show the current relationship graph, then offer:
|
|
87
|
+
1. **Add relationship:** Between two characters (name a type and direction)
|
|
88
|
+
2. **Change relationship:** Modify the label or direction of an existing edge
|
|
89
|
+
3. **Remove relationship:** Delete a connection
|
|
90
|
+
4. **Add character note:** Mark a character's status (active, deceased, mentioned)
|
|
91
|
+
5. **Edit interaction dynamic:** Update trust posture, conflict pattern, speech shift, or hidden agenda/fear for a specific pair
|
|
92
|
+
|
|
93
|
+
After edits, update the "Key Relationships" section in each affected character's entry in the characters file.
|
|
94
|
+
If interaction dynamics changed, also update the "Relationship-Specific Interactions" section for the affected character entries.
|
|
95
|
+
|
|
96
|
+
Commit: `character: update relationship map`
|
|
97
|
+
</relationship_map_edit>
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### Edge Cases
|
|
102
|
+
|
|
103
|
+
- **Only 2 characters:** Show a simple single-edge graph
|
|
104
|
+
- **No relationships defined:** Show characters as isolated nodes and suggest defining relationships
|
|
105
|
+
- **Circular relationships:** Handle gracefully (A -> B -> C -> A)
|
|
106
|
+
- **Sacred work type:** Use "lineage map" terminology; relationship types include "teacher-disciple", "prophetic succession", "covenant"
|
|
107
|
+
|
|
108
|
+
## Response Contract
|
|
109
|
+
|
|
110
|
+
Every writer-facing response must end with one to four next-command suggestions. Each suggestion must include a short explanation of what that path will do.
|
|
111
|
+
|
|
112
|
+
Use this format:
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
Next commands:
|
|
116
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
117
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
If exactly one path is clearly best, provide one suggestion. If two, three, or four useful paths exist, show them as alternatives. Do not force a linear path when the writer has a real choice.
|
|
121
|
+
|
|
122
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
123
|
+
|
|
124
|
+
```markdown
|
|
125
|
+
Next commands:
|
|
126
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Remove a unit from the outline with draft safety checks.
|
|
3
|
+
argument-hint: "[unit-id]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /scr:remove-unit -- Remove Unit
|
|
7
|
+
|
|
8
|
+
Remove a structural unit from the outline with comprehensive draft safety checks.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
```
|
|
12
|
+
/scr:remove-unit [unit-id]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Instruction
|
|
16
|
+
|
|
17
|
+
You are a structure management assistant. Load:
|
|
18
|
+
- `.manuscript/config.json` (to get `work_type`)
|
|
19
|
+
- Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to find `work_types[work_type].hierarchy` and determine unit terminology)
|
|
20
|
+
- `.manuscript/OUTLINE.md` (current structural outline)
|
|
21
|
+
- `.manuscript/STATE.md` (progress tracking)
|
|
22
|
+
|
|
23
|
+
**Work-type adaptation:** Determine the correct unit name from CONSTRAINTS.json hierarchy:
|
|
24
|
+
- Novel: "chapter" (hierarchy.mid)
|
|
25
|
+
- Screenplay: "scene" (hierarchy.atomic) or "act" (hierarchy.top)
|
|
26
|
+
- Short story: "section" (hierarchy.mid)
|
|
27
|
+
- Scripture (Biblical): "chapter" (hierarchy.mid)
|
|
28
|
+
- Use `command_unit` from CONSTRAINTS.json as the default unit level
|
|
29
|
+
|
|
30
|
+
Use the adapted unit terminology throughout all output and prompts.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### REMOVE UNIT FLOW
|
|
35
|
+
|
|
36
|
+
<remove_unit>
|
|
37
|
+
1. **Resolve unit type** from CONSTRAINTS.json `work_types[work_type].hierarchy`
|
|
38
|
+
- Use `command_unit` to determine which level of the hierarchy this command operates on
|
|
39
|
+
|
|
40
|
+
2. **Validate unit-id:**
|
|
41
|
+
- Parse OUTLINE.md and locate the specified unit
|
|
42
|
+
- If the unit-id does not exist, show available units and ask for correction
|
|
43
|
+
|
|
44
|
+
3. **CRITICAL: Draft safety check** (D-07):
|
|
45
|
+
- Scan `.manuscript/drafts/body/` for a draft file matching this unit
|
|
46
|
+
- **If a draft file exists:**
|
|
47
|
+
- Show the word count of the draft
|
|
48
|
+
- Show the first 3 lines of the draft content
|
|
49
|
+
- Display a prominent warning:
|
|
50
|
+
|
|
51
|
+
**WARNING: This [chapter/scene/etc.] has drafted content.**
|
|
52
|
+
|
|
53
|
+
File: `.manuscript/drafts/body/[filename]`
|
|
54
|
+
Word count: [N] words
|
|
55
|
+
Preview:
|
|
56
|
+
> [first 3 lines]
|
|
57
|
+
|
|
58
|
+
**Options:**
|
|
59
|
+
1. **Archive** (recommended): Move to `.manuscript/archive/` -- content is preserved but removed from active outline
|
|
60
|
+
2. **Delete permanently**: Remove the draft file entirely -- THIS CANNOT BE UNDONE
|
|
61
|
+
3. **Cancel**: Abort the removal
|
|
62
|
+
|
|
63
|
+
- Require the writer to choose explicitly. Default to archive if ambiguous.
|
|
64
|
+
- **If no draft exists:** Proceed with a simple confirmation:
|
|
65
|
+
"Remove [unit_type] [N]: '[title]' from the outline? (yes/no)"
|
|
66
|
+
|
|
67
|
+
4. **Execute removal:**
|
|
68
|
+
- Remove the unit entry from OUTLINE.md
|
|
69
|
+
- Renumber all subsequent units
|
|
70
|
+
- If archived: move draft file to `.manuscript/archive/` with original name preserved
|
|
71
|
+
- If deleted: remove the draft file
|
|
72
|
+
- Rename subsequent draft files in `.manuscript/drafts/body/` to match new numbering
|
|
73
|
+
|
|
74
|
+
5. **Update related files:**
|
|
75
|
+
- Update `.manuscript/STATE.md` to remove the unit and adjust progress
|
|
76
|
+
- Update PLOT-GRAPH.md (or adapted equivalent) if arc positions reference the removed unit
|
|
77
|
+
- Update any cross-references in OUTLINE.md
|
|
78
|
+
|
|
79
|
+
6. **Confirm result:**
|
|
80
|
+
- Show the updated outline structure
|
|
81
|
+
- If archived: confirm the archive location
|
|
82
|
+
- Show the renumbered units
|
|
83
|
+
</remove_unit>
|
|
84
|
+
|
|
85
|
+
Commit: `structure: remove {unit_type} {N} "{title}"`
|
|
86
|
+
|
|
87
|
+
## Edge Cases
|
|
88
|
+
|
|
89
|
+
- **Last remaining unit:** Warn that removing it will leave the outline empty. Suggest keeping at least one unit.
|
|
90
|
+
- **Unit referenced by PLOT-GRAPH.md:** Warn that removing this unit will leave a gap in the arc. Suggest reassigning the arc position.
|
|
91
|
+
- **No OUTLINE.md:** Prompt to run `/scr:plan` first.
|
|
92
|
+
- **Invalid unit-id:** Show numbered list of current units for selection.
|
|
93
|
+
- **Archive directory doesn't exist:** Create `.manuscript/archive/` automatically.
|
|
94
|
+
|
|
95
|
+
## Response Contract
|
|
96
|
+
|
|
97
|
+
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.
|
|
98
|
+
|
|
99
|
+
Use this format:
|
|
100
|
+
|
|
101
|
+
```markdown
|
|
102
|
+
Next commands:
|
|
103
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
104
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
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.
|
|
108
|
+
|
|
109
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
Next commands:
|
|
113
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
117
|
+
|
|
118
|
+
## Tone
|
|
119
|
+
|
|
120
|
+
Cautious and protective. Removing content is a significant action. Be thorough in warnings without being patronizing. The writer's prose is valuable -- treat it that way.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Reorder units in the outline by moving a unit to a new position.
|
|
3
|
+
argument-hint: "[unit-id] [new-position]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /scr:reorder-units -- Reorder Outline Units
|
|
7
|
+
|
|
8
|
+
Move a structural unit from its current position to a new position, renumbering all affected units.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
```
|
|
12
|
+
/scr:reorder-units [unit-id] [new-position]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Instruction
|
|
16
|
+
|
|
17
|
+
You are a structure management assistant. Load:
|
|
18
|
+
- `.manuscript/config.json` (to get `work_type`)
|
|
19
|
+
- Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to find `work_types[work_type].hierarchy` and determine unit terminology)
|
|
20
|
+
- `.manuscript/OUTLINE.md` (current structural outline)
|
|
21
|
+
- `.manuscript/STATE.md` (progress tracking)
|
|
22
|
+
|
|
23
|
+
**Work-type adaptation:** Determine the correct unit name from CONSTRAINTS.json hierarchy:
|
|
24
|
+
- Novel: "chapter" (hierarchy.mid)
|
|
25
|
+
- Screenplay: "scene" (hierarchy.atomic) or "act" (hierarchy.top)
|
|
26
|
+
- Short story: "section" (hierarchy.mid)
|
|
27
|
+
- Scripture (Biblical): "chapter" (hierarchy.mid)
|
|
28
|
+
- Use `command_unit` from CONSTRAINTS.json as the default unit level
|
|
29
|
+
|
|
30
|
+
Use the adapted unit terminology throughout all output and prompts.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### REORDER UNITS FLOW
|
|
35
|
+
|
|
36
|
+
<reorder_units>
|
|
37
|
+
1. **Resolve unit type** from CONSTRAINTS.json `work_types[work_type].hierarchy`
|
|
38
|
+
- Use `command_unit` to determine which level this command operates on
|
|
39
|
+
|
|
40
|
+
2. **Validate inputs:**
|
|
41
|
+
- Parse OUTLINE.md and locate the specified unit
|
|
42
|
+
- Verify the new position is valid (1 to total_units)
|
|
43
|
+
- If the unit is already at the requested position, inform the writer: "That [unit_type] is already at position [N]."
|
|
44
|
+
|
|
45
|
+
3. **Draft safety check** (D-07):
|
|
46
|
+
- Scan `.manuscript/drafts/body/` for ALL draft files (not just the moved unit)
|
|
47
|
+
- Identify every draft file that will need to be renamed due to the reorder
|
|
48
|
+
- **If any drafted units are affected:**
|
|
49
|
+
- Show the complete renaming plan:
|
|
50
|
+
|
|
51
|
+
**Reordering will rename the following draft files:**
|
|
52
|
+
|
|
53
|
+
| Current | New | Title |
|
|
54
|
+
|---------|-----|-------|
|
|
55
|
+
| `03-the-chase-DRAFT.md` | `05-the-chase-DRAFT.md` | The Chase |
|
|
56
|
+
| `04-revelations-DRAFT.md` | `03-revelations-DRAFT.md` | Revelations |
|
|
57
|
+
| ... | ... | ... |
|
|
58
|
+
|
|
59
|
+
- Warn: "All draft file contents will be preserved. Only the file numbering will change."
|
|
60
|
+
- Require confirmation before proceeding
|
|
61
|
+
|
|
62
|
+
- **Show before/after comparison:**
|
|
63
|
+
```
|
|
64
|
+
BEFORE: AFTER:
|
|
65
|
+
1. The Beginning 1. The Beginning
|
|
66
|
+
2. Rising Tension 2. The Chase <-- moved from 3
|
|
67
|
+
3. The Chase --> 3. Rising Tension <-- was 2
|
|
68
|
+
4. Revelations 4. Revelations
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
4. **Execute reorder:**
|
|
72
|
+
- Remove the unit from its current position in OUTLINE.md
|
|
73
|
+
- Insert it at the new position
|
|
74
|
+
- Renumber all affected units
|
|
75
|
+
- Rename all affected draft files in `.manuscript/drafts/body/` to match new numbering
|
|
76
|
+
(use a temporary naming scheme to avoid conflicts: rename to `.tmp` first, then to final names)
|
|
77
|
+
|
|
78
|
+
5. **Update related files:**
|
|
79
|
+
- Update `.manuscript/STATE.md` to reflect the new ordering
|
|
80
|
+
- Update PLOT-GRAPH.md (or adapted equivalent):
|
|
81
|
+
- If arc positions reference unit numbers, update them to new numbers
|
|
82
|
+
- Show which arc positions changed
|
|
83
|
+
- Update any cross-references in OUTLINE.md
|
|
84
|
+
|
|
85
|
+
6. **Show result:**
|
|
86
|
+
- Display the full updated outline in new order
|
|
87
|
+
- Highlight the moved unit and any affected arc positions
|
|
88
|
+
- If PLOT-GRAPH.md was updated, show the arc position changes
|
|
89
|
+
</reorder_units>
|
|
90
|
+
|
|
91
|
+
Commit: `structure: reorder {unit_type} {old_position} to position {new_position}`
|
|
92
|
+
|
|
93
|
+
## Edge Cases
|
|
94
|
+
|
|
95
|
+
- **Moving to same position:** Inform the writer, no changes needed.
|
|
96
|
+
- **Only 1 unit:** Nothing to reorder -- inform the writer.
|
|
97
|
+
- **No OUTLINE.md:** Prompt to run `/scr:plan` first.
|
|
98
|
+
- **Many draft files to rename:** Use temporary file names during rename to avoid naming collisions.
|
|
99
|
+
- **Unit referenced in subplot-map or timeline:** Warn that cross-references in other files may also need updating.
|
|
100
|
+
|
|
101
|
+
## Response Contract
|
|
102
|
+
|
|
103
|
+
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.
|
|
104
|
+
|
|
105
|
+
Use this format:
|
|
106
|
+
|
|
107
|
+
```markdown
|
|
108
|
+
Next commands:
|
|
109
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
110
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
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.
|
|
114
|
+
|
|
115
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
116
|
+
|
|
117
|
+
```markdown
|
|
118
|
+
Next commands:
|
|
119
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
123
|
+
|
|
124
|
+
## Tone
|
|
125
|
+
|
|
126
|
+
Precise and visual. Reordering is a significant structural decision. The before/after comparison helps the writer see exactly what will change before committing.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Pick up where you left off. Reads your last session and tells you what's next.
|
|
3
|
+
argument-hint: ""
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Resume Work
|
|
7
|
+
|
|
8
|
+
You are welcoming the writer back and orienting them. Your job is to read the session state and produce one concise, contextual paragraph about where they left off.
|
|
9
|
+
|
|
10
|
+
## What to do
|
|
11
|
+
|
|
12
|
+
0. **Read `.manuscript/CONTEXT.md` first if it exists.** This is the auto-regenerated one-page bootstrap. Use it as the primary source for orientation -- it already summarizes recent activity, open items, and the suggested next step that the rest of this command would otherwise re-derive from raw STATE.md fields. If CONTEXT.md is present and its `Updated` timestamp is newer than STATE.md, skip steps 1 through 3 (you already have the synthesis) and go to step 4. If CONTEXT.md is missing, stale, or contradicts STATE.md, treat STATE.md as authoritative and continue with steps 1 through 3 (you will regenerate CONTEXT.md in step 6).
|
|
13
|
+
|
|
14
|
+
1. **Read STATE.md "Session handoff" section** for:
|
|
15
|
+
- Last session end time
|
|
16
|
+
- Resume context (automated context + writer's notes)
|
|
17
|
+
|
|
18
|
+
2. **Read STATE.md "Progress" section** for:
|
|
19
|
+
- Overall progress metrics (units total, discussed, planned, drafted, reviewed, submitted, word count)
|
|
20
|
+
|
|
21
|
+
3. **Read STATE.md "Pending" section** for:
|
|
22
|
+
- Next step
|
|
23
|
+
- Open revisions
|
|
24
|
+
- Unresolved notes
|
|
25
|
+
- Voice-check issues
|
|
26
|
+
- Continuity flags
|
|
27
|
+
|
|
28
|
+
4. **Record the new session boundary in STATE.md before responding.**
|
|
29
|
+
- Set `## Session metrics` -> `Current session started` to the current timestamp.
|
|
30
|
+
- Reset the per-session summary placeholders so this session starts fresh:
|
|
31
|
+
- `Units this session: 0`
|
|
32
|
+
- `Words this session: 0`
|
|
33
|
+
- `Quality passes: none yet`
|
|
34
|
+
- Append a row to the "Last actions" table with:
|
|
35
|
+
- Timestamp: current timestamp
|
|
36
|
+
- Command: `resume-work`
|
|
37
|
+
- Unit: current unit (or `--` if none)
|
|
38
|
+
- Outcome: `Resumed session`
|
|
39
|
+
`/scr:session-report` depends on these markers to separate the current session from older work, so always write them here.
|
|
40
|
+
|
|
41
|
+
5. **Generate ONE paragraph** that covers three parts:
|
|
42
|
+
- **(a) What was done:** Summarize last session's accomplishments. Use concrete numbers -- words, units, quality passes.
|
|
43
|
+
- **(b) What was in progress + writer's notes:** Where they were when they stopped. Include the writer's own notes verbatim if they left any -- this is what makes it feel personal.
|
|
44
|
+
- **(c) Suggestion for next step:** Based on pending items and progress, suggest the logical next command.
|
|
45
|
+
|
|
46
|
+
Example:
|
|
47
|
+
> Last time you drafted chapter 3 (1,247 words across 4 scenes, voice check passed). You were working on chapter 4 -- you noted you wanted it shorter and more tense, with Marcus discovering the letter. I'd suggest starting with /scr:discuss 4 to shape the plan.
|
|
48
|
+
|
|
49
|
+
6. **Regenerate `.manuscript/CONTEXT.md`** using the `templates/CONTEXT.md` scaffold and the same field set described in `/scr:save` step 7, with `{{LAST_COMMAND}}` set to `/scr:resume-work`. This refreshes the bootstrap file so the next session opens to a current view -- the act of resuming is itself a state event worth recording.
|
|
50
|
+
|
|
51
|
+
7. **Append one line to `.manuscript/HISTORY.log`** per `docs/history-protocol.md`:
|
|
52
|
+
```
|
|
53
|
+
{ISO timestamp} | scr:resume-work | unit={current unit or --} | outcome=resumed
|
|
54
|
+
```
|
|
55
|
+
Create HISTORY.log if it does not exist.
|
|
56
|
+
|
|
57
|
+
## Output format
|
|
58
|
+
|
|
59
|
+
- **ONE paragraph**, not a bulleted list or table.
|
|
60
|
+
- Include the writer's own notes if they left any (this is what makes it feel personal).
|
|
61
|
+
- Suggest the logical next command.
|
|
62
|
+
- End with: "Ready to continue? Run `/scr:next` or tell me what you'd like to do."
|
|
63
|
+
|
|
64
|
+
## Edge cases
|
|
65
|
+
|
|
66
|
+
- **No previous session:** If the Session handoff section is empty or has only template placeholders, say: "This looks like a fresh start. Run `/scr:next` to get going."
|
|
67
|
+
|
|
68
|
+
- **Session handoff section empty but progress exists:** Generate context from the Progress and Last actions tables instead. Synthesize what you can from available data.
|
|
69
|
+
|
|
70
|
+
- **Very old session (>7 days):** If the last session ended more than 7 days ago, acknowledge the gap: "It's been a while since your last session ([date]). Here's where things stand: ..."
|
|
71
|
+
|
|
72
|
+
## Response Contract
|
|
73
|
+
|
|
74
|
+
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.
|
|
75
|
+
|
|
76
|
+
Use this format:
|
|
77
|
+
|
|
78
|
+
```markdown
|
|
79
|
+
Next commands:
|
|
80
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
81
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
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.
|
|
85
|
+
|
|
86
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
Next commands:
|
|
90
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
94
|
+
|
|
95
|
+
## Tone
|
|
96
|
+
|
|
97
|
+
Warm but efficient. The writer wants to get back to work -- orient them quickly, don't belabor the recap. One paragraph, then let them go.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Add or manage a commentary/exegetical layer alongside the primary sacred text. Support multiple annotation traditions simultaneously.
|
|
3
|
+
argument-hint: "[tradition_name] [--list] [--remove <tradition>]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Annotation layer
|
|
7
|
+
|
|
8
|
+
You manage annotation layers -- commentary or exegetical notes attached to the primary text without altering it. Multiple annotation traditions can coexist (e.g., Catholic + Reformed + Orthodox annotations on the same Bible text, or Sunni + Shia annotations on the same Quran text).
|
|
9
|
+
|
|
10
|
+
## Availability
|
|
11
|
+
|
|
12
|
+
Sacred work types only. Requires at least one drafted unit.
|
|
13
|
+
|
|
14
|
+
## What to do
|
|
15
|
+
|
|
16
|
+
### No arguments (or tradition name)
|
|
17
|
+
|
|
18
|
+
If a tradition name is passed, work within that tradition. If not, ask which tradition to annotate in. If this is the first annotation layer, the writer chooses a name (e.g., "catholic_tradition", "reformed_tradition", "critical_scholarship", "devotional_notes").
|
|
19
|
+
|
|
20
|
+
Annotation layers live in `.manuscript/annotations/{tradition}/`. Each file corresponds to a primary draft file:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
.manuscript/
|
|
24
|
+
├── 1-1-DRAFT.md (primary text)
|
|
25
|
+
├── annotations/
|
|
26
|
+
│ ├── catholic_tradition/
|
|
27
|
+
│ │ ├── 1-1-ANNOTATIONS.md (Catholic commentary on 1-1)
|
|
28
|
+
│ │ └── 1-2-ANNOTATIONS.md
|
|
29
|
+
│ ├── reformed_tradition/
|
|
30
|
+
│ │ ├── 1-1-ANNOTATIONS.md (Reformed commentary on 1-1)
|
|
31
|
+
│ │ └── 1-2-ANNOTATIONS.md
|
|
32
|
+
│ └── critical_scholarship/
|
|
33
|
+
│ └── 1-1-ANNOTATIONS.md (Historical-critical notes)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
For each verse/passage, produce annotations of:
|
|
37
|
+
- **Interpretation** -- How this tradition reads this passage
|
|
38
|
+
- **Theological significance** -- What doctrines this passage supports or shapes
|
|
39
|
+
- **Historical/philological notes** -- Text-critical issues, original language nuances
|
|
40
|
+
- **Cross-references** -- What other passages this tradition reads alongside this one
|
|
41
|
+
- **Contested points** -- Where this tradition diverges from others
|
|
42
|
+
|
|
43
|
+
### --list
|
|
44
|
+
|
|
45
|
+
Show all annotation traditions currently in the project with annotation counts:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
Annotation traditions:
|
|
49
|
+
- catholic_tradition: 142 verses annotated
|
|
50
|
+
- reformed_tradition: 89 verses annotated
|
|
51
|
+
- critical_scholarship: 201 verses annotated (some differ from above)
|
|
52
|
+
- devotional_notes: 45 verses annotated
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### --remove <tradition>
|
|
56
|
+
|
|
57
|
+
Remove an annotation layer entirely. Ask for confirmation -- this is destructive. Offer to archive instead.
|
|
58
|
+
|
|
59
|
+
## Integration with export
|
|
60
|
+
|
|
61
|
+
When exporting, the writer can choose which annotation layers to include:
|
|
62
|
+
|
|
63
|
+
- **Clean text only** -- primary text, no annotations
|
|
64
|
+
- **Single tradition** -- primary text with one annotation layer
|
|
65
|
+
- **Comparative** -- primary text with multiple annotation layers side-by-side or as footnotes
|
|
66
|
+
- **Full scholarly** -- every annotation layer + critical apparatus
|
|
67
|
+
|
|
68
|
+
The `/scr:publish` wizard asks about annotation inclusion when building the publishing pipeline.
|
|
69
|
+
|
|
70
|
+
## Integration with the drafter
|
|
71
|
+
|
|
72
|
+
When drafting annotations, the drafter agent loads:
|
|
73
|
+
- The primary text passage being annotated
|
|
74
|
+
- The tradition's characteristic interpretive approach (from FRAMEWORK.md)
|
|
75
|
+
- Any other annotations on the same passage in the same tradition (for consistency)
|
|
76
|
+
- DOCTRINES.md entries relevant to this passage
|
|
77
|
+
|
|
78
|
+
Annotations should sound like the tradition they represent. Catholic annotations should sound like Catholic scholarship; Reformed should sound like Reformed; critical should sound like critical.
|
|
79
|
+
|
|
80
|
+
## Response Contract
|
|
81
|
+
|
|
82
|
+
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.
|
|
83
|
+
|
|
84
|
+
Use this format:
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
Next commands:
|
|
88
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
89
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
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.
|
|
93
|
+
|
|
94
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
Next commands:
|
|
98
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
102
|
+
|
|
103
|
+
## Tone
|
|
104
|
+
|
|
105
|
+
Scholarly when annotating academic traditions, devotional when annotating devotional traditions, pastoral when annotating pastoral traditions. Match the voice to the annotation tradition, not to the primary text's voice.
|