@cyber-dash-tech/revela 0.17.24 → 0.18.3

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.
Files changed (34) hide show
  1. package/README.md +24 -25
  2. package/README.zh-CN.md +25 -26
  3. package/bin/revela.ts +2 -4
  4. package/lib/commands/help.ts +13 -13
  5. package/lib/commands/init.ts +24 -0
  6. package/lib/commands/png.ts +29 -0
  7. package/lib/commands/refine.ts +1 -1
  8. package/lib/commands/research.ts +24 -0
  9. package/lib/commands/review.ts +98 -19
  10. package/lib/decks-state.ts +7 -7
  11. package/lib/design/designs.ts +44 -0
  12. package/lib/narrative-state/deck-plan-artifact.ts +631 -114
  13. package/lib/narrative-state/render-plan.ts +53 -24
  14. package/lib/pdf/export.ts +84 -24
  15. package/lib/refine/server.ts +4 -3
  16. package/lib/runtime/index.ts +21 -14
  17. package/lib/runtime/review.ts +4 -104
  18. package/lib/workspace-state/render-targets.ts +2 -2
  19. package/lib/workspace-state/rendered-artifacts.ts +1 -1
  20. package/lib/workspace-state/types.ts +1 -1
  21. package/package.json +1 -1
  22. package/plugin.ts +31 -42
  23. package/plugins/revela/.codex-plugin/plugin.json +2 -2
  24. package/plugins/revela/.mcp.json +1 -1
  25. package/plugins/revela/mcp/revela-server.ts +58 -80
  26. package/plugins/revela/skills/revela-design/SKILL.md +4 -2
  27. package/plugins/revela/skills/revela-domain/SKILL.md +1 -1
  28. package/plugins/revela/skills/revela-export/SKILL.md +4 -5
  29. package/plugins/revela/skills/revela-init/SKILL.md +19 -34
  30. package/plugins/revela/skills/revela-make-deck/SKILL.md +16 -41
  31. package/plugins/revela/skills/revela-research/SKILL.md +17 -26
  32. package/plugins/revela/skills/revela-review-deck/SKILL.md +11 -29
  33. package/skill/SKILL.md +44 -35
  34. package/plugins/revela/skills/revela-story/SKILL.md +0 -24
@@ -1,57 +1,32 @@
1
1
  ---
2
2
  name: revela-make-deck
3
- description: Plan and generate Revela deck artifacts in Codex from canonical narrative state and deck-plan files.
3
+ description: Plan and generate Revela deck artifacts in Codex from deck-plan files and source-linked materials.
4
4
  ---
5
5
 
6
6
  # Revela Make Deck
7
7
 
8
- Use this skill when the user asks to make, generate, or update a Revela deck.
8
+ Use this skill when the user asks to plan, make, generate, or update a Revela deck.
9
9
 
10
10
  ## Source Authority
11
11
 
12
- - Canonical meaning comes from `revela-narrative/`.
13
- - Deck execution planning comes from `deck-plan/`.
12
+ - Deck execution planning comes from canonical `deck-plan.md`.
13
+ - Local materials, material reviews, `researches/`, `assets/`, and user intent provide source context.
14
14
  - Generated artifacts live under `decks/*.html`.
15
- - `DECKS.json.slides[]` is not the slide-count contract.
15
+ - Do not require a Narrative Vault before planning or generating a deck.
16
16
 
17
17
  ## Workflow
18
18
 
