@cyber-dash-tech/revela 0.18.5 → 0.18.7
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/README.md +5 -5
- package/README.zh-CN.md +5 -5
- package/designs/monet/DESIGN.md +19 -0
- package/designs/starter/DESIGN.md +19 -0
- package/designs/summit/DESIGN.md +19 -0
- package/lib/design/designs.ts +14 -2
- package/lib/narrative-state/render-plan.ts +4 -4
- package/package.json +1 -1
- package/plugins/revela/.mcp.json +1 -1
- package/plugins/revela/skills/revela-design/SKILL.md +60 -0
- package/plugins/revela/skills/revela-domain/SKILL.md +59 -0
- package/plugins/revela/skills/revela-helper/SKILL.md +8 -1
- package/plugins/revela/skills/revela-make-deck/SKILL.md +26 -38
- package/plugins/revela/skills/revela-research/SKILL.md +34 -5
- package/skill/SKILL.md +3 -3
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**English** | [中文](README.zh-CN.md)
|
|
4
4
|
|
|
5
|
-
[](https://www.npmjs.com/package/@cyber-dash-tech/revela) [](LICENSE) [](https://www.npmjs.com/package/@cyber-dash-tech/revela) [](LICENSE) [](tests/) [](https://opencode.ai) [](https://bun.sh)
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<img src="assets/img/logo.png" alt="Revela" width="560" />
|
|
@@ -34,7 +34,7 @@ To install globally, add the same entry to `~/.config/opencode/opencode.json`.
|
|
|
34
34
|
Requirements:
|
|
35
35
|
|
|
36
36
|
- The Codex CLI must be installed and the `codex` command must be available in your shell.
|
|
37
|
-
- Your environment must be able to run `npx`; Revela uses `npx -y @cyber-dash-tech/revela@0.18.
|
|
37
|
+
- Your environment must be able to run `npx`; Revela uses `npx -y @cyber-dash-tech/revela@0.18.7 mcp` to start the MCP server.
|
|
38
38
|
- For interactive Review Apply actions, `codex exec` must also work because the Review UI uses it after saved comments are applied.
|
|
39
39
|
|
|
40
40
|
Optional preflight:
|
|
@@ -55,17 +55,17 @@ npm_config_cache=/tmp/revela-npm-cache bun run smoke:mcp-pack
|
|
|
55
55
|
Install Revela through the Codex Git marketplace:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.18.
|
|
58
|
+
codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.18.7
|
|
59
59
|
codex plugin add revela@revela
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
The Git marketplace install provides the Codex plugin shell, skills, hooks, and MCP configuration. When Codex starts the Revela MCP server for the first time, it runs `npx -y @cyber-dash-tech/revela@0.18.
|
|
62
|
+
The Git marketplace install provides the Codex plugin shell, skills, hooks, and MCP configuration. When Codex starts the Revela MCP server for the first time, it runs `npx -y @cyber-dash-tech/revela@0.18.7 mcp` so npm can fetch the published package and its dependencies.
|
|
63
63
|
|
|
64
64
|
You do not need to run `bun install` inside the Codex marketplace clone.
|
|
65
65
|
|
|
66
66
|
Start a new Codex thread after installing so Codex loads the Revela skills, MCP tools, and hooks.
|
|
67
67
|
|
|
68
|
-
Codex uses
|
|
68
|
+
Codex uses seven Revela skills: `revela-helper` for status and active design/domain, `revela-design` for custom design creation/validation/activation, `revela-domain` for custom narrative domain creation/validation/activation, `revela-research` for local and web research saved under `researches/` plus the design-aware `deck-plan.md` handoff, `revela-make-deck` for generating `decks/*.html` from an existing plan, `revela-review` for the Review UI, and `revela-export` for PDF/PPTX/PNG.
|
|
69
69
|
|
|
70
70
|
For release-aligned local validation, run `bun run smoke:mcp-pack`. It packs the current checkout to a temporary npm tarball and starts the MCP server through `npx`, matching the published Codex launcher path without requiring a registry publish.
|
|
71
71
|
|
package/README.zh-CN.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) | **中文**
|
|
4
4
|
|
|
5
|
-
[](https://www.npmjs.com/package/@cyber-dash-tech/revela) [](LICENSE) [](https://www.npmjs.com/package/@cyber-dash-tech/revela) [](LICENSE) [](tests/) [](https://opencode.ai) [](https://bun.sh)
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<img src="assets/img/logo.png" alt="Revela" width="560" />
|
|
@@ -34,7 +34,7 @@ Revela 可在 [OpenCode](https://opencode.ai) 和 Codex 中使用,把来源材
|
|
|
34
34
|
环境要求:
|
|
35
35
|
|
|
36
36
|
- 需要已安装 Codex CLI,并且 shell 中可以执行 `codex`。
|
|
37
|
-
- 环境中需要可以执行 `npx`;Revela 会用 `npx -y @cyber-dash-tech/revela@0.18.
|
|
37
|
+
- 环境中需要可以执行 `npx`;Revela 会用 `npx -y @cyber-dash-tech/revela@0.18.7 mcp` 启动 MCP server。
|
|
38
38
|
- 如果使用 Review UI 的 Apply,需要 `codex exec` 可用;评论会先保存,点击 Apply 后才执行修复。
|
|
39
39
|
|
|
40
40
|
可选的安装前检查:
|
|
@@ -55,17 +55,17 @@ npm_config_cache=/tmp/revela-npm-cache bun run smoke:mcp-pack
|
|
|
55
55
|
通过 Codex Git marketplace 安装 Revela:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.18.
|
|
58
|
+
codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.18.7
|
|
59
59
|
codex plugin add revela@revela
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
Git marketplace 安装的是 Codex plugin 壳、skills、hooks 和 MCP 配置。Codex 第一次启动 Revela MCP server 时,会运行 `npx -y @cyber-dash-tech/revela@0.18.
|
|
62
|
+
Git marketplace 安装的是 Codex plugin 壳、skills、hooks 和 MCP 配置。Codex 第一次启动 Revela MCP server 时,会运行 `npx -y @cyber-dash-tech/revela@0.18.7 mcp`,由 npm 获取已发布 package 及其 dependencies。
|
|
63
63
|
|
|
64
64
|
不需要在 Codex marketplace clone 里运行 `bun install`。
|
|
65
65
|
|
|
66
66
|
安装后开启一个新的 Codex thread,让 Codex 加载 Revela 的 skills、MCP tools 和 hooks。
|
|
67
67
|
|
|
68
|
-
Codex
|
|
68
|
+
Codex 使用七个 Revela skills:`revela-helper` 查看状态和 active design/domain,`revela-design` 创建、验证、激活 custom design,`revela-domain` 创建、验证、激活 custom narrative domain,`revela-research` 调研本地与网络资料、保存到 `researches/`,并产出 design-aware `deck-plan.md` handoff;`revela-make-deck` 基于已有 plan 生成 `decks/*.html`,`revela-review` 打开 Review UI,`revela-export` 导出 PDF/PPTX/PNG。
|
|
69
69
|
|
|
70
70
|
如果要按发布路径做本地验证,运行 `bun run smoke:mcp-pack`。它会把当前 checkout 打成临时 npm tarball,再通过 `npx` 启动 MCP server,不需要先发布到 registry。
|
|
71
71
|
|
package/designs/monet/DESIGN.md
CHANGED
|
@@ -838,6 +838,25 @@ Every slot accepts 1 or more components, but the layout should preserve a synthe
|
|
|
838
838
|
- **Dark background variant.** Set CSS variable overrides (`--text-primary` etc.) on `.stacked-grid` to cascade into both slots automatically.
|
|
839
839
|
<!-- @layout:stacked:end -->
|
|
840
840
|
|
|
841
|
+
<!-- @layout:toc:start qa=false -->
|
|
842
|
+
#### TOC
|
|
843
|
+
|
|
844
|
+
Editorial wayfinding layout for a table of contents, agenda, section map, or chapter divider. Use with the `toc` component as the primary structure so Monet keeps its print-like chapter list and page-number rhythm. Do not use this as a general two-column narrative layout, and do not replace the TOC structure with a `text-panel`.
|
|
845
|
+
|
|
846
|
+
Structural intent:
|
|
847
|
+
- main slot: one `toc` component.
|
|
848
|
+
|
|
849
|
+
```html
|
|
850
|
+
<section class="slide" slide-qa="false" data-slide-index="N">
|
|
851
|
+
<div class="slide-canvas">
|
|
852
|
+
<div class="page" style="padding:0;overflow:hidden;">
|
|
853
|
+
<!-- [slot: main] — use one toc component -->
|
|
854
|
+
</div>
|
|
855
|
+
</div>
|
|
856
|
+
</section>
|
|
857
|
+
```
|
|
858
|
+
<!-- @layout:toc:end -->
|
|
859
|
+
|
|
841
860
|
<!-- @design:layouts:end -->
|
|
842
861
|
|
|
843
862
|
|
|
@@ -422,6 +422,25 @@ Two-row layout for a compact header/summary above a larger evidence, chart, or f
|
|
|
422
422
|
```
|
|
423
423
|
<!-- @layout:stacked:end -->
|
|
424
424
|
|
|
425
|
+
<!-- @layout:toc:start qa=false -->
|
|
426
|
+
#### TOC
|
|
427
|
+
|
|
428
|
+
Structural wayfinding layout for a table of contents, agenda, section map, or chapter divider. Use with the `toc` component as the primary structure. Do not use this as a general two-column narrative layout, and do not replace the TOC structure with a `text-panel`.
|
|
429
|
+
|
|
430
|
+
Structural intent:
|
|
431
|
+
- main slot: one `toc` component.
|
|
432
|
+
|
|
433
|
+
```html
|
|
434
|
+
<section class="slide" slide-qa="false" data-slide-index="N">
|
|
435
|
+
<div class="slide-canvas">
|
|
436
|
+
<div class="page" style="padding:0;">
|
|
437
|
+
<!-- [slot: main] — use one toc component -->
|
|
438
|
+
</div>
|
|
439
|
+
</div>
|
|
440
|
+
</section>
|
|
441
|
+
```
|
|
442
|
+
<!-- @layout:toc:end -->
|
|
443
|
+
|
|
425
444
|
<!-- @design:layouts:end -->
|
|
426
445
|
|
|
427
446
|
<!-- @design:components:start -->
|
package/designs/summit/DESIGN.md
CHANGED
|
@@ -801,6 +801,25 @@ Every slot accepts 1 or more components. The LLM decides what each slot contains
|
|
|
801
801
|
- **Dark background variant.** Set CSS variable overrides (`--text-primary` etc.) on `.stacked-grid` to cascade into both slots automatically.
|
|
802
802
|
<!-- @layout:stacked:end -->
|
|
803
803
|
|
|
804
|
+
<!-- @layout:toc:start qa=false -->
|
|
805
|
+
#### TOC
|
|
806
|
+
|
|
807
|
+
Structural wayfinding layout for a table of contents, agenda, section map, or chapter divider. Use with the `toc` component as the primary structure so Summit can keep its wide editorial spacing, understated rules, and section rhythm. Do not use this as a general two-column narrative layout, and do not replace the TOC structure with a `text-panel`.
|
|
808
|
+
|
|
809
|
+
Structural intent:
|
|
810
|
+
- main slot: one `toc` component.
|
|
811
|
+
|
|
812
|
+
```html
|
|
813
|
+
<section class="slide" slide-qa="false" data-slide-index="N">
|
|
814
|
+
<div class="slide-canvas">
|
|
815
|
+
<div class="page" style="padding:0;overflow:hidden;">
|
|
816
|
+
<!-- [slot: main] — use one toc component -->
|
|
817
|
+
</div>
|
|
818
|
+
</div>
|
|
819
|
+
</section>
|
|
820
|
+
```
|
|
821
|
+
<!-- @layout:toc:end -->
|
|
822
|
+
|
|
804
823
|
<!-- @design:layouts:end -->
|
|
805
824
|
|
|
806
825
|
|
package/lib/design/designs.ts
CHANGED
|
@@ -157,14 +157,26 @@ function designDirHasPackage(dir: string): boolean {
|
|
|
157
157
|
function resolveDesignDir(nameInput?: string): string | null {
|
|
158
158
|
const name = normalizeDesignName(nameInput || activeDesign())
|
|
159
159
|
const userDir = join(DESIGNS_DIR, name)
|
|
160
|
-
if (designDirHasPackage(userDir)) return userDir
|
|
161
|
-
|
|
162
160
|
const bundledDir = join(SEED_DIR, name)
|
|
161
|
+
if (designDirHasPackage(userDir)) {
|
|
162
|
+
if (designDirHasPackage(bundledDir) && isSeededBuiltinCopy(userDir, bundledDir)) return bundledDir
|
|
163
|
+
return userDir
|
|
164
|
+
}
|
|
165
|
+
|
|
163
166
|
if (designDirHasPackage(bundledDir)) return bundledDir
|
|
164
167
|
|
|
165
168
|
return null
|
|
166
169
|
}
|
|
167
170
|
|
|
171
|
+
function isSeededBuiltinCopy(userDir: string, bundledDir: string): boolean {
|
|
172
|
+
const userInfo = parseDesignFile(join(userDir, "DESIGN.md"))
|
|
173
|
+
const bundledInfo = parseDesignFile(join(bundledDir, "DESIGN.md"))
|
|
174
|
+
if (!userInfo || !bundledInfo) return false
|
|
175
|
+
return userInfo.author === bundledInfo.author
|
|
176
|
+
&& userInfo.version === bundledInfo.version
|
|
177
|
+
&& userInfo.description === bundledInfo.description
|
|
178
|
+
}
|
|
179
|
+
|
|
168
180
|
function readDesignsFromDir(root: string): Map<string, DesignInfo> {
|
|
169
181
|
const designs = new Map<string, DesignInfo>()
|
|
170
182
|
if (!existsSync(root)) return designs
|
|
@@ -251,7 +251,7 @@ function buildDeckPlanRequirements(narrativeHash: string): DeckPlanRequirements
|
|
|
251
251
|
"Use 3-5 chapters for normal executive decks.",
|
|
252
252
|
"Cover every central claim, but group related central claims into chapters instead of giving each claim its own chapter.",
|
|
253
253
|
"Each substantive chapter should have framing, proof, and implication/boundary coverage.",
|
|
254
|
-
"Chapter divider or chapter TOC slides
|
|
254
|
+
"Chapter divider or chapter TOC slides should use layout: toc with the toc component as structural wayfinding.",
|
|
255
255
|
"Do not create filler slides, repeated thesis pages, or generic bridge slides.",
|
|
256
256
|
"Preserve evidence ids, source trace, source limitations, unresolved inputs, and user review notes where available.",
|
|
257
257
|
"Do not render internal labels such as Evidence gap:, Unsupported scope:, Caveat:, Missing Data, or Evidence Boundary in executive body copy.",
|
|
@@ -283,7 +283,7 @@ export function buildRenderPlanContract(deck: DeckSpec, chapters: DeckPlanChapte
|
|
|
283
283
|
renderRules: [
|
|
284
284
|
"Do not infer deck structure, slide count, or chapter substance from DECKS.json slides[].",
|
|
285
285
|
"Use the compileDeckPlan planning packet plus deck-plan.md as the render-plan contract.",
|
|
286
|
-
"Render chapter divider slides with the toc component when slideKind is chapter-divider.",
|
|
286
|
+
"Render chapter divider slides with layout: toc and the toc component when slideKind is chapter-divider.",
|
|
287
287
|
"Chapter divider and global TOC slides are structural wayfinding and do not count toward central-claim substance.",
|
|
288
288
|
"Each central claim chapter needs non-structural framing, proof, and implication/boundary slides unless the current deck-plan projection explicitly says otherwise.",
|
|
289
289
|
`Generate HTML in chapter-bounded batches of at most ${MAX_HTML_SLIDES_PER_BATCH} slides, preserving valid HTML and already-written slides after every batch.`,
|
|
@@ -470,7 +470,7 @@ function tocSlide(index: number, chapters: DeckPlanChapter[]): SlideSpec {
|
|
|
470
470
|
narrativeRole: "context",
|
|
471
471
|
layout: "toc",
|
|
472
472
|
qa: false,
|
|
473
|
-
components: ["toc"
|
|
473
|
+
components: ["toc"],
|
|
474
474
|
content: {
|
|
475
475
|
headline: "How the decision story is organized",
|
|
476
476
|
bullets: chapters.map((chapter) => chapter.title),
|
|
@@ -491,7 +491,7 @@ function chapterDividerSlide(index: number, chapters: DeckPlanChapter[], chapter
|
|
|
491
491
|
narrativeRole: "context",
|
|
492
492
|
layout: "toc",
|
|
493
493
|
qa: false,
|
|
494
|
-
components: ["toc"
|
|
494
|
+
components: ["toc"],
|
|
495
495
|
claimIds: chapter.sourceClaimId ? [chapter.sourceClaimId] : [],
|
|
496
496
|
claimRefs: chapter.sourceClaimId ? [{ claimId: chapter.sourceClaimId, role: "supporting", note: "Structural chapter divider; not counted as claim proof." }] : [],
|
|
497
497
|
evidenceBindingIds: [],
|
package/package.json
CHANGED
package/plugins/revela/.mcp.json
CHANGED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: revela-design
|
|
3
|
+
description: Create, edit, validate, install, activate, inspect, or list Revela design packages in Codex using design MCP tools.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Revela Design
|
|
7
|
+
|
|
8
|
+
Use this skill when the user asks to create, customize, edit, validate, install, activate, inspect, list, or switch a Revela design.
|
|
9
|
+
|
|
10
|
+
## Contract
|
|
11
|
+
|
|
12
|
+
- Designs define deck visual systems: rules, foundation, layouts, components, chart rules, and preview coverage.
|
|
13
|
+
- Default authoring is workspace draft first, then validate, then install only when appropriate.
|
|
14
|
+
- Direct user-level creation is reserved for explicit create/install-now requests.
|
|
15
|
+
- Do not use domain tools for visual design work.
|
|
16
|
+
- Do not generate deck HTML while authoring a design.
|
|
17
|
+
|
|
18
|
+
## Required Tools
|
|
19
|
+
|
|
20
|
+
For status, inspection, activation, or selection:
|
|
21
|
+
|
|
22
|
+
1. Call `revela_design_list`.
|
|
23
|
+
2. Call `revela_design_read`, `revela_design_inventory`, `revela_design_read_layout`, or `revela_design_read_component` as needed.
|
|
24
|
+
3. Call `revela_design_activate` only when the user asks to use a design.
|
|
25
|
+
|
|
26
|
+
For new or edited designs:
|
|
27
|
+
|
|
28
|
+
1. Call `revela_design_list`.
|
|
29
|
+
2. Read the requested base design or active design with `revela_design_read`.
|
|
30
|
+
3. Draft complete `DESIGN.md` and complete `preview.html` content.
|
|
31
|
+
4. Call `revela_design_draft_create`.
|
|
32
|
+
5. Call `revela_design_draft_validate`.
|
|
33
|
+
6. If validation fails, revise the draft content and repeat draft create/validate.
|
|
34
|
+
7. Call `revela_design_draft_install` only after the draft validates and the user intent is to install it.
|
|
35
|
+
8. Call `revela_design_activate` only when the user asks to make it active.
|
|
36
|
+
|
|
37
|
+
Use `revela_design_create` only when the user explicitly requests direct local creation outside the workspace draft workflow. Follow it with `revela_design_validate`.
|
|
38
|
+
|
|
39
|
+
## Design Package Requirements
|
|
40
|
+
|
|
41
|
+
- Use a kebab-case design name.
|
|
42
|
+
- `DESIGN.md` must include valid frontmatter and complete design marker sections.
|
|
43
|
+
- Include design rules, foundation guidance, at least one layout, and at least one component.
|
|
44
|
+
- `preview.html` must use the fixed Revela preview canvas contract and visibly preview the design.
|
|
45
|
+
- Preview must include cover and closing examples and showcase every component.
|
|
46
|
+
- Preserve source inspiration and limitations explicitly; do not copy copyrighted design text or assets into the package.
|
|
47
|
+
|
|
48
|
+
## Outputs
|
|
49
|
+
|
|
50
|
+
- Design draft path/status or installed design name.
|
|
51
|
+
- Validation result and any remaining diagnostics.
|
|
52
|
+
- Whether the design was activated.
|
|
53
|
+
- Next step, usually `revela-research` for planning with the design or `revela-make-deck` when a valid `deck-plan.md` already exists.
|
|
54
|
+
|
|
55
|
+
## Must Not
|
|
56
|
+
|
|
57
|
+
- Do not write `deck-plan.md`.
|
|
58
|
+
- Do not write `decks/*.html`.
|
|
59
|
+
- Do not install or activate a design unless the user requested that outcome.
|
|
60
|
+
- Do not invent licenses, asset provenance, or brand permissions.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: revela-domain
|
|
3
|
+
description: Create, edit, validate, install, activate, inspect, or list Revela narrative domain packages in Codex using domain MCP tools.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Revela Domain
|
|
7
|
+
|
|
8
|
+
Use this skill when the user asks to create, customize, edit, validate, install, activate, inspect, list, or switch a Revela narrative domain.
|
|
9
|
+
|
|
10
|
+
## Contract
|
|
11
|
+
|
|
12
|
+
- Domains guide narrative authoring: audience framing, decision standards, evidence expectations, objection/risk handling, and research priorities.
|
|
13
|
+
- Domain guidance is not evidence and must never be cited as proof for factual claims.
|
|
14
|
+
- Default authoring is workspace draft first, then validate, then install only when appropriate.
|
|
15
|
+
- Direct user-level creation is reserved for explicit create/install-now requests.
|
|
16
|
+
- Do not use design tools for narrative domain work.
|
|
17
|
+
|
|
18
|
+
## Required Tools
|
|
19
|
+
|
|
20
|
+
For status, inspection, activation, or selection:
|
|
21
|
+
|
|
22
|
+
1. Call `revela_domain_list`.
|
|
23
|
+
2. Call `revela_domain_read` when the user asks for detail or comparison.
|
|
24
|
+
3. Call `revela_domain_activate` only when the user asks to use a domain.
|
|
25
|
+
|
|
26
|
+
For new or edited domains:
|
|
27
|
+
|
|
28
|
+
1. Call `revela_domain_list`.
|
|
29
|
+
2. Read a relevant existing domain with `revela_domain_read` when useful as a reference.
|
|
30
|
+
3. Draft complete `INDUSTRY.md` content.
|
|
31
|
+
4. Call `revela_domain_draft_create`.
|
|
32
|
+
5. Call `revela_domain_draft_validate`.
|
|
33
|
+
6. If validation fails, revise the draft content and repeat draft create/validate.
|
|
34
|
+
7. Call `revela_domain_draft_install` only after the draft validates and the user intent is to install it.
|
|
35
|
+
8. Call `revela_domain_activate` only when the user asks to make it active.
|
|
36
|
+
|
|
37
|
+
Use `revela_domain_create` only when the user explicitly requests direct local creation outside the workspace draft workflow. Follow it with `revela_domain_validate`.
|
|
38
|
+
|
|
39
|
+
## Domain Package Requirements
|
|
40
|
+
|
|
41
|
+
- Use a kebab-case domain name.
|
|
42
|
+
- `INDUSTRY.md` must be complete domain guidance, not a research report.
|
|
43
|
+
- Include audience/decision framing, claim standards, evidence expectations, objection/risk guidance, and research-gap priorities.
|
|
44
|
+
- Keep guidance procedural and reusable; do not include unsupported factual claims as evidence.
|
|
45
|
+
- Preserve source limitations explicitly when domain guidance is based on user-provided context.
|
|
46
|
+
|
|
47
|
+
## Outputs
|
|
48
|
+
|
|
49
|
+
- Domain draft path/status or installed domain name.
|
|
50
|
+
- Validation result and any remaining diagnostics.
|
|
51
|
+
- Whether the domain was activated.
|
|
52
|
+
- Next step, usually `revela-research` so the active domain informs material intake and planning.
|
|
53
|
+
|
|
54
|
+
## Must Not
|
|
55
|
+
|
|
56
|
+
- Do not write `researches/**/*.md`, `deck-plan.md`, or `decks/*.html`.
|
|
57
|
+
- Do not install or activate a domain unless the user requested that outcome.
|
|
58
|
+
- Do not treat domain guidance as source evidence.
|
|
59
|
+
- Do not invent citations, claims, URLs, or industry facts.
|
|
@@ -38,7 +38,13 @@ Report:
|
|
|
38
38
|
- Runtime/version status from `revela_doctor`.
|
|
39
39
|
- Active design and active domain.
|
|
40
40
|
- Workspace artifact status: whether `researches/`, `deck-plan.md`, `decks/*.html`, and `assets/` appear available.
|
|
41
|
-
- Recommended next step:
|
|
41
|
+
- Recommended next step:
|
|
42
|
+
- Custom visual system requested: use `revela-design`.
|
|
43
|
+
- Custom narrative domain guidance requested: use `revela-domain`.
|
|
44
|
+
- No `researches/`: run `revela-research`.
|
|
45
|
+
- Research exists but no `deck-plan.md`: continue `revela-research` to the Planning Handoff.
|
|
46
|
+
- Valid `deck-plan.md` but no deck artifact: run `revela-make-deck`.
|
|
47
|
+
- Existing deck artifact: run `revela-review` or `revela-export` depending on the user goal.
|
|
42
48
|
|
|
43
49
|
## Must Not
|
|
44
50
|
|
|
@@ -46,3 +52,4 @@ Report:
|
|
|
46
52
|
- Do not do external web research.
|
|
47
53
|
- Do not generate or repair `deck-plan.md`.
|
|
48
54
|
- Do not generate, review, patch, or export deck artifacts.
|
|
55
|
+
- Do not create, install, or activate designs or domains; route those requests to `revela-design` or `revela-domain`.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: revela-make-deck
|
|
3
|
-
description:
|
|
3
|
+
description: Generate Revela HTML deck artifacts in Codex from an existing deck-plan.md and active design files.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Revela Make Deck
|
|
7
7
|
|
|
8
|
-
Use this skill when the user asks to
|
|
8
|
+
Use this skill when the user asks to make, generate, render, or update a Revela HTML deck from an existing `deck-plan.md`.
|
|
9
9
|
|
|
10
10
|
## Contract
|
|
11
11
|
|
|
@@ -14,14 +14,16 @@ Use this skill when the user asks to plan, make, generate, or update a Revela de
|
|
|
14
14
|
- Active/requested design tools define valid layouts, slots, components, nesting hints, and HTML writing rules.
|
|
15
15
|
- Active/requested domain guidance may inform communication framing, but it is not source evidence.
|
|
16
16
|
- Generated artifacts live under `decks/*.html`.
|
|
17
|
-
- Do not require a Narrative Vault before
|
|
18
|
-
-
|
|
17
|
+
- Do not require a Narrative Vault before generating a deck.
|
|
18
|
+
- This skill does not own normal plan authoring; `revela-research` owns source preparation and `deck-plan.md` planning handoff.
|
|
19
|
+
- `deck-plan.md` is required for normal deck generation.
|
|
19
20
|
|
|
20
21
|
## Preconditions
|
|
21
22
|
|
|
22
|
-
-
|
|
23
|
-
- If research is thin, the user may explicitly ask to continue with limited materials; then record source limitations in `deck-plan.md`.
|
|
23
|
+
- Required: readable `deck-plan.md`.
|
|
24
24
|
- An active or user-requested design must be readable.
|
|
25
|
+
- If `deck-plan.md` is missing, stop and tell the user to run `revela-research` or continue `revela-research` to the Planning Handoff.
|
|
26
|
+
- If `deck-plan.md` is structurally invalid, only repair technical plan diagnostics reported during render preflight.
|
|
25
27
|
|
|
26
28
|
## Inputs
|
|
27
29
|
|
|
@@ -29,18 +31,18 @@ Use this skill when the user asks to plan, make, generate, or update a Revela de
|
|
|
29
31
|
- Reviewed workspace materials and material review records.
|
|
30
32
|
- `assets/`
|
|
31
33
|
- User deck objective, audience, and constraints.
|
|
32
|
-
- Existing `deck-plan.md
|
|
34
|
+
- Existing `deck-plan.md`.
|
|
33
35
|
- Active/requested design and optional active/requested domain.
|
|
34
36
|
|
|
35
37
|
## Required Design Tools
|
|
36
38
|
|
|
37
|
-
Before
|
|
39
|
+
Before render preflight:
|
|
38
40
|
|
|
39
41
|
1. Call `revela_design_list`.
|
|
40
42
|
2. Call `revela_design_read` with `section: "rules"` for the active/requested design.
|
|
41
43
|
3. Call `revela_design_inventory`.
|
|
42
44
|
|
|
43
|
-
Before
|
|
45
|
+
Before HTML writing:
|
|
44
46
|
|
|
45
47
|
1. Call `revela_read_deck_plan`.
|
|
46
48
|
2. Read the returned `htmlWritingBatches`.
|
|
@@ -48,38 +50,22 @@ Before Render phase HTML writing:
|
|
|
48
50
|
4. Call `revela_design_read_component` for each component used in the current batch.
|
|
49
51
|
5. Fetch chart rules before creating or modifying ECharts.
|
|
50
52
|
|
|
51
|
-
## Plan
|
|
53
|
+
## Plan Preflight And Repair
|
|
52
54
|
|
|
53
|
-
|
|
55
|
+
Call `revela_read_deck_plan` before HTML generation and treat the result as the render blueprint.
|
|
54
56
|
|
|
55
|
-
|
|
56
|
-
2. Read active/requested domain guidance only as framing context; never cite it as evidence.
|
|
57
|
-
3. Use design inventory to choose valid layouts, slots, components, and component nesting.
|
|
58
|
-
4. Write or repair `deck-plan.md` directly. Do not use structured upsert tools for normal plan authoring.
|
|
59
|
-
5. Call `revela_read_deck_plan` after writing or repairing `deck-plan.md`.
|
|
60
|
-
6. If diagnostics report layout, slot, component, `children`, or `sourceLinks` issues, patch the Markdown directly and call `revela_read_deck_plan` again.
|
|
57
|
+
Allowed plan repairs are limited to technical diagnostics from `revela_read_deck_plan`:
|
|
61
58
|
|
|
62
|
-
|
|
59
|
+
- Broken Markdown/frontmatter structure.
|
|
60
|
+
- Invalid or missing `sourceLinks` field structure, without adding new unsupported source links.
|
|
61
|
+
- Layout, slot, component, or `children` names that do not match `revela_design_inventory`.
|
|
62
|
+
- Component nesting fixes such as using `box.children` when the selected component model requires nested semantic groups.
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
Each slide block must include:
|
|
67
|
-
|
|
68
|
-
- Slide title and role when relevant.
|
|
69
|
-
- `#### Content Plan`
|
|
70
|
-
- `#### Source Links` for materials, findings, assets, URLs, and caveats.
|
|
71
|
-
- `#### Design Plan`
|
|
72
|
-
- Selected layout from design inventory.
|
|
73
|
-
- Component plan using component names from design inventory.
|
|
74
|
-
- Valid slots from the selected layout.
|
|
75
|
-
- Valid component nesting hints, including `box.children` when multiple child components support one semantic idea.
|
|
76
|
-
- Unresolved inputs, source limitations, and user review notes instead of AI-authored caveat/risk judgement.
|
|
77
|
-
|
|
78
|
-
Do not duplicate the same child as both nested and top-level.
|
|
64
|
+
Do not redesign the argument structure, add new slides, remove supported slides, rewrite claims, or add source links that were not reviewed or saved by `revela-research`. If normal plan authoring is needed, stop and send the user back to `revela-research` Planning Handoff.
|
|
79
65
|
|
|
80
66
|
## Render Phase
|
|
81
67
|
|
|
82
|
-
Use this phase when the user asks to make, generate, render, or update an HTML deck.
|
|
68
|
+
Use this phase when the user asks to make, generate, render, or update an HTML deck and `deck-plan.md` is readable.
|
|
83
69
|
|
|
84
70
|
1. Call `revela_read_deck_plan` before HTML generation and follow the current projection.
|
|
85
71
|
2. Read `htmlWritingBatches` before any HTML write. `revela_read_deck_plan` is QA/diagnostics, not a writer.
|
|
@@ -95,13 +81,15 @@ Use this phase when the user asks to make, generate, render, or update an HTML d
|
|
|
95
81
|
|
|
96
82
|
## Outputs
|
|
97
83
|
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
84
|
+
- `decks/*.html`.
|
|
85
|
+
- Artifact QA status.
|
|
86
|
+
- Unresolved render/design issues and any plan diagnostics that require `revela-research` Planning Handoff.
|
|
101
87
|
|
|
102
88
|
## Must Not
|
|
103
89
|
|
|
104
|
-
- Do not skip `deck-plan.md` for normal decks.
|
|
90
|
+
- Do not skip or synthesize `deck-plan.md` for normal decks.
|
|
91
|
+
- Do not claim ownership of normal plan authoring.
|
|
92
|
+
- Do not write a new `deck-plan.md` when it is missing.
|
|
105
93
|
- Do not use design inventory names, slots, or components that were not returned by the active/requested design tools.
|
|
106
94
|
- Do not use a slot that does not belong to the selected layout.
|
|
107
95
|
- Do not patch more than 5 slide sections in one HTML write.
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: revela-research
|
|
3
|
-
description: Research workspace materials and public sources for a Revela deck objective, using active domain guidance
|
|
3
|
+
description: Research workspace materials and public sources for a Revela deck objective, using active domain/design guidance to save source-linked findings and hand off deck-plan.md.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Revela Research
|
|
7
7
|
|
|
8
|
-
Use this skill when the user asks to start from a goal, inspect local materials, research missing inputs, gather public support, save findings,
|
|
8
|
+
Use this skill when the user asks to start from a goal, inspect local materials, research missing inputs, gather public support, save findings, find source-linked examples/assets, or prepare the deck planning handoff.
|
|
9
9
|
|
|
10
10
|
## Contract
|
|
11
11
|
|
|
12
12
|
- Research is the source-preparation workflow for Codex Revela.
|
|
13
|
-
- Research output is saved under `researches/**/*.md`
|
|
13
|
+
- Research output is saved under `researches/**/*.md` and, when the user goal is a deck and materials are sufficient, handed off as `deck-plan.md`.
|
|
14
14
|
- Local materials are only usable after direct text review or extracted read-view review.
|
|
15
15
|
- Active/requested domain guidance informs audience, decision framing, claim standards, evidence expectations, objection/risk interpretation, and research-gap priority.
|
|
16
16
|
- Domain guidance is not evidence and must never be cited as proof for factual claims.
|
|
17
|
-
-
|
|
17
|
+
- Active/requested design tools define valid layouts, slots, components, nesting hints, and deck-plan design vocabulary.
|
|
18
|
+
- `deck-plan.md` is the formal research-to-make-deck handoff when a deck objective is sufficiently supported.
|
|
19
|
+
- Do not create deck artifacts, a Narrative Vault, or canonical evidence bindings during research.
|
|
18
20
|
- Do not invent URLs, quotes, page references, numbers, caveats, or licenses.
|
|
19
21
|
|
|
20
22
|
## Preconditions
|
|
@@ -40,6 +42,13 @@ Use this skill when the user asks to start from a goal, inspect local materials,
|
|
|
40
42
|
7. Call `revela_check_material_intake` before reporting research readiness.
|
|
41
43
|
8. Use external research only for public facts, user-authorized questions, or gaps not covered by local materials.
|
|
42
44
|
9. Save useful findings with `revela_research_save`.
|
|
45
|
+
10. For deck goals with sufficient materials, run Planning Handoff:
|
|
46
|
+
- Call `revela_design_list`.
|
|
47
|
+
- Call `revela_design_read` with `section: "rules"` for the active/requested design.
|
|
48
|
+
- Call `revela_design_inventory`.
|
|
49
|
+
- Write `deck-plan.md` directly from reviewed materials, saved findings, assets, user intent, active domain framing, and active design vocabulary.
|
|
50
|
+
- Call `revela_read_deck_plan` after writing `deck-plan.md`.
|
|
51
|
+
- If diagnostics report `sourceLinks`, layout, slot, component, or `children` issues, patch `deck-plan.md` directly and call `revela_read_deck_plan` again.
|
|
43
52
|
|
|
44
53
|
## Finding Requirements
|
|
45
54
|
|
|
@@ -59,13 +68,33 @@ If a finding is context only, label it as context and do not present it as proof
|
|
|
59
68
|
|
|
60
69
|
- `researches/{topic}/{filename}.md`
|
|
61
70
|
- Material review records for reviewed Office/PDF sources.
|
|
71
|
+
- `deck-plan.md` when the user goal is a deck and reviewed materials/findings are sufficient for a traceable plan.
|
|
62
72
|
- Source limitations and unresolved gaps.
|
|
63
73
|
- A clear statement of whether `revela-make-deck` can proceed or whether more research is needed.
|
|
64
74
|
|
|
75
|
+
## Planning Handoff
|
|
76
|
+
|
|
77
|
+
Use this final stage only for deck goals. If sources are too thin, report unresolved inputs and source limitations instead of drafting unsupported slides.
|
|
78
|
+
|
|
79
|
+
Every `deck-plan.md` handoff should include Cover, Table of Contents, Closing, 3-5 chapter headings, explicit slide ranges, and `---` slide separators under `## Slides`.
|
|
80
|
+
|
|
81
|
+
Each non-structural slide block must include:
|
|
82
|
+
|
|
83
|
+
- Slide title and role when relevant.
|
|
84
|
+
- `#### Content Plan`
|
|
85
|
+
- `#### Source Links` for materials, findings, assets, URLs, and caveats.
|
|
86
|
+
- `#### Design Plan`
|
|
87
|
+
- Selected layout from design inventory.
|
|
88
|
+
- Component plan using component names from design inventory.
|
|
89
|
+
- Valid slots from the selected layout.
|
|
90
|
+
- Valid component nesting hints, including `box.children` when multiple child components support one semantic idea.
|
|
91
|
+
- Unresolved inputs, source limitations, and user review notes instead of AI-authored caveat/risk judgement.
|
|
92
|
+
|
|
93
|
+
Do not duplicate the same child as both nested and top-level. Do not add source links that were not reviewed or saved during research.
|
|
94
|
+
|
|
65
95
|
## Must Not
|
|
66
96
|
|
|
67
97
|
- Do not generate `revela-narrative/`.
|
|
68
|
-
- Do not write `deck-plan.md`.
|
|
69
98
|
- Do not write `decks/*.html`.
|
|
70
99
|
- Do not bind findings into a Narrative Vault or canonical evidence graph.
|
|
71
100
|
- Do not treat domain guidance as source evidence.
|
package/skill/SKILL.md
CHANGED
|
@@ -156,8 +156,8 @@ Rules for the slide plan:
|
|
|
156
156
|
evidence table, comparison grid, risk matrix, steps view, chart, or media brief
|
|
157
157
|
into generic bullets unless the user revises the plan.
|
|
158
158
|
- Chapter divider or chapter TOC slides are structural wayfinding and should
|
|
159
|
-
|
|
160
|
-
and implication coverage in substantive chapters.
|
|
159
|
+
use `layout: toc` with the `toc` component; they must not replace framing,
|
|
160
|
+
proof, and implication coverage in substantive chapters.
|
|
161
161
|
- Normal content slides should usually contain 2-4 semantic boxes/cards unless
|
|
162
162
|
intentionally using a focus layout.
|
|
163
163
|
- If a chapter lacks enough substance for its allocated slides, reduce the slide
|
|
@@ -183,7 +183,7 @@ For decks with 5 or more slides:
|
|
|
183
183
|
`htmlWritingBatches`.
|
|
184
184
|
- Do not mix multiple central-claim chapters in the same write.
|
|
185
185
|
- Chapter divider or chapter TOC slides are allowed as structural wayfinding and
|
|
186
|
-
should
|
|
186
|
+
should use `layout: toc` with the `toc` component.
|
|
187
187
|
- Do not use placeholder, blank, repeated thesis, or generic transition slides as
|
|
188
188
|
substitutes for required claim substance.
|
|
189
189
|
- Treat appendix, summary, and closing slides as the final batch unless the
|