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,213 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate world or regional map illustration prompts from WORLD.md geographic content.
|
|
3
|
+
argument-hint: "[--region <area>] [--style <style>]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /scr:map-illustration -- World & Regional Map Illustration
|
|
7
|
+
|
|
8
|
+
Generate a structured prompt for world maps, regional maps, or location maps based on geographic content from WORLD.md.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
```
|
|
12
|
+
/scr:map-illustration [--region <area>] [--style <style>]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**Style options:** `fantasy-parchment`, `satellite-realistic`, `hand-drawn`, `watercolor`, `schematic`, `antique`, `topographic`
|
|
16
|
+
|
|
17
|
+
## Instruction
|
|
18
|
+
|
|
19
|
+
You are generating a map illustration prompt from the project's world-building content. Load:
|
|
20
|
+
- `.manuscript/config.json` (to get `work_type`, `genre`)
|
|
21
|
+
- Scriveno's installed/shared `CONSTRAINTS.json` (global `~/.scriveno/data/CONSTRAINTS.json` or project `.scriveno/data/CONSTRAINTS.json`) (to check `commands.map-illustration` availability, prerequisites, and `file_adaptations`)
|
|
22
|
+
- `ART-DIRECTION.md` from `.manuscript/` if it exists (for style consistency)
|
|
23
|
+
|
|
24
|
+
### Work Type Availability
|
|
25
|
+
|
|
26
|
+
Check CONSTRAINTS.json:
|
|
27
|
+
- **Available:** prose, visual, interactive, sacred
|
|
28
|
+
- **Hidden:** script, academic, poetry, speech_song
|
|
29
|
+
- **Requires:** WORLD.md (or adapted equivalent)
|
|
30
|
+
|
|
31
|
+
If the current work type is hidden, respond:
|
|
32
|
+
*"The `map-illustration` command is designed for works with world-building elements. Your {work_type} project doesn't typically include maps."*
|
|
33
|
+
|
|
34
|
+
### Load World Data
|
|
35
|
+
|
|
36
|
+
Determine the correct world file from `file_adaptations`:
|
|
37
|
+
- Default: `.manuscript/WORLD.md`
|
|
38
|
+
- Sacred: `.manuscript/COSMOLOGY.md`
|
|
39
|
+
- Academic: `.manuscript/CONTEXT.md` (though academic is hidden)
|
|
40
|
+
|
|
41
|
+
Load the adapted world file.
|
|
42
|
+
|
|
43
|
+
If the world file is missing or has no geographic content:
|
|
44
|
+
*"No world geography found. Run `/scr:build-world --area geography` first to establish your world's geography, then return here to generate a map prompt."*
|
|
45
|
+
|
|
46
|
+
### Extract Geographic Content
|
|
47
|
+
|
|
48
|
+
From WORLD.md (or COSMOLOGY.md), extract:
|
|
49
|
+
- **Landmasses:** Continents, islands, peninsulas, major land features
|
|
50
|
+
- **Bodies of water:** Oceans, seas, rivers, lakes, bays, straits
|
|
51
|
+
- **Terrain:** Mountain ranges, forests, deserts, plains, swamps, tundra
|
|
52
|
+
- **Key locations:** Cities, towns, settlements, capitals, landmarks, temples, ruins
|
|
53
|
+
- **Political boundaries:** Kingdoms, nations, territories, contested zones (if mentioned)
|
|
54
|
+
- **Climate/Biomes:** Tropical, temperate, arctic zones; rainfall patterns
|
|
55
|
+
- **Routes:** Trade routes, pilgrim paths, dangerous passages, major roads
|
|
56
|
+
- **Scale:** Size of the world (continent-level, region-level, city-level)
|
|
57
|
+
|
|
58
|
+
If `--region` is specified, focus extraction on that named area and its surroundings. Only include locations and features relevant to that region.
|
|
59
|
+
|
|
60
|
+
### Determine Default Style
|
|
61
|
+
|
|
62
|
+
If no `--style` flag is provided, derive from genre:
|
|
63
|
+
- **Fantasy/Epic:** `fantasy-parchment` (aged paper, decorative borders, hand-lettered labels, sea monsters)
|
|
64
|
+
- **Literary fiction:** `hand-drawn` (clean ink illustration, tasteful minimalism)
|
|
65
|
+
- **Sci-fi:** `schematic` (clean lines, grid overlay, coordinate system, technical feel)
|
|
66
|
+
- **Historical:** `antique` (period-appropriate cartography style, copper engraving look)
|
|
67
|
+
- **Sacred:** `fantasy-parchment` (sacred geography with reverent styling, illuminated manuscript influence)
|
|
68
|
+
- **Children's:** `watercolor` (colorful, friendly, playful labels)
|
|
69
|
+
- **Default fallback:** `hand-drawn`
|
|
70
|
+
|
|
71
|
+
### Generate Structured Prompt
|
|
72
|
+
|
|
73
|
+
Output a structured illustration prompt following the D-01 format:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
# Map Illustration: {World/Region Name}
|
|
77
|
+
|
|
78
|
+
## Subject
|
|
79
|
+
Map of {world/region name} showing {summary of key geographic features}. {1-2 sentences describing the overall geography -- "A vast continent dominated by a central mountain range running north-to-south, with fertile river valleys to the east and arid badlands to the west."}
|
|
80
|
+
|
|
81
|
+
## Geographic Features
|
|
82
|
+
### Landmasses
|
|
83
|
+
{List each with brief visual description}
|
|
84
|
+
- {Continent/Island name}: {shape, relative size, notable coastline features}
|
|
85
|
+
|
|
86
|
+
### Bodies of Water
|
|
87
|
+
- {Ocean/Sea/River name}: {location relative to land, character -- calm, treacherous, etc.}
|
|
88
|
+
|
|
89
|
+
### Terrain
|
|
90
|
+
- {Mountain range}: {location, relative height, snow-capped or bare}
|
|
91
|
+
- {Forest}: {location, type -- dense old-growth, sparse birch, tropical jungle}
|
|
92
|
+
- {Desert/Plains/etc.}: {location, character}
|
|
93
|
+
|
|
94
|
+
### Key Locations
|
|
95
|
+
{Each with position on the map}
|
|
96
|
+
- {City/Landmark name}: {location description -- "on the eastern coast where the River Aldren meets the sea"}
|
|
97
|
+
|
|
98
|
+
## Composition
|
|
99
|
+
- **Perspective:** Top-down cartographic view
|
|
100
|
+
- **Orientation:** North at top (or specify if world has different convention)
|
|
101
|
+
- **Compass rose:** {Placement -- typically upper-right or lower-right corner}
|
|
102
|
+
- **Legend/Key:** {Lower-left or lower-right, showing symbols for cities, mountains, forests, roads, borders}
|
|
103
|
+
- **Title cartouche:** {Decorative bordered title area -- top center or upper-left, containing map name in period-appropriate lettering}
|
|
104
|
+
- **Scale bar:** {Include if the world has established distances}
|
|
105
|
+
- **Border:** {Decorative border matching the style -- rope border for nautical, vine border for fantasy, simple line for schematic}
|
|
106
|
+
|
|
107
|
+
## Style: {selected style name}
|
|
108
|
+
{Detailed style description:}
|
|
109
|
+
|
|
110
|
+
**fantasy-parchment:** Aged parchment texture, hand-drawn terrain icons (tiny mountain triangles, tree clusters for forests), flowing calligraphic labels, decorative sea with wave patterns, possible sea creatures or ships in ocean areas, warm sepia/brown palette.
|
|
111
|
+
|
|
112
|
+
**satellite-realistic:** Photorealistic satellite view, natural terrain colors, no decorative elements, clean modern labels, elevation shading.
|
|
113
|
+
|
|
114
|
+
**hand-drawn:** Clean ink illustration on white/cream background, crosshatch shading for terrain, neat hand-lettered labels, minimal decoration.
|
|
115
|
+
|
|
116
|
+
**watercolor:** Soft painted textures, blended terrain colors, artistic label placement, dreamy quality.
|
|
117
|
+
|
|
118
|
+
**schematic:** Clean vector-style lines, grid overlay, coordinate markers, technical labels, flat colors for terrain zones.
|
|
119
|
+
|
|
120
|
+
**antique:** Copper-engraving style, fine crosshatching, ornate cartouche, period lettering, muted earth tones, classical cartographic conventions.
|
|
121
|
+
|
|
122
|
+
**topographic:** Contour lines showing elevation, color-coded elevation zones, precise terrain representation, modern cartographic style.
|
|
123
|
+
|
|
124
|
+
## Color Palette
|
|
125
|
+
{Terrain-coded colors, adjusted to match ART-DIRECTION.md if it exists}
|
|
126
|
+
- **Water:** {Blue tones -- deep navy for oceans, lighter for rivers/lakes}
|
|
127
|
+
- **Forests:** {Green tones -- dark for dense, light for sparse}
|
|
128
|
+
- **Mountains:** {Brown/gray tones -- darker for high peaks}
|
|
129
|
+
- **Desert/Arid:** {Tan/sandy tones}
|
|
130
|
+
- **Plains/Grassland:** {Light green or golden}
|
|
131
|
+
- **Snow/Ice:** {White/light blue}
|
|
132
|
+
- **Cities/Settlements:** {Red or black dots/icons}
|
|
133
|
+
- **Roads/Routes:** {Dashed or dotted lines in brown or red}
|
|
134
|
+
- **Borders:** {Colored lines or shading for political boundaries}
|
|
135
|
+
|
|
136
|
+
## Mood
|
|
137
|
+
{Derived from genre and tone of the work}
|
|
138
|
+
- Fantasy: sense of adventure, vast unexplored territories, wonder
|
|
139
|
+
- Literary: understated, serving the story rather than dominating
|
|
140
|
+
- Sacred: reverent, cosmic scope, sense of divine order
|
|
141
|
+
- Thriller: strategic, tactical, showing contested ground
|
|
142
|
+
- Historical: scholarly, authentic, documentary
|
|
143
|
+
|
|
144
|
+
## Labels
|
|
145
|
+
{List of all place names to include on the map, extracted from WORLD.md}
|
|
146
|
+
### Major (large, prominent text)
|
|
147
|
+
- {Continent/ocean names}
|
|
148
|
+
|
|
149
|
+
### Medium (clear but secondary)
|
|
150
|
+
- {Country/region/sea names}
|
|
151
|
+
|
|
152
|
+
### Minor (small, detailed)
|
|
153
|
+
- {City/town/river/mountain names}
|
|
154
|
+
|
|
155
|
+
## Technical Specs
|
|
156
|
+
- **Dimensions:** Full page -- {trim width} x {trim height} (typically 6" x 9" or matching book trim size)
|
|
157
|
+
- **Resolution:** 300 DPI (print-ready)
|
|
158
|
+
- **Color space:** CMYK for print, RGB acceptable for ebook-only
|
|
159
|
+
- **Format:** High-resolution PNG or TIFF
|
|
160
|
+
- **Bleed:** Include 0.125" bleed if map extends to page edges
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Save Output
|
|
164
|
+
|
|
165
|
+
Save the generated prompt to:
|
|
166
|
+
- Full world map: `.manuscript/illustrations/maps/world-map-prompt.md`
|
|
167
|
+
- Region-specific: `.manuscript/illustrations/maps/region-{name}-map-prompt.md`
|
|
168
|
+
|
|
169
|
+
Where `{name}` is the lowercase, hyphenated region name.
|
|
170
|
+
|
|
171
|
+
Create the directory path if it does not exist.
|
|
172
|
+
|
|
173
|
+
Commit: `illustration: generate {world/region} map illustration prompt`
|
|
174
|
+
|
|
175
|
+
After saving, suggest:
|
|
176
|
+
- "Map prompt saved. Use this with any AI image tool or share with your cartographer/illustrator."
|
|
177
|
+
- "For region-specific maps, run `/scr:map-illustration --region {area}` to focus on a particular area."
|
|
178
|
+
- "Ensure visual consistency across all illustrations with `/scr:art-direction`."
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
### Edge Cases
|
|
183
|
+
|
|
184
|
+
- **WORLD.md exists but has no geography section:** Prompt the writer: "Your world document exists but doesn't have geographic details yet. Run `/scr:build-world --area geography` to add terrain, locations, and boundaries."
|
|
185
|
+
- **--region specified but not found in WORLD.md:** "Region '{area}' not found in your world document. Available locations: {list extracted locations}. Or describe this region and I'll create the map prompt from your description."
|
|
186
|
+
- **Sacred work type (COSMOLOGY.md):** Adapt terminology -- "sacred geography", "celestial realms", "spiritual territories". Map may include cosmological layers (heavens, earth, underworld) rather than purely physical geography. Style should reflect tradition-appropriate cartographic conventions.
|
|
187
|
+
- **Very sparse world-building:** Generate the prompt with available content, mark gaps with `{NEEDS DETAIL: add rivers/mountains/etc.}` placeholders, and suggest running `build-world --area geography` to flesh out the world first.
|
|
188
|
+
- **ART-DIRECTION.md exists:** Style and color palette sections MUST reference it for consistency; override genre defaults with established art direction.
|
|
189
|
+
- **--style and --region both provided:** Apply both -- generate a region-specific map in the specified style.
|
|
190
|
+
- **Multiple maps needed:** Suggest generating both a world overview and region-specific maps for key story areas: "Consider generating a world map plus region maps for each major story location."
|
|
191
|
+
|
|
192
|
+
## Response Contract
|
|
193
|
+
|
|
194
|
+
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.
|
|
195
|
+
|
|
196
|
+
Use this format:
|
|
197
|
+
|
|
198
|
+
```markdown
|
|
199
|
+
Next commands:
|
|
200
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
201
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
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.
|
|
205
|
+
|
|
206
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
207
|
+
|
|
208
|
+
```markdown
|
|
209
|
+
Next commands:
|
|
210
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
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,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Spawn parallel analysis agents to understand an existing manuscript's voice, structure, characters, and themes.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /scr:map-manuscript -- Analyze Existing Manuscript
|
|
6
|
+
|
|
7
|
+
Spawn parallel analysis agents to understand an existing draft's voice, structure, characters, and themes.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
```
|
|
11
|
+
/scr:map-manuscript [area]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Areas (optional):** `voice`, `structure`, `characters`, `themes`, `world`, `pacing` -- analyze specific area only. Omit to analyze all.
|
|
15
|
+
|
|
16
|
+
## Instruction
|
|
17
|
+
|
|
18
|
+
This command is for writers who already have a draft (partial or complete). It analyzes what exists so that `/scr:new-work` or `/scr:new-revision` can build on established patterns rather than starting from scratch.
|
|
19
|
+
|
|
20
|
+
Spawn 6 parallel analysis agents:
|
|
21
|
+
|
|
22
|
+
<analysis_agents>
|
|
23
|
+
<agent name="voice-analyst">
|
|
24
|
+
<task>
|
|
25
|
+
Analyze the manuscript's prose style:
|
|
26
|
+
- POV and tense (consistent? shifts?)
|
|
27
|
+
- Sentence length distribution (short/long ratio, rhythm patterns)
|
|
28
|
+
- Vocabulary range (simple/complex, domain-specific, archaic/modern)
|
|
29
|
+
- Narrative distance (close/far, shifts)
|
|
30
|
+
- Metaphor and imagery density
|
|
31
|
+
- Dialogue attribution style
|
|
32
|
+
- Paragraph length patterns
|
|
33
|
+
- Chapter/section opening and closing patterns
|
|
34
|
+
</task>
|
|
35
|
+
<output>VOICE-ANALYSIS.md -- style guide derived from existing prose</output>
|
|
36
|
+
</agent>
|
|
37
|
+
|
|
38
|
+
<agent name="structure-analyst">
|
|
39
|
+
<task>
|
|
40
|
+
Map the manuscript's architecture:
|
|
41
|
+
- Chapter/section breakdown with word counts
|
|
42
|
+
- Scene structure within chapters
|
|
43
|
+
- Pacing graph (tension curve across the manuscript)
|
|
44
|
+
- Act structure (even if not explicitly marked)
|
|
45
|
+
- Timeline mapping (chronological vs. narrative order)
|
|
46
|
+
- Subplot tracking
|
|
47
|
+
</task>
|
|
48
|
+
<output>STRUCTURE-ANALYSIS.md -- architectural map</output>
|
|
49
|
+
</agent>
|
|
50
|
+
|
|
51
|
+
<agent name="character-analyst">
|
|
52
|
+
<task>
|
|
53
|
+
Catalog all characters:
|
|
54
|
+
- Named characters with first appearance, role, physical description
|
|
55
|
+
- Dialogue voice profiles per character
|
|
56
|
+
- Relationship map based on interactions
|
|
57
|
+
- Character arc trajectory (where each character starts, where they are now)
|
|
58
|
+
- POV distribution (who narrates what)
|
|
59
|
+
</task>
|
|
60
|
+
<output>CHARACTER-ANALYSIS.md -- character profiles derived from text</output>
|
|
61
|
+
</agent>
|
|
62
|
+
|
|
63
|
+
<agent name="theme-analyst">
|
|
64
|
+
<task>
|
|
65
|
+
Identify thematic patterns:
|
|
66
|
+
- Recurring motifs and symbols
|
|
67
|
+
- Thematic threads across chapters
|
|
68
|
+
- Central questions the work seems to explore
|
|
69
|
+
- Emotional through-lines
|
|
70
|
+
- Imagery clusters
|
|
71
|
+
</task>
|
|
72
|
+
<output>THEME-ANALYSIS.md -- thematic map</output>
|
|
73
|
+
</agent>
|
|
74
|
+
|
|
75
|
+
<agent name="world-analyst">
|
|
76
|
+
<task>
|
|
77
|
+
Extract world-building details:
|
|
78
|
+
- Settings and locations mentioned
|
|
79
|
+
- Rules of the world (physics, magic, society, technology)
|
|
80
|
+
- Cultural norms established
|
|
81
|
+
- Historical references
|
|
82
|
+
- Geography and spatial relationships
|
|
83
|
+
</task>
|
|
84
|
+
<output>WORLD-ANALYSIS.md -- world-building bible from existing text</output>
|
|
85
|
+
</agent>
|
|
86
|
+
|
|
87
|
+
<agent name="pacing-analyst">
|
|
88
|
+
<task>
|
|
89
|
+
Analyze narrative rhythm:
|
|
90
|
+
- Scene length distribution
|
|
91
|
+
- Action vs. reflection ratio
|
|
92
|
+
- Dialogue vs. narration ratio per chapter
|
|
93
|
+
- Tension peaks and valleys
|
|
94
|
+
- Dead spots (low tension + low character development)
|
|
95
|
+
- Cliffhanger frequency
|
|
96
|
+
</task>
|
|
97
|
+
<output>PACING-ANALYSIS.md -- rhythm analysis with recommendations</output>
|
|
98
|
+
</agent>
|
|
99
|
+
</analysis_agents>
|
|
100
|
+
|
|
101
|
+
### OUTPUT
|
|
102
|
+
|
|
103
|
+
Save all analysis files to `.manuscript/analysis/`
|
|
104
|
+
|
|
105
|
+
Present a summary to the writer showing:
|
|
106
|
+
- Key findings from each area
|
|
107
|
+
- Strengths identified
|
|
108
|
+
- Potential issues flagged
|
|
109
|
+
- How this analysis will inform future commands
|
|
110
|
+
|
|
111
|
+
This analysis is automatically loaded by `/scr:new-work` and `/scr:new-revision` when it exists.
|
|
112
|
+
|
|
113
|
+
## Response Contract
|
|
114
|
+
|
|
115
|
+
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.
|
|
116
|
+
|
|
117
|
+
Use this format:
|
|
118
|
+
|
|
119
|
+
```markdown
|
|
120
|
+
Next commands:
|
|
121
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
122
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
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.
|
|
126
|
+
|
|
127
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
128
|
+
|
|
129
|
+
```markdown
|
|
130
|
+
Next commands:
|
|
131
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
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,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Merge two adjacent units into one.
|
|
3
|
+
argument-hint: "[unit-id-1] [unit-id-2]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /scr:merge-units -- Merge Adjacent Units
|
|
7
|
+
|
|
8
|
+
Merge two adjacent structural units into one, combining draft content if both are drafted.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
```
|
|
12
|
+
/scr:merge-units [unit-id-1] [unit-id-2]
|
|
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
|
+
### MERGE UNITS FLOW
|
|
35
|
+
|
|
36
|
+
<merge_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 unit IDs:**
|
|
41
|
+
- Parse OUTLINE.md and locate both specified units
|
|
42
|
+
- **Adjacency check:** The two units MUST be adjacent (consecutive numbers)
|
|
43
|
+
- If not adjacent, show error:
|
|
44
|
+
"Cannot merge [unit_type] [A] and [unit_type] [B] -- they are not adjacent. Only consecutive units can be merged."
|
|
45
|
+
Show the current outline and suggest which pairs are adjacent.
|
|
46
|
+
- If either unit-id is invalid, show available units
|
|
47
|
+
|
|
48
|
+
3. **Draft safety check** (D-07):
|
|
49
|
+
- Scan `.manuscript/drafts/body/` for draft files matching both units
|
|
50
|
+
- **If both have drafts:**
|
|
51
|
+
- Show word count for each draft
|
|
52
|
+
- Explain the merge approach:
|
|
53
|
+
|
|
54
|
+
**Both [chapter/scene/etc.] [A] and [B] have drafted content.**
|
|
55
|
+
|
|
56
|
+
[A]: "[title-A]" -- [N] words
|
|
57
|
+
[B]: "[title-B]" -- [M] words
|
|
58
|
+
|
|
59
|
+
**Merge will concatenate the content with a scene break marker between them:**
|
|
60
|
+
```
|
|
61
|
+
[Content of unit A]
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
[Content of unit B]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Total merged word count: [N + M] words
|
|
69
|
+
|
|
70
|
+
- Require confirmation: "Merge these two drafts into one file? Both contents will be preserved."
|
|
71
|
+
|
|
72
|
+
- **If only one has a draft:**
|
|
73
|
+
- Warn that the merged unit will contain only partial drafted content
|
|
74
|
+
- Show which unit has the draft and its word count
|
|
75
|
+
- Confirm proceeding
|
|
76
|
+
|
|
77
|
+
- **If neither has a draft:** Proceed with outline merge
|
|
78
|
+
|
|
79
|
+
4. **Prompt for merged unit details:**
|
|
80
|
+
- Title for the merged unit (suggest: title of first unit, or a combination)
|
|
81
|
+
- Updated summary combining both units' purposes
|
|
82
|
+
|
|
83
|
+
5. **Execute merge:**
|
|
84
|
+
- Replace the two unit entries in OUTLINE.md with a single entry at the first unit's position
|
|
85
|
+
- Renumber all subsequent units (they shift down by 1)
|
|
86
|
+
- If drafts exist: combine them into a single draft file in `.manuscript/drafts/body/` with a scene break separator (`---`)
|
|
87
|
+
- Remove the second draft file from `.manuscript/drafts/body/`
|
|
88
|
+
- Rename subsequent draft files in `.manuscript/drafts/body/` to match new numbering
|
|
89
|
+
|
|
90
|
+
6. **Update related files:**
|
|
91
|
+
- Update `.manuscript/STATE.md` to reflect the merged unit
|
|
92
|
+
- Update PLOT-GRAPH.md (or adapted equivalent) if arc positions are affected
|
|
93
|
+
- Update cross-references in OUTLINE.md
|
|
94
|
+
|
|
95
|
+
7. **Show result:**
|
|
96
|
+
- Display the updated outline with the merged unit highlighted
|
|
97
|
+
- If drafts were merged, show the combined word count
|
|
98
|
+
- Show renumbered subsequent units
|
|
99
|
+
</merge_units>
|
|
100
|
+
|
|
101
|
+
Commit: `structure: merge {unit_type}s {A} and {B} into {A}`
|
|
102
|
+
|
|
103
|
+
## Edge Cases
|
|
104
|
+
|
|
105
|
+
- **Only 2 units in outline:** Merging will create a single-unit outline -- confirm this is intentional.
|
|
106
|
+
- **Non-adjacent units:** Show clear error and suggest the correct adjacent pairs.
|
|
107
|
+
- **No OUTLINE.md:** Prompt to run `/scr:plan` first.
|
|
108
|
+
- **One unit at different hierarchy levels:** Only merge units at the same level. Show error if attempting to merge a "part" with a "chapter".
|
|
109
|
+
- **Very large combined draft:** Note the combined word count and suggest the writer may want to review the merged content for flow.
|
|
110
|
+
|
|
111
|
+
## Response Contract
|
|
112
|
+
|
|
113
|
+
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.
|
|
114
|
+
|
|
115
|
+
Use this format:
|
|
116
|
+
|
|
117
|
+
```markdown
|
|
118
|
+
Next commands:
|
|
119
|
+
- `/scr:...`: One short sentence explaining what this path will do.
|
|
120
|
+
- `/scr:...`: One short sentence explaining what this alternate path will do.
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
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.
|
|
124
|
+
|
|
125
|
+
If the writer seems unsure or no specific next command is obvious, include this default option:
|
|
126
|
+
|
|
127
|
+
```markdown
|
|
128
|
+
Next commands:
|
|
129
|
+
- `/scr:next`: Inspect the project state and choose the right next step.
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
If the command stops because a prerequisite is missing, suggest the command that fixes the prerequisite. Keep every explanation practical and writer-facing.
|
|
133
|
+
|
|
134
|
+
## Tone
|
|
135
|
+
|
|
136
|
+
Methodical and protective. Merging combines creative work -- ensure nothing is lost. Present the combined content clearly.
|