19
- 1. Call `revela_compile_narrative` and `revela_markdown_qa`.
20
- 2. Report narrative and Markdown diagnostics, but treat only malformed/unsafe files and technical artifact validity as hard blockers.
21
- 3. Call `revela_design_list`, `revela_design_read` using `section: "rules"`, and `revela_design_inventory` before authoring or repairing `deck-plan/`; deck-plan layout/component names must come from the selected design inventory.
22
- 4. Call `revela_read_deck_plan` as the required deck-plan preflight before any HTML generation.
23
- 5. If `deck-plan/` is missing or incomplete, call `revela_upsert_deck_plan_slide` for each planned or changed slide before calling `revela_create_deck_foundation`; do not hand-write `deck-plan/slides/*.md`. Use only inventory-listed layouts/components, and provide slot, position, purpose, and exact content for every planned component.
24
- 6. Report deck-plan diagnostics before artifact generation, including stale narrative hashes, missing slide projections, missing evidence trace, caveats, malformed plan files, or layout/component names outside the active design inventory.
25
- 7. Do not start HTML generation from narrative alone unless the user explicitly asks for a throwaway diagnostic smoke deck.
26
- 8. For new HTML files, call `revela_create_deck_foundation`.
27
- 9. Before patching slide HTML, call `revela_read_deck_plan`, collect the layouts and components from the projection and `componentPlan[]`, then read the specific layouts/components with `revela_design_read_layout` and `revela_design_read_component`; fetch `section: "chart-rules"` and the `echart-panel` component before creating or changing ECharts. If the user asks to switch designs persistently, call `revela_design_activate`; if they ask for a one-off design, read that design by name, call `revela_design_inventory` with that name, pass `designName` to every `revela_upsert_deck_plan_slide` call, and pass `designName` to `revela_create_deck_foundation`.
28
- 10. Patch slides into the foundation between Revela slide markers. Preserve positive 1-based `data-slide-index` values. Every slide must use `<section class="slide" ...>` with exactly one direct `.slide-canvas` child.
29
- 11. Generate chapter by chapter. Keep the HTML valid after each write.
30
- 12. After every HTML write, call `revela_run_deck_qa` and repair hard errors before review or export.
31
-
32
- ## Generated Visual Assets
33
-
34
- - Codex may use the `imagegen` skill for deck-level visual assets when a slide's visual intent calls for an image or diagram and no suitable workspace/source asset exists.
35
- - Prefer `imagegen` for flow diagrams, framework diagrams, process visuals, system relationship maps, journey maps, before/after schematics, conceptual illustrations, abstract heroes, chapter dividers, background textures, non-evidence metaphor visuals, and visual drafts.
36
- - Do not use generated images for source evidence, factual screenshots, real people, real places, real products, logos, data charts, tables, or visuals that need verifiable factual accuracy.
37
- - If the visual needs exact editable text, precise data, axes, code, tables, or strict structure, build it with HTML/CSS, ECharts, or `data-table` instead of `imagegen`.
38
- - Generated images are artifact-level visuals only. Do not treat them as evidence, source materials, quote support, or factual proof.
39
- - If a generated image is referenced by deck HTML, move or copy the final asset into the workspace, preferably under `assets/<topic>/media/` or the project's existing asset directory. Deck HTML must reference a workspace-relative local path, never Codex's default generated-image path.
40
-
41
- ## QA Repair Loop
42
-
43
- - `revela_run_deck_qa` launches a browser. In sandboxed Codex sessions, this may require user-approved command escalation.
44
- - If QA reports `text_overflow` or `text_clipped`, reduce font size, line length, padding, or line-height before changing narrative meaning.
45
- - Prefer conservative cover and section-title sizing in smoke or diagnostic decks.
46
- - If QA reports that a standalone smoke artifact is not the active legacy deck target, treat it as a non-blocking warning when slide identity and canvas checks pass.
19
+ 1. For planning requests, inspect local materials/reviews/research, then write or repair `deck-plan.md` directly. Do not use structured upsert tools for normal plan authoring.
20
+ 2. Call `revela_design_list`, `revela_design_read` with `section: "rules"`, and `revela_design_inventory` before selecting layouts/components; use the returned layout slots and component nesting hints in `deck-plan.md`.
21
+ 3. Call `revela_read_deck_plan` after writing or repairing `deck-plan.md`. If diagnostics report layout, slot, component, `children`, or `sourceLinks` issues, patch the Markdown directly and call `revela_read_deck_plan` again.
22
+ 4. Call `revela_read_deck_plan` before HTML generation and follow the current projection. Read `htmlWritingBatches` from the result before any HTML write. `revela_read_deck_plan` is QA/diagnostics, not a writer.
23
+ 5. For new HTML files, call `revela_create_deck_foundation`.
24
+ 6. Before patching slide HTML, read the specific layouts/components with `revela_design_read_layout` and `revela_design_read_component`; fetch chart rules before ECharts.
25
+ 7. Patch slides into the foundation between Revela slide markers. Preserve positive 1-based `data-slide-index` values. Every slide must have exactly one direct `.slide-canvas` child.
26
+ 8. Generate one `htmlWritingBatches` entry at a time. A single HTML write/edit/apply_patch may add or rewrite at most 5 slide sections. If a chapter is longer than 5 slides, use the consecutive batch parts returned by `revela_read_deck_plan`.
27
+ 9. Keep the HTML valid after each write.
28
+ 10. After every HTML write, call `revela_run_deck_qa` and repair hard errors before review or export.
47
29
 
48
30
  ## Deck Plan Requirements
49
31
 
50
- Every deck plan should include Cover, Table of Contents, and Closing. Use 3-5 chapter headings, explicit slide ranges, narrative links, visual intent, evidence trace, and caveats.
51
-
52
- `revela_upsert_deck_plan_slide` is the required slide-planning write path. For every slide, provide:
53
-
54
- - `slideIndex`, optional stable `id`, `title`, `chapter`, `narrativeRole`, `structural`, and inventory-listed `layout`.
55
- - `components[]` entries with inventory-listed `name`, semantic `slot`, kebab-case `position`, `purpose`, exact `content`, plus optional `claimIds`, `evidenceIds`, `sourceNotes`, `renderNotes`, and `placementNote`.
56
- - `visualIntent`; if `visualIntent.component` is set, it must match one of the component plan names.
57
- - `narrativeLinks` using canonical claim/evidence/risk/objection/gap ids. Non-structural slides should include at least one claim or evidence link.
32
+ Every normal deck plan should include Cover, Table of Contents, and Closing. Use 3-5 chapter headings, explicit slide ranges, and `---` slide separators under `## Slides`. Each slide block should have slide-local metadata followed by `#### Content Plan`, `#### Source Links` for materials/findings/assets/URLs, and `#### Design Plan` for layout, component plan, visual intent, placement notes, and render notes. Use unresolved inputs, source limitations, and user review notes instead of AI-authored caveat/risk judgement. Use `box.children` when multiple child components support one semantic idea; do not duplicate the same child as both nested and top-level.
@@ -1,38 +1,29 @@
1
1
  ---
2
2
  name: revela-research
3
- description: Research Revela story gaps and bind evidence in Codex while preserving explicit source boundaries.
3
+ description: Research source-linked findings for a Revela deck plan while preserving explicit source boundaries.
4
4
  ---
5
5
 
6
6
  # Revela Research
7
7
 
8
- Use this skill when the user asks to research, close evidence gaps, evaluate saved findings, or bind support to current Revela claims.
8
+ Use this skill when the user asks to research missing deck inputs, gather public support, save findings, or find source-linked examples/assets for a deck.
9
9
 
10
10
  ## Contract
11
11
 
12
- - Saved findings in `researches/**/*.md` are not canonical evidence until specific evidence nodes or bindings preserve source trace, quote/snippet, support scope, unsupported scope, caveat, and strength.
13
- - Missing evidence must stay visible as a gap.
14
- - Do not broaden claims to fit a source.
15
- - Do not write deck artifacts during research.
12
+ - Research output is saved under `researches/**/*.md` for deck-plan use.
13
+ - Do not bind findings into a Narrative Vault or canonical evidence graph.
14
+ - Do not create deck artifacts during research.
15
+ - Do not invent URLs, quotes, page references, numbers, caveats, or licenses.
16
16
 
17
17
  ## Workflow
18
18
 
19
- 1. Call `revela_research_targets` to derive target order, selected target, saved findings diagnostics, and evidence gaps.
20
- 2. For existing saved findings, call `revela_evaluate_research_findings` before deciding whether they can support a claim.
21
- 3. Use external research only when the user allowed or requested it and the gap is publicly researchable.
22
- 4. After external research, call `revela_research_save` with structured Markdown findings and explicit source list.
23
- 5. Bind only when `bindingEval.status === "bindable"` by calling `revela_bind_research_findings`; do not hand-author evidence Markdown for bindable saved findings.
24
- 6. If a finding is incomplete, report missing fields instead of inventing them.
25
- 7. After binding or any narrative edit, call `revela_markdown_qa` and `revela_compile_narrative`.
26
- 8. Report evidence bound, unbound findings, remaining caveats, and the next smallest story action.
27
-
28
- ## Binding Criteria
29
-
30
- Bind only when the supported claim exists and the evidence includes:
31
-
32
- - source URL/path/findings file
33
- - quote or traceable snippet
34
- - support scope
35
- - unsupported scope
36
- - caveat
37
- - strength
38
- - explicit supported claim context
19
+ 1. Inspect material intake status, material review files, existing `researches/**/*.md`, and `deck-plan.md` when present.
20
+ 2. Identify the smallest research tasks needed for the deck objective: market facts, benchmarks, examples, source quotes, images/logos/screenshots, or caveats.
21
+ 3. Use external research only for public facts or user-authorized questions.
22
+ 4. Save useful findings with `revela_research_save`.
23
+ 5. Each finding should include source URL/path, quote/snippet, what it supports, what it does not support, caveat, date checked, and optional image leads.
24
+ 6. If a finding is context only, label it as context and do not present it as proof.
25
+
26
+ ## Report
27
+
28
+ - Start with `Research: completed`.
29
+ - List saved findings paths, source limitations, unresolved inputs, and whether `/revela plan --deck` can proceed.
@@ -1,43 +1,25 @@
1
1
  ---
2
2
  name: revela-review-deck
3
- description: Review Revela deck artifacts in Codex for technical validity, evidence trace, and narrative alignment.
3
+ description: Review Revela deck artifacts in Codex for technical validity and targeted deck edits.
4
4
  ---
5
5
 
6
6
  # Revela Review Deck
7
7
 
8
- Use this skill when the user asks to review, inspect, diagnose, or refine a generated Revela deck.
8
+ Use this skill when the user asks to review, diagnose, QA, or refine a generated Revela deck.
9
9
 
10
10
  ## Workflow
11
11
 
12
12
  1. Resolve the target `decks/*.html` file from the user request or unambiguous workspace state.
13
- 2. For a plain request like `review decks/foo.html`, call `revela_review_deck_open` and let the tool open the browser by default.
14
- 3. Use `revela_review_deck_read`, normally with `format: "markdown"`, only when the user explicitly asks to diagnose, QA, read, check, inspect source alignment, inspect evidence trace, or avoid opening a GUI.
15
- 4. Use the read output as the deterministic diagnostics packet for artifact QA, deck-plan diagnostics, narrative/vault diagnostics, artifact coverage, and evidence trace.
16
- 5. Pass `openBrowser: false` only for tests, no-GUI environments, or when the user explicitly asks for a link instead of opening the page.
17
- 6. Do not call `revela_run_deck_qa`, `revela_compile_narrative`, or `revela_read_deck_plan` separately for a normal Review UI open.
18
- 7. Call `revela_run_deck_qa` separately only for focused low-level artifact QA, after a repair, or when the user explicitly asks for QA detail.
19
- 8. Separate technical blockers from narrative/evidence diagnostics.
20
- 9. Pure visual/layout/export fixes may patch artifacts directly when the user asks for a change, but read active design rules first with `revela_design_read` using `section: "rules"`. Meaning changes must update `revela-narrative/` first.
21
-
22
- ## Generated Visual Assets
23
-
24
- - For Review Comment or Apply Fix requests such as adding an image, replacing a cover visual, creating a concept illustration, making a media block visual, or turning a slide idea into a flow/framework diagram, Codex may use the `imagegen` skill.
25
- - Prefer `imagegen` for flow diagrams, framework diagrams, process visuals, system relationship maps, journey maps, before/after schematics, conceptual illustrations, abstract heroes, chapter dividers, background textures, non-evidence metaphor visuals, and visual drafts.
26
- - Do not use generated images for source evidence, factual screenshots, real people, real places, real products, logos, data charts, tables, or visuals that need verifiable factual accuracy. Use workspace/source assets instead, or report the missing asset.
27
- - If the visual needs exact editable text, precise data, axes, code, tables, or strict structure, patch the deck with HTML/CSS, ECharts, or `data-table` instead of `imagegen`.
28
- - Generated images are artifact-level visual patches only. Do not add them to evidence, source materials, narrative support, or factual trace.
29
- - If a generated image is referenced by deck HTML, move or copy the final asset into the workspace, preferably under `assets/<topic>/media/` or the project's existing asset directory. Deck HTML must reference a workspace-relative local path, never Codex's default generated-image path.
13
+ 2. For a plain review request, call `revela_review_deck_open` and let the tool open the browser by default.
14
+ 3. Use `revela_review_deck_read`, normally with `format: "markdown"`, only when the user explicitly asks for diagnostics, QA details, export readiness, or no-GUI output.
15
+ 4. Review UI is QA + Comment/Apply Fix. Insight/Inspect is removed.
16
+ 5. Do not call `revela_run_deck_qa` separately for a normal Review UI open.
17
+ 6. Pure visual/layout/export fixes may patch artifacts directly when the user asks for a change, but read active design rules first with `revela_design_read` using `section: "rules"`.
18
+ 7. Content changes that affect the deck argument should update `deck-plan.md` first, then remake the deck.
30
19
 
31
20
  ## QA Notes
32
21
 
33
- - `revela_review_deck_read` is read-only: it must not mutate deck HTML, `revela-narrative/`, `deck-plan/`, assets, or compatibility state.
34
- - `revela_review_deck_open` opens the local Review server from the MCP process and uses the Codex `codex-exec` bridge for Insight and Comment/Apply Fix. It returns URL/token/open state and basic file metadata, not aggregate diagnostics.
35
- - `revela_run_deck_qa` may need browser-launch permission in Codex sandboxed sessions.
22
+ - `revela_review_deck_read` is read-only: it must not mutate deck HTML, `deck-plan.md`, assets, or compatibility state.
23
+ - `revela_review_deck_open` returns URL/token/open state and basic file metadata.
36
24
  - Repair hard QA errors before treating a deck as review-ready.
37
- - Deck slides must use `<section class="slide" ...>` with exactly one direct `.slide-canvas` child; missing, nested, or duplicate slide canvases are hard artifact failures.
38
- - Text clipping should usually be fixed with typography and spacing changes, not by deleting evidence or changing claim meaning.
39
- - A warning that a smoke/development artifact is not the active legacy deck target is non-blocking when the requested file passes hard artifact checks.
40
-
41
- ## Technical Blockers
42
-
43
- Hard blockers are limited to missing or ambiguous files, invalid HTML contract, invalid slide identity, canvas/export failure, malformed Markdown/frontmatter, or unsafe writes.
25
+ - Deck slides must use `<section class="slide" ...>` with exactly one direct `.slide-canvas` child.
package/skill/SKILL.md CHANGED
@@ -26,7 +26,7 @@ The active design is injected after this prompt. Follow it exactly.
26
26
  - Do not create or patch `DECKS.json` as workflow state.
27
27
  - Canonical narrative remains the authority for audience, decision, thesis,
28
28
  claims, evidence boundaries, objections, risks, and caveats.
29
- - When present, `deck-plan/` is the deck execution blueprint for slide order,
29
+ - When present, `deck-plan.md` is the deck execution blueprint for slide order,
30
30
  chapter batches, visual intent, and evidence trace. It does not replace
31
31
  canonical narrative meaning.
32
32
  - `DECKS.json.slides[]` is a compatibility/cache projection, not the authority
@@ -59,9 +59,9 @@ handoff exactly:
59
59
  deck-plan authoring requirements. It does not write the final slide list.
60
60
  4. If target slide count, audience, language, output purpose, or visual style is
61
61
  unclear, ask the user for the smallest needed confirmation. Then write
62
- `deck-plan/index.md` plus `deck-plan/slides/*.md` from the planning packet
63
- and requirements, including low-fidelity sketches and `## Narrative Links`.
64
- 5. Use `readDeckPlan` to inspect the current `deck-plan/` projection before
62
+ `deck-plan.md` from the planning packet and requirements, including
63
+ low-fidelity sketches and `sourceLinks`.
64
+ 5. Use `readDeckPlan` to inspect the current `deck-plan.md` projection before
65
65
  artifact review or HTML generation. Diagnostics are advisory unless they are
66
66
  artifact validity errors handled by QA.
67
67
  6. For a new deck HTML file, call `revela-deck-foundation` to create the
@@ -73,17 +73,19 @@ handoff exactly:
73
73
  user proceeds and the deck contract can be satisfied.
74
74
 
75
75
  Before any HTML generation, call `revela-decks` action `readDeckPlan` and follow
76
- the current `deck-plan/`: Source Authority, deck parameters, Chapter Writing
76
+ the current `deck-plan.md`: Source Authority, deck parameters, Chapter Writing
77
77
  Batches, slide plan, visual intent, evidence trace, boundaries, and narrative
78
78
  links. Do not call `compileDeckPlan` merely to understand an existing plan, and
79
79
  do not reinterpret cached `DECKS.json.slides[]` as the render contract.
80
80
 
81
- Decks with 5 or more slides must be generated chapter by chapter, not in one
82
- broad `write` or `apply_patch` call. The first HTML write may create the stable
83
- HTML shell, structural slides, and the first chapter only. Subsequent writes
84
- must patch one chapter at a time, preserving already-written slides and keeping
85
- the file valid after every write. Do not continue to the next chapter while the
86
- current file has Artifact QA hard errors.
81
+ Deck HTML must be generated in bounded batches, not in one broad `write` or
82
+ `apply_patch` call. Follow `htmlWritingBatches` from `readDeckPlan`; each HTML
83
+ write/edit/apply_patch may add or rewrite at most 5 `<section class="slide">`
84
+ blocks. The first HTML write may create the stable HTML shell, but its slide
85
+ sections are still capped at 5. Subsequent writes must patch only the next
86
+ listed batch, preserving already-written slides and keeping the file valid after
87
+ every write. Do not continue to the next batch while the current file has
88
+ Artifact QA hard errors.
87
89
 
88
90
  ---
89
91
 
@@ -116,20 +118,21 @@ the deck's chapter grouping and the order of non-structural slides that follow.
116
118
 
117
119
  Before writing HTML, the deck-plan projection should include:
118
120
 
119
- - `deck-plan/index.md` with current `narrativeHash` when known and a slide-file
120
- inventory.
121
- - `deck-plan/slides/*.md` files for each planned slide, using `## Narrative
122
- Links` for `[[claim-id]]`, `[[evidence-id]]`, `[[risk-id]]`,
123
- `[[objection-id]]`, or `[[gap-id]]` references.
121
+ - `deck-plan.md` with `designName`, `outputPath` when known, chapter map, and
122
+ ordered slide blocks.
123
+ - Each slide block uses `sourceLinks` for materials, findings, assets, and URLs.
124
+ Legacy narrative/caveat links may be read for compatibility, but new
125
+ plans should not use them.
126
+ - Use `---` slide separators under `## Slides` with slide-local metadata, then
127
+ `#### Content Plan`, `#### Source Links`, and `#### Design Plan`.
124
128
  - `Required structure: Cover + Table of Contents + Closing`.
125
129
  - A `Chapters` section with 3-5 TOC headings, slide ranges, and the
126
130
  non-structural slides assigned to each chapter.
127
- - One row per slide with title, purpose, narrative role, content summary, layout,
128
- components, primary/supporting claim ids, evidence binding ids or source
129
- summary, `content.data.visualIntent`, `visuals[]`, and caveats/unsupported
130
- scope.
131
- - Source Authority, Chapter Writing Batches, Evidence Trace, Boundary / Risk
132
- Treatment, and HTML Identity Contract sections.
131
+ - One row/block per slide with title, purpose, narrative role, content summary,
132
+ layout, components, `sourceLinks`, visual intent, visual brief, render notes,
133
+ unresolved inputs, source limitations, and user review notes.
134
+ - Source Authority, Chapter Map, Slides, Unresolved Inputs, and HTML Contract
135
+ sections.
133
136
  - A low-fidelity layout sketch for every slide when requested by the handoff
134
137
  prompt.
135
138
 
@@ -138,7 +141,11 @@ Rules for the slide plan:
138
141
  - Use one lightweight narrative role when clear: `context`, `tension`,
139
142
  `evidence`, `recommendation`, `risk`, `ask`, `appendix`, or `close`.
140
143
  - Use exact layout names from the Layout Index and exact component names from
141
- the Component Index. Do not invent layout or component names.
144
+ the Component Index. Use only slots returned by the selected layout inventory.
145
+ Do not invent layout, slot, or component names.
146
+ - Use `box.children` when several child components support one semantic idea.
147
+ Do not duplicate a child component both inside `box.children` and as a
148
+ separate top-level component plan entry.
142
149
  - Content summaries must be specific: real claims, numbers, evidence, or actions
143
150
  from narrative state and bound sources. Avoid vague descriptions like
144
151
  "overview of topic".
@@ -157,21 +164,23 @@ Rules for the slide plan:
157
164
  count or merge weak slides instead of creating sparse filler.
158
165
 
159
166
  Do not write any HTML until the user chooses to proceed from the current
160
- `deck-plan/` projection. `confirmDeckPlan` is compatibility/provenance only, not
167
+ `deck-plan.md` projection. `confirmDeckPlan` is compatibility/provenance only, not
161
168
  a required workflow gate.
162
169
 
163
170
  ---
164
171
 
165
172
  ## Chapter-By-Chapter Generation
166
173
 
167
- Generate the artifact chapter by chapter. Never draft a full 5+ slide deck in
168
- one broad `write`, `edit`, or `apply_patch` call.
174
+ Generate the artifact by following `htmlWritingBatches`. Never add or rewrite
175
+ more than 5 slide sections in one `write`, `edit`, or `apply_patch` call.
169
176
 
170
177
  For decks with 5 or more slides:
171
178
 
172
179
  - First call `revela-deck-foundation` for new files, then patch structural
173
- slides and the first chapter between the `revela-slides` markers.
174
- - Then fill or revise exactly one chapter range at a time.
180
+ slides and the first listed batch between the `revela-slides` markers.
181
+ - Then fill or revise exactly one listed batch at a time.
182
+ - If a chapter has more than 5 slides, split it into consecutive batches from
183
+ `htmlWritingBatches`.
175
184
  - Do not mix multiple central-claim chapters in the same write.
176
185
  - Chapter divider or chapter TOC slides are allowed as structural wayfinding and
177
186
  should usually use the `toc` component.
@@ -251,7 +260,7 @@ Required contract:
251
260
  when the HTML remains valid and every written slide satisfies this contract.
252
261
  Do not use filler or hidden overflow to make missing chapters appear complete.
253
262
  - Do not treat cached `DECKS.json.slides[]` length mismatches as an HTML identity
254
- failure; plan completeness belongs to `deck-plan/` projection Markdown and
263
+ failure; plan completeness belongs to `deck-plan.md` and
255
264
  chapter batches when present.
256
265
 
257
266
  Example slide identity:
@@ -289,15 +298,15 @@ patch and rerun QA before considering the deck ready.
289
298
 
290
299
  ## Evidence And Source Rules
291
300
 
292
- - Do not invent quotes, URLs, page references, source paths, caveats, or evidence
293
- ids.
294
- - Preserve supported scope, unsupported scope, caveats, and source trace when
295
- visible in narrative state or slide specs.
301
+ - Do not invent quotes, URLs, page references, source paths, source limitations,
302
+ user review notes, or evidence ids.
303
+ - Preserve source trace, explicit source limitations, and unresolved inputs when
304
+ visible in deck-plan source context or slide specs.
296
305
  - Evidence-sensitive claims need visible evidence/source context when available.
297
306
  - Never stretch partial evidence into support for future-state, recommendation,
298
307
  roadmap, or product-vision claims.
299
- - Keep missing evidence visible as a caveat, gap, or blocker instead of filling
300
- it with assumptions.
308
+ - Keep missing evidence visible as an unresolved input, source limitation, user
309
+ review note, or blocker instead of filling it with assumptions.
301
310
  - Do not render internal evidence diagnostics as executive-facing body copy.
302
311
  Avoid labels such as `Evidence gap:`, `Unsupported scope:`, `Caveat:`,
303
312
  `Missing Data`, or `Evidence Boundary` in normal slide text unless the user
@@ -1,24 +0,0 @@
1
- ---
2
- name: revela-story
3
- description: Inspect a Revela narrative graph in Codex without mutating artifacts or canonical meaning.
4
- ---
5
-
6
- # Revela Story
7
-
8
- Use this skill when the user asks to view, inspect, understand, or audit the current Revela story.
9
-
10
- ## Workflow
11
-
12
- 1. Call `revela_story_read` first, normally with `format: "markdown"`.
13
- 2. Use the returned deterministic map, diagnostics, narrative hash, and Markdown reading view as the authoritative Story surface.
14
- 3. Call `revela_markdown_qa` or `revela_compile_narrative` only when you need deeper structural diagnostics than `revela_story_read` returned.
15
- 4. If `revela_story_read.ok` is false because `revela-narrative/` is missing, report the init guidance. Do not create files from Story mode.
16
- 5. Present audience, belief shift, decision/action, thesis, central claims, evidence, objections, risks, research gaps, artifact coverage, and diagnostics.
17
- 6. Keep claim ids, evidence ids, source facts, quotes, URLs, numbers, and caveats exact.
18
- 7. Do not write claims, evidence, research gaps, deck HTML, deck-plan files, assets, or artifacts from Story mode.
19
-
20
- ## Output
21
-
22
- Lead with the narrative status, narrative hash, and key diagnostics. Then show the claim flow and evidence boundaries.
23
-
24
- Keep the reading evidence-first: for each claim, show source trace, support scope, unsupported scope, caveat, support strength, linked objections/risks, and remaining research gaps. Separate structural Markdown QA from evidence trust. Story is read-only; do not turn it into a mutation workflow.