@topmindspace/tms-skills 0.3.0 → 0.3.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/CHANGELOG.md +186 -0
- package/README.en.md +10 -70
- package/README.md +11 -69
- package/package.json +1 -1
- package/top-ppt-html/README.en.md +19 -20
- package/top-ppt-html/README.md +36 -90
- package/top-ppt-html/SKILL.md +65 -60
- package/top-ppt-html/references/charts.md +0 -15
- package/top-ppt-html/references/components.md +0 -18
- package/top-ppt-html/references/design-system.md +2 -2
- package/top-ppt-html/references/icons.md +2 -2
- package/top-ppt-html/references/infographics.md +1 -5
- package/top-ppt-html/references/modes.md +4 -4
- package/top-ppt-html/references/tech-design.md +3 -3
- package/top-ppt-html/scripts/build_examples.py +4 -4
- package/top-ppt-html/scripts/build_pptx.js +240 -59
- package/top-ppt-html/scripts/check_triggers.py +10 -2
- package/top-ppt-html/scripts/extract_model.py +16 -5
- package/top-ppt-html/scripts/gen_channel_a.js +55 -10
- package/top-ppt-html/scripts/hydrate_charts.py +68 -13
- package/top-ppt-html/scripts/negative_tests.py +1 -1
- package/top-ppt-html/scripts/prepare_images.py +1 -1
- package/top-ppt-html/scripts/recommend_layout.py +26 -3
- package/top-ppt-html/scripts/render_from_model.py +78 -13
- package/top-ppt-html/scripts/scaffold_report.py +43 -3
- package/top-ppt-html/scripts/sync_runtime.py +32 -4
- package/top-ppt-html/scripts/test_feedback_gates.py +24 -0
- package/top-ppt-html/scripts/validate_pptx.py +10 -1
- package/top-ppt-html/scripts/validate_report.py +43 -7
- package/topmind-cover/README.en.md +12 -8
- package/topmind-cover/README.md +13 -9
- package/topmind-cover/SKILL.md +33 -21
- package/topmind-cover/assets/examples/README.md +16 -19
- package/topmind-cover/assets/examples/big-type-wechat.png +0 -0
- package/topmind-cover/assets/examples/big-type.png +0 -0
- package/topmind-cover/assets/examples/brand-launch-wechat.png +0 -0
- package/topmind-cover/assets/examples/brand-launch.png +0 -0
- package/topmind-cover/assets/examples/gan-huo-wechat.png +0 -0
- package/topmind-cover/assets/examples/gan-huo.png +0 -0
- package/topmind-cover/assets/examples/ip-fun-wechat.png +0 -0
- package/topmind-cover/assets/examples/ip-fun.png +0 -0
- package/topmind-cover/assets/examples/magazine-wechat.png +0 -0
- package/topmind-cover/assets/examples/magazine.png +0 -0
- package/topmind-cover/assets/examples/minimal-wechat.png +0 -0
- package/topmind-cover/assets/examples/minimal.png +0 -0
- package/topmind-cover/assets/examples/news-flash-wechat.png +0 -0
- package/topmind-cover/assets/examples/news-flash.png +0 -0
- package/topmind-cover/assets/examples/overview.png +0 -0
- package/topmind-cover/assets/examples/tutorial-steps-wechat.png +0 -0
- package/topmind-cover/assets/examples/tutorial-steps.png +0 -0
- package/topmind-cover/references/cover-styles.md +322 -143
- package/topmind-wechat-post/README.en.md +49 -1
- package/topmind-wechat-post/README.md +48 -2
- package/topmind-wechat-post/SKILL.md +35 -37
- package/topmind-wechat-post/references/element-spec.md +1 -1
- package/topmind-wechat-post/references/known-pits.md +2 -3
- package/topmind-wechat-post/references/typography-rules.md +1 -1
- package/topmind-wechat-post/references/workflow.md +3 -3
- package/topmind-wechat-post/references/writing-quality.md +8 -32
- package/topmind-wechat-post/scripts/md2wechat.py +125 -42
- package/topmind-wechat-post/scripts/negative_tests.py +32 -0
- package/topmind-x-article/README.en.md +40 -1
- package/topmind-x-article/README.md +42 -4
- package/topmind-x-article/SKILL.md +11 -5
- package/topmind-x-article/references/x-format.md +13 -10
- package/topmind-x-article/scripts/md2x.py +220 -40
- package/topmind-cover/assets/examples/big-poster-wechat.png +0 -0
- package/topmind-cover/assets/examples/big-poster.png +0 -0
- package/topmind-cover/assets/examples/cyber-glitch-wechat.png +0 -0
- package/topmind-cover/assets/examples/cyber-glitch.png +0 -0
- package/topmind-cover/assets/examples/guochao-wechat.png +0 -0
- package/topmind-cover/assets/examples/guochao.png +0 -0
- package/topmind-cover/assets/examples/tech-future-wechat.png +0 -0
- package/topmind-cover/assets/examples/tech-future.png +0 -0
package/top-ppt-html/README.md
CHANGED
|
@@ -9,16 +9,8 @@
|
|
|
9
9
|
|
|
10
10
|
**让 idea 飞,好想法被看见。** 为**演示报告 / 正式商务演示**而生的高品质演示文稿技能:**HTML + PPT 双交付**——日常用可翻页 HTML 等同幻灯片;需要时再导出**版式保真可编辑 PPTX**。参考 **MD3**:合适信息密度、克制文字/图形/颜色。核心工艺是版式、排版、色彩与内容组织——不是 gadget 堆砌。
|
|
11
11
|
|
|
12
|
-
### 为什么还是 top-ppt-html
|
|
13
|
-
|
|
14
|
-
市面 PPT 技能很多。本技能主场是**正式商务演示**:直观、美观大气、风格多样、**高保真可编辑 PPTX**(图表带数据可标注);产出即上台。
|
|
15
|
-
|
|
16
|
-
<p align="center">
|
|
17
|
-
<img src="assets/showcase/showcase-cover.png" alt="TopMind × tms-skills showcase cover" width="720" />
|
|
18
|
-
</p>
|
|
19
|
-
|
|
20
12
|
- 技能标识:`top-ppt-html`;品牌名:**TopPPT HTML**
|
|
21
|
-
- 版本:**v0.1.19**(与 `@topmindspace/tms-skills@0.3.
|
|
13
|
+
- 版本:**v0.1.19**(与 `@topmindspace/tms-skills@0.3.5` 同 tag)
|
|
22
14
|
- **智能体入口**:`SKILL.md` → `references/playbook.md`(L1)→ L2 按需
|
|
23
15
|
- **人类维护者**:本 README(安装 / 命令 / 目录);勿把本文件当生成规范
|
|
24
16
|
|
|
@@ -29,16 +21,6 @@
|
|
|
29
21
|
<sub>演示 · business-blue(默认)· 另见 <a href="./assets/style-gallery.html">style-gallery</a> · <a href="./assets/theme-overview-research.png">研究</a> · <a href="./assets/theme-overview-architecture.png">架构</a></sub>
|
|
30
22
|
</p>
|
|
31
23
|
|
|
32
|
-
### 风格 × 模式一览
|
|
33
|
-
|
|
34
|
-
| business-blue · 演示 | mckinsey · 研究 | graphite-dark · 架构 |
|
|
35
|
-
|:---:|:---:|:---:|
|
|
36
|
-
|  |  |  |
|
|
37
|
-
|
|
38
|
-
| 定位 | 双交付 | 图表 | Header 工具栏 |
|
|
39
|
-
|:---:|:---:|:---:|:---:|
|
|
40
|
-
|  |  |  |  |
|
|
41
|
-
|
|
42
24
|
**在线体验** · [落地页](https://topmindspace.github.io/tms-skills/) · [Showcase 演示文稿](https://topmindspace.github.io/tms-skills/showcase.html) · [风格画廊](https://topmindspace.github.io/tms-skills/style-gallery.html)
|
|
43
25
|
|
|
44
26
|
- 交互画廊(仓库内):[`assets/style-gallery.html`](./assets/style-gallery.html)
|
|
@@ -46,6 +28,7 @@
|
|
|
46
28
|
- 仓库级大图集:[`docs/showcase/`](../docs/showcase/)(不进技能 zip)
|
|
47
29
|
|
|
48
30
|
## 一、技能简介(人类速览)
|
|
31
|
+
|
|
49
32
|
| 维度 | 能力 |
|
|
50
33
|
|------|------|
|
|
51
34
|
| 产出 | **双交付**:日常 HTML 可翻页演示 + 按需 16:9 可编辑 PPTX;亮暗双主题 · **Header 工具栏 T/P/H/F/B + 9 风格** |
|
|
@@ -94,18 +77,6 @@ git clone https://github.com/topmindspace/tms-skills.git
|
|
|
94
77
|
node tms-skills/bin/tms-skills.js install top-ppt-html
|
|
95
78
|
```
|
|
96
79
|
|
|
97
|
-
> **GitHub 更新不会自动进 npm。** 日常可钉 npm 版本;要最新技能用 GitHub 直装,或等 maintainer 打 tag 发版。
|
|
98
|
-
>
|
|
99
|
-
|
|
100
|
-
### 触发词回归(维护者)
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
python3 scripts/check_triggers.py # keyword/heuristic vs SKILL description
|
|
104
|
-
# 扩展:编辑 evals/trigger-queries.json(how_to_extend)
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
`package_skill.py --check` 会自动跑 trigger coverage。
|
|
108
|
-
|
|
109
80
|
> 「找不到这个包」→ 换 GitHub 直装,或 `--registry https://registry.npmjs.org/`(镜像索引可能滞后)。不要 `npm install top-ppt-html`(技能 id 不是独立 npm 包)。
|
|
110
81
|
|
|
111
82
|
也可将本目录(或 GitHub Release 附件 `top-ppt-html.zip` 解压结果)复制到智能体技能目录,目录名保持 `top-ppt-html`。技能识别面为 `SKILL.md`(frontmatter 的 `name` / `description` 即触发描述)。
|
|
@@ -115,10 +86,26 @@ python3 scripts/check_triggers.py # keyword/heuristic vs SKILL descript
|
|
|
115
86
|
```bash
|
|
116
87
|
cd top-ppt-html
|
|
117
88
|
npm install # 依 package.json 安装 pptxgenjs(^4)
|
|
118
|
-
# 或:npm install pptxgenjs / 把 NODE_PATH 指向任意已含 pptxgenjs 的 node_modules
|
|
119
89
|
```
|
|
120
90
|
|
|
121
|
-
脚本会自动探测 Node 与 node_modules(`TOP_PPT_NODE_EXE` / `TOP_PPT_NODE_PATH` 环境变量 > `PATH` > 常见托管目录),不绑定任何机器的固定路径。参考图刷新(可选,非交付依赖)另需 playwright
|
|
91
|
+
脚本会自动探测 Node 与 node_modules(`TOP_PPT_NODE_EXE` / `TOP_PPT_NODE_PATH` 环境变量 > `PATH` > 常见托管目录),不绑定任何机器的固定路径。参考图刷新(可选,非交付依赖)另需 playwright。
|
|
92
|
+
|
|
93
|
+
### 最小示例(复制即跑 · 约 3 分钟)
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
cd top-ppt-html
|
|
97
|
+
python3 scripts/scaffold_report.py --mode research --style mckinsey \
|
|
98
|
+
--title "示例报告" --sections 8 --out report.html
|
|
99
|
+
# 用浏览器打开 report.html,只填 window.REPORT_MODEL(内容唯一事实源),然后:
|
|
100
|
+
python3 scripts/render_from_model.py report.html --inplace
|
|
101
|
+
python3 scripts/validate_report.py report.html --strict # 0 errors / 0 warnings 才交付
|
|
102
|
+
# 要 PPTX 时(先 npm install 装好 pptxgenjs):
|
|
103
|
+
python3 scripts/extract_model.py report.html report.model.json
|
|
104
|
+
node scripts/build_pptx.js report.pptx --model=report.model.json
|
|
105
|
+
python3 scripts/validate_pptx.py report.pptx --strict --model=report.model.json
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
三模式速换:`--mode presentation --style business-blue`(A 演示)/ `--mode architecture --style graphite-dark`(C 架构)。完整工作流与门禁见「智能体视角」与 `references/playbook.md`。
|
|
122
109
|
|
|
123
110
|
### 用户视角(三步走)
|
|
124
111
|
|
|
@@ -135,51 +122,26 @@ npm install # 依 package.json 安装 pptxgenjs(^4)
|
|
|
135
122
|
→(用户要 PPTX 时 · **仅 B 通道**)extract_model.py → build_pptx.js --model → validate_pptx.py --strict 0/0
|
|
136
123
|
```
|
|
137
124
|
|
|
138
|
-
|
|
125
|
+
渐进式披露:`L0` = `SKILL.md`(路由 + 门禁 + 铁律);`L1` = `references/playbook.md`(唯一常读入口);`L2` = 深度规范,**只在命中条件时读、读完即停**;取码必须 `extract_snippet.py`(整读大 L2 = FAIL)。
|
|
139
126
|
|
|
140
127
|
## 三、目录结构
|
|
141
128
|
|
|
142
129
|
```
|
|
143
130
|
top-ppt-html/
|
|
144
|
-
├─ SKILL.md # 智能体入口:触发描述 + 工作流 + 铁律
|
|
145
|
-
├─ README.md # 本文件:人类视角的简介/开发/打包
|
|
146
|
-
├─ package.json # Node 依赖(pptxgenjs)与常用命令
|
|
147
|
-
├─ assets/ #
|
|
148
|
-
│ ├─ templates/ # 三份模式模板(presentation/research/architecture)
|
|
149
|
-
│
|
|
150
|
-
│ ├─
|
|
151
|
-
│
|
|
152
|
-
|
|
153
|
-
│
|
|
154
|
-
|
|
155
|
-
├─
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
│ ├─ layouts-research.md # §36–§36f research 锁定版式 │
|
|
159
|
-
│ ├─ layouts-architecture.md # §37–§38b architecture 版式 │
|
|
160
|
-
│ ├─ layouts-combo.md # §32–§34/§39–§50 组合与选型表 §46 │
|
|
161
|
-
│ ├─ charts.md # 逻辑索引(图表 § 路由) │
|
|
162
|
-
│ ├─ charts-basic.md # §16–§35 基础图表代码 │
|
|
163
|
-
│ ├─ charts-extended.md # §52–§70 advanced(意图命中才读,禁预读) │
|
|
164
|
-
│ ├─ charts-discipline.md # §64/§66 误用与多样性纪律 │
|
|
165
|
-
│ ├─ infographics.md # 铁律与边界(逻辑入口);代码已拆分见下两行 │
|
|
166
|
-
│ ├─ infographics-stats.md # 统计图形族 §1–§6 / §71–§77 │
|
|
167
|
-
│ ├─ infographics-structure.md # 结构图形族 §78–§82 │
|
|
168
|
-
│ ├─ page-type-matrix.md # L2 意图→页型穷举(playbook §三 速记) │
|
|
169
|
-
│ ├─ chart-decision-tree.md # L2 图表决策表+误用(playbook §五 摘要) │
|
|
170
|
-
│ ├─ illustration-layout.md # L2 插画/配图 brief │
|
|
171
|
-
│ └─ …(modes / styles / design-system / content-rules / icons / default-surface / │
|
|
172
|
-
│ outline-design / pptx-export / high-fidelity / failure-modes / tech-design; │
|
|
173
|
-
│ 归档见 ../docs/archive/refs/) │
|
|
174
|
-
├─ evals/ # Eval 框架(结果/过程/风格/效率四类目标) │
|
|
175
|
-
│ ├─ prompts.csv # 14 条 prompt(显式/隐式/上下文/负对照) │
|
|
176
|
-
│ ├─ rubric.schema.json # 风格目标结构化评分契约 │
|
|
177
|
-
│ ├─ run_evals.py # 确定性检查 + 效率度量 + rubric 落地 │
|
|
178
|
-
│ └─ trace.example.json # 过程/效率 trace 示例(轮次/工具调用/读取量)│
|
|
179
|
-
├─ scripts/ # 生成/校验/回归/维护工具(见下表) ┘
|
|
180
|
-
├─ .gitignore # 出库规则(dist/依赖/缓存/本地状态/临时脚本)
|
|
181
|
-
├─ dist/ # 构建与回归产物 + 分发包 zip + 发布清单 ← 不进包、不入库
|
|
182
|
-
└─ (本地状态目录) # IDE / 智能体本地状态 ← 不进包、不入库
|
|
131
|
+
├─ SKILL.md # 智能体入口:触发描述 + 工作流 + 铁律
|
|
132
|
+
├─ README.md # 本文件:人类视角的简介/开发/打包
|
|
133
|
+
├─ package.json # Node 依赖(pptxgenjs)与常用命令
|
|
134
|
+
├─ assets/ # 模板 + 引擎/UI + 示例 + 主题参考图
|
|
135
|
+
│ ├─ templates/ # 三份模式模板(presentation/research/architecture)
|
|
136
|
+
│ ├─ examples/ # 3 黄金样张 + showcase(HTML+model)
|
|
137
|
+
│ ├─ style-gallery.html # 风格 × 模式 × 亮暗主题交互画廊
|
|
138
|
+
│ └─ theme-overview*.png # 3 张主题参考图(Gate 0)
|
|
139
|
+
├─ references/ # 规范(L1 常读 1 篇 + L2 按需;components/charts 已按族拆分)
|
|
140
|
+
│ └─ playbook.md # ★ L1 唯一常读入口
|
|
141
|
+
├─ evals/ # Eval 框架(结果/过程/风格/效率四类目标)
|
|
142
|
+
├─ scripts/ # 生成/校验/回归/维护工具(见下表)
|
|
143
|
+
├─ .gitignore # 出库规则
|
|
144
|
+
└─ dist/ # 构建与回归产物 + 分发包 zip + 发布清单 ← 不进包、不入库
|
|
183
145
|
```
|
|
184
146
|
|
|
185
147
|
---
|
|
@@ -208,22 +170,6 @@ python scripts/audit_skill.py && python scripts/audit_docs.py
|
|
|
208
170
|
python scripts/audit_styles.py && python scripts/audit_css.py
|
|
209
171
|
python scripts/negative_tests.py
|
|
210
172
|
python scripts/check_triggers.py
|
|
211
|
-
# 可选第三方:npx --yes skills-ref@0.1.5 validate .
|
|
212
173
|
```
|
|
213
174
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
| 路径 | 用途 |
|
|
217
|
-
|------|------|
|
|
218
|
-
| `SKILL.md` | L0 路由(≤13KB);智能体唯一入口 |
|
|
219
|
-
| `references/playbook.md` | L1 决策层(Mode / 路径 / V1–V4 / 组合 / 多样性摘要 / 命令 / 路由) |
|
|
220
|
-
| `references/page-type-matrix.md` | L2 页型穷举表 |
|
|
221
|
-
| `references/chart-decision-tree.md` | L2 图表决策树 + 七种误用 |
|
|
222
|
-
| `references/default-surface.md` | Mode A L1.5:12 页型 + 核图 8 + V1–V4 |
|
|
223
|
-
| `references/presentation-craft.md` | Mode A L1.5 工艺(反截断 / 大气正式) |
|
|
224
|
-
| `assets/examples/` | 3 份黄金样张(每模式 1)+ TopMind showcase |
|
|
225
|
-
| `evals/trigger-queries.json` | description 触发正/负例;`check_triggers.py` |
|
|
226
|
-
| `../docs/archive/` | 历史规范 / 旧示例 |
|
|
227
|
-
|
|
228
|
-
风格画廊与主题参考图:`assets/theme-overview*.png`(Gate 0)。完整规范索引见 playbook §十。
|
|
229
|
-
|
|
175
|
+
完整规范索引见 playbook §十。
|
package/top-ppt-html/SKILL.md
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: top-ppt-html
|
|
3
|
-
|
|
3
|
+
action_category: write
|
|
4
|
+
triggers:
|
|
5
|
+
- 报告
|
|
6
|
+
- 演示
|
|
7
|
+
- 汇报
|
|
8
|
+
- PPT
|
|
9
|
+
- slides
|
|
10
|
+
- deck
|
|
11
|
+
- 路演
|
|
12
|
+
- 可视化报告
|
|
13
|
+
- 研究报告
|
|
14
|
+
- 白皮书
|
|
15
|
+
- 架构图
|
|
16
|
+
- 流程图
|
|
17
|
+
- 培训课件
|
|
18
|
+
- 答辩
|
|
19
|
+
- fast
|
|
20
|
+
description: "为正式商务演示把材料做成可视化报告:零外链可翻页 HTML(日常上台)+ 高保真可编辑 16:9 PPTX(按需)双交付;MD3 式密度克制;三模式(A 演示 / B 研究 / C 架构)× 9 风格。Use when 用户要做报告、演示、汇报、PPT、slides、deck、路演,或写研究报告、分析报告、咨询报告、白皮书、调研、评测、对标、经营分析、复盘、项目汇报、商务/HTML/网页报告,或做架构图、拓扑图、流程图、泳道图、方案图,或把材料做成可视化报告并导出 HTML/PPT/PPTX,或优化报告的排版/版式/配色/图文布局,或做报告时说快速模式/fast/直接生成/一键出稿/少问一句。Do NOT use for 纯代码工程、非报告类网页或应用开发、视频/图片生成、直接改写已有 Word/PPT 源文件本身、封面配图(→topmind-cover)。"
|
|
4
21
|
license: MIT
|
|
5
22
|
compatibility: "Python 3 stdlib for HTML generation; Node >=18 + pptxgenjs for PPTX; optional playwright for browser regression / theme captures."
|
|
6
23
|
version: 0.1.19
|
|
@@ -8,16 +25,16 @@ author: TopMindspace
|
|
|
8
25
|
---
|
|
9
26
|
# TopPPT HTML
|
|
10
27
|
|
|
11
|
-
|
|
28
|
+
为**演示报告 / 正式商务演示**而生:**HTML + PPT 双交付**(日常可翻页 HTML;需要时导出可编辑 PPTX)。MD3 密度克制,一屏一重心。内容唯一源 `REPORT_MODEL`;**B 通道** `build_pptx.js` 交付,**A 通道**仅预览/`cross_verify`。
|
|
12
29
|
|
|
13
30
|
## Gate 0 · 先给参考图(**标准模式**硬门禁)
|
|
14
31
|
|
|
15
|
-
|
|
32
|
+
用户表达做报告意向后,**第一件事**展示参考图,再进入六项问询:
|
|
16
33
|
|
|
17
34
|
| 给什么 | 路径 | 何时 |
|
|
18
35
|
|--------|------|------|
|
|
19
36
|
| 整体图(默认) | `assets/theme-overview.png` | 每次开场 |
|
|
20
|
-
| 按模式拆分 |
|
|
37
|
+
| 按模式拆分 | 演示/研究/架构 → 整体图/`-research.png`/`-architecture.png` | 模式已明确 |
|
|
21
38
|
| 交互画廊 | `assets/style-gallery.html` | 用户想边看边挑 |
|
|
22
39
|
|
|
23
40
|
**标准模式**:跳过参考图直接问询 = 不合格。**Fast Mode**(下节)豁免 Gate 0 与六项。
|
|
@@ -28,115 +45,103 @@ author: TopMindspace
|
|
|
28
45
|
|
|
29
46
|
| 参数 | 默认 | 推断 |
|
|
30
47
|
|------|------|------|
|
|
31
|
-
| mode | **B** |
|
|
48
|
+
| mode | **B** | 路演/汇报/发布/演讲/demo/融资/宣讲→A;架构/拓扑→C;未点明→B |
|
|
32
49
|
| style | B→mckinsey · A→business-blue · C→graphite-dark | |
|
|
33
50
|
| theme | light(graphite→dark) | |
|
|
34
51
|
| 篇幅 | A=10 / B=12 / C=6 | |
|
|
35
|
-
| format | **html only
|
|
52
|
+
| format | **html only**(用户要 PPT/PPTX 才开 B 通道) | |
|
|
36
53
|
|
|
37
|
-
**跳过** Gate 0
|
|
54
|
+
**跳过** Gate 0/六项/完整大纲;**仍须**最小大纲→模型单写→strict 0/0→`quality_gate --deliver`(反截断、图表多样、Mode A craft 不降)。L0+L1(A/Fast 可加 L1.5);代码一律 `extract_snippet`。一行宣布「Fast 选用:…」→ playbook §二;声明已跳过参考图。**标准模式**仍强制 Gate 0 + 六项。
|
|
38
55
|
|
|
39
56
|
## 唯一入口流程
|
|
40
57
|
|
|
41
58
|
```
|
|
42
|
-
听意图 → [Fast?
|
|
59
|
+
听意图 → [Fast? 快路径] : [Gate 0 → 六项(1 轮)→ 内容架构]
|
|
43
60
|
→ 起骨架 → 模型单写(禁改 HTML 正文)→ 脚本回填 → strict 0/0 → 交付
|
|
44
|
-
(命令链见 playbook §二/§九;PPTX 见 pptx-export)
|
|
45
61
|
```
|
|
46
62
|
|
|
47
|
-
**预算(硬)**:交互轮次 **≤3**;**L0+L1 共 2 份**(本文件 + `playbook.md
|
|
63
|
+
**预算(硬)**:交互轮次 **≤3**;**L0+L1 共 2 份**(本文件 + `playbook.md`);A/Fast 可加 L1.5(`default-surface.md`+`presentation-craft.md`)。其余 L2 命中才读、不预读。
|
|
48
64
|
|
|
49
|
-
## 六项问询(标准模式 · 一次问完 ·
|
|
65
|
+
## 六项问询(标准模式 · 一次问完 · 唯一形式参数确认)
|
|
50
66
|
|
|
51
|
-
|
|
67
|
+
用户表达意图后**一次问完六项**,每项带意图推荐;用户不选即按推荐执行,不再追问。
|
|
52
68
|
|
|
53
|
-
1.
|
|
54
|
-
2.
|
|
55
|
-
3.
|
|
56
|
-
4.
|
|
57
|
-
5.
|
|
58
|
-
6.
|
|
69
|
+
1. **意图与模式**:演示/汇报→A;研究/调研→B;架构/拓扑→C;混合选主模式(判据见 `modes.md`)。
|
|
70
|
+
2. **篇幅**:A 8–15 页 / B 12–25 页 / C 6–8 页(1–3 张图);有材料按材料量推荐。
|
|
71
|
+
3. **风格(始终选择)**:默认商务蓝;B 推荐麦肯锡/墨绿/暖沙金;C 推荐石墨深灰/商务蓝/彩色;拿不准看 Gate 0 参考图。
|
|
72
|
+
4. **亮暗主题(始终确认)**:浅色默认(打印/外发)/ 深色(大屏/发布会);石墨深灰出厂深色;`REPORT_MODEL.theme` 贯穿 HTML 与导出。
|
|
73
|
+
5. **交付格式**:仅 HTML(默认)/ HTML+PPTX(**B 通道**)。
|
|
74
|
+
6. **参考图确认**:复述 Gate 0 路径,确认用户已看到。
|
|
59
75
|
|
|
60
|
-
|
|
76
|
+
**载体**:优先结构化选项卡一次收集,否则对话文本一次列全。此后形式层面不再反复确认;内容层面按需一次大纲确认。
|
|
61
77
|
|
|
62
78
|
## 两条路径(先判定,再动手)
|
|
63
79
|
|
|
64
80
|
| 路径 | 何时 | 多做什么 |
|
|
65
81
|
|------|------|---------|
|
|
66
|
-
| **轻量**(默认) | 页数不多、材料单一完整、关键判断已敲定 |
|
|
67
|
-
| **完整** |
|
|
82
|
+
| **轻量**(默认) | 页数不多、材料单一完整、关键判断已敲定 | 最小大纲 → 1 张规划卡(`outline-design.md`「轻量最小集」) |
|
|
83
|
+
| **完整** | 长篇、材料杂、含未敲定关键判断、用户要看框架 | 证据盘点 → 故事线 → 主张树 → 逐页规划卡 → 大纲确认(1 轮) |
|
|
68
84
|
|
|
69
|
-
|
|
85
|
+
精确判定条件与完整步骤见 `references/playbook.md` §二。完整路径确认只做一次;确认后只改指定处。
|
|
70
86
|
|
|
71
87
|
## 变更与中断(过程可控 · 不重启六项问询)
|
|
72
88
|
|
|
73
89
|
| 情形 | 处理 |
|
|
74
90
|
|------|------|
|
|
75
|
-
|
|
|
76
|
-
|
|
|
91
|
+
| 只改风格/亮暗 | header 即切 → 同步 `REPORT_MODEL.style/theme` → 重跑校验;**不重写内容** |
|
|
92
|
+
| 加页/减页 | 只动受影响页 + Agenda + 编号 + 页码;重跑校验 |
|
|
77
93
|
| 换模式 A↔B↔C | 不可就地改:保留证据/数字/结论,按目标模式重排;仅重确认篇幅 |
|
|
78
|
-
| 对话中断后续写 |
|
|
79
|
-
| 校验不通过 |
|
|
94
|
+
| 对话中断后续写 | 用提取脚本取回模型后重渲染,**不要从零重写** |
|
|
95
|
+
| 校验不通过 | 按**修复指引**逐条改;2 轮不收敛才升级读 `failure-modes.md` |
|
|
80
96
|
|
|
81
97
|
## 阶段路由(渐进式披露)
|
|
82
98
|
|
|
83
99
|
> 披露分层(机器可读):`L0=SKILL.md` · `L1=references/playbook.md` · `L2=按需`
|
|
84
100
|
>
|
|
85
|
-
> **纪律**:L0+L1 是默认全部所需;**只在命中"何时读"时才打开 L2
|
|
101
|
+
> **纪律**:L0+L1 是默认全部所需;**只在命中"何时读"时才打开 L2,读完即执行、不预读**。取代码**一律** `extract_snippet.py`(`--list` / `--task` / `--chart` / `--page-type` / `--file --section`)。**整读大 L2 文件 = FAIL**(禁令清单见 playbook §十)。
|
|
86
102
|
|
|
87
|
-
**L2
|
|
103
|
+
**L2 索引**(命中条件与逐任务只读清单详见 playbook §十):
|
|
88
104
|
|
|
89
105
|
- 模式契约与锁定版式 → `references/modes.md` · 完整路径七步 → `references/outline-design.md`
|
|
90
|
-
-
|
|
91
|
-
- 组件/版式**代码** → `components.md` · 页型表 `page-type-matrix.md` · 图表门面 `charts.md` + 决策树 `chart-decision-tree.md
|
|
106
|
+
- A/Fast L1.5 → `default-surface.md` + `presentation-craft.md` · 骨架 `layout-grammar.md` · 插画规范 → `illustration-layout.md`
|
|
107
|
+
- 组件/版式**代码** → `components.md` · 页型表 `page-type-matrix.md` · 图表门面 `charts.md` + 决策树 `chart-decision-tree.md` · 信息图 → `infographics.md`
|
|
92
108
|
- 配色/主题/字阶 → `styles.md` + `design-system.md` · 写作 → `content-rules.md` · 图标语义 → `icons.md`
|
|
93
109
|
- PPTX 精导 → `references/pptx-export.md` · 深度高保真 → `references/high-fidelity.md` · 修复顺序 → `references/failure-modes.md` · 技能维护 → `references/tech-design.md`
|
|
94
110
|
|
|
95
|
-
**操作方式**:定模式/页型/组合/图 → 只读 `playbook.md`;取代码 → **必须** `extract_snippet.py
|
|
111
|
+
**操作方式**:定模式/页型/组合/图 → 只读 `playbook.md`;取代码 → **必须** `extract_snippet.py`。整读 = FAIL:`layouts-combo` / `components-atoms` / `charts-basic` / `charts-extended` / `content-rules` 全文 / `pptx-export` / 模式模板 HTML(走 scaffold)。
|
|
96
112
|
|
|
97
113
|
## 铁律(12 条 · 交付硬门禁)
|
|
98
114
|
|
|
99
|
-
> 门禁语义;阈值见 playbook
|
|
100
|
-
|
|
101
|
-
1. **单文件零外链**——无 CDN
|
|
102
|
-
2. **模式先定后写**——从对应模式模板起步;`data-mode` = `REPORT_MODEL.mode
|
|
103
|
-
3. **亮暗双主题一致**——CSS 变量整块换肤 + header 切换 + 文件级记忆;`REPORT_MODEL.theme` 与页面一致,PPTX 同主题导出;强调带只用 accent
|
|
104
|
-
4. **每页一屏 + 高度稳定**——`section.band` ≥ 一屏;主内容不得溢出画布或压进结论条/注释带。放不下按「重构承载 → 拆页/分章 → 换布局形态 →
|
|
105
|
-
5. **PPT 式翻页 + 骨架固定**——`section.band` 即一页;方向键翻页、页码可点;Agenda 第二页(arch 内容页 ≤4 可省);页头只留 eyebrow
|
|
106
|
-
6. **标题与字号**——主标题粗体;research=结论句(≥12 字);**presentation=主张/行动句**(禁话题标签);字号随模式,`clamp()
|
|
107
|
-
7. **组合版式 + 细节保全**——默认一页 =
|
|
108
|
-
8. **列表优先 + 去 AI 味 + 图标克制**——大段文字转列表(research 双/三栏正文除外);`aiFlavor` 词表零命中;图标每屏 3–8
|
|
109
|
-
9. **图表够大 + 够多样 + 双通道**——尺寸 ≥ `charts.minSize`;`data-chart` 须在 `charts.registry`(36 种)登记;多样性下限与相邻不同型按 `charts.variety`(playbook §五);原生通道 `addChart`
|
|
110
|
-
10. **引用与待核实**——外部数据 `[n]` +
|
|
111
|
-
11. **容器级门禁 +
|
|
112
|
-
12. **双单源 + 校验闭环**——schema 只改 `scripts/model-schema.json`,其余常量只改 `scripts/layout-constants.json`,改后必跑 `sync_runtime.py`(禁手改注入副本);**HTML strict 0/0
|
|
115
|
+
> 门禁语义;阈值见 playbook 与 layout 常量 JSON。**motion=none**(无炫技转场)。
|
|
116
|
+
|
|
117
|
+
1. **单文件零外链**——无 CDN/外部字体/外部图片;图形一律内联 SVG;`<img src>` 仅 `data:` 或带 `alt` 的相对路径(单图 ≤1.5MB、全篇 ≤8MB);无素材图用配图占位(`components.md` §11c-3),不留空。
|
|
118
|
+
2. **模式先定后写**——从对应模式模板起步;`data-mode` = `REPORT_MODEL.mode`;页面无模式切换;PPTX 字号走三模式独立比例尺。
|
|
119
|
+
3. **亮暗双主题一致**——CSS 变量整块换肤 + header 切换 + 文件级记忆;`REPORT_MODEL.theme` 与页面一致,PPTX 同主题导出;强调带只用 accent 家族;**末页禁 `band--deep`**。
|
|
120
|
+
4. **每页一屏 + 高度稳定**——`section.band` ≥ 一屏;主内容不得溢出画布或压进结论条/注释带。放不下按「重构承载 → 拆页/分章 → 换布局形态 → 有限缩字号」;**禁**静默截断或为疏朗删结论条/证据。**大纲 = 3–7 章(每章 1+ 页),禁逐页标题罗列**。结论条 = MD3 tonal surface(无「So what」标签、**无左侧 accent 轨**)。
|
|
121
|
+
5. **PPT 式翻页 + 骨架固定**——`section.band` 即一页;方向键翻页、页码可点;Agenda 第二页(arch 内容页 ≤4 可省);页头只留 eyebrow+标题+可选导语,页脚全文一个。
|
|
122
|
+
6. **标题与字号**——主标题粗体;research=结论句(≥12 字);**presentation=主张/行动句**(禁话题标签);字号随模式,`clamp()`;图表不缩水。
|
|
123
|
+
7. **组合版式 + 细节保全**——默认一页 = 主件+从件+注释层;先判定决策必需信息再定形态,**禁砍口径列/时间列/维度**;密度 L/M/H 禁连续 3 页同档;同一版式不连用超 2 页。
|
|
124
|
+
8. **列表优先 + 去 AI 味 + 图标克制**——大段文字转列表(research 双/三栏正文除外);`aiFlavor` 词表零命中;图标每屏 3–8 个。
|
|
125
|
+
9. **图表够大 + 够多样 + 双通道**——尺寸 ≥ `charts.minSize`;`data-chart` 须在 `charts.registry`(36 种)登记;多样性下限与相邻不同型按 `charts.variety`(playbook §五);原生通道 `addChart` 双击可编辑数据,形状通道按登记策略附数据表。
|
|
126
|
+
10. **引用与待核实**——外部数据 `[n]` + 文末参考资料(来源+时间+口径)双向对齐;**只列真实来源,无则省略整节,禁占位**;research 关键图表 Exhibit N 连续编号 + 来源行;`.tbd` 强调色必须配图例,单页 ≤12 处;只标色不解释即不合格。
|
|
127
|
+
11. **容器级门禁 + 语义字号**——溢出按**归属容器**判定,越过容器即失败;容器保留内边距,不缩字号解溢出;表格正文用 `body`,`micro` 只给轴标签/单位/短标签;连续句不拆文本框。
|
|
128
|
+
12. **双单源 + 校验闭环**——schema 只改 `scripts/model-schema.json`,其余常量只改 `scripts/layout-constants.json`,改后必跑 `sync_runtime.py`(禁手改注入副本);**HTML strict 0/0 才交付**;带 PPTX 加验 `validate_pptx.py --strict --model=` 0/0;页面只提供「预览 PPTX」与提示词,不做文件导出。
|
|
113
129
|
|
|
114
130
|
## 交付物与验收
|
|
115
131
|
|
|
116
|
-
- **HTML
|
|
117
|
-
|
|
118
|
-
| 键 | 控件 | 要点 |
|
|
119
|
-
|----|------|------|
|
|
120
|
-
| **T** | 亮暗 | 按文件记忆;同步 `REPORT_MODEL.theme` |
|
|
121
|
-
| 9 套 | 风格 | 实时换肤;交付前写回 `REPORT_MODEL.style` |
|
|
122
|
-
| **P** | 预览 PPTX | 页序列 + 精导提示词 |
|
|
123
|
-
| **H** | 生成指引 | 双通道说明(=?) |
|
|
124
|
-
| **F**/**B** | 全屏/折叠 | 沉浸演示;迷你条记忆 |
|
|
125
|
-
| 方向键/**Esc** | 翻页/关模态 | PPT 式翻页 |
|
|
126
|
-
|
|
127
|
-
> 改风格/主题后同步 `REPORT_MODEL` 并重跑校验(不重写)。
|
|
132
|
+
- **HTML**:零外链可翻页、每页一屏。Header 工具栏:**T** 亮暗(按文件记忆,同步 `REPORT_MODEL.theme`)/ 9 套风格(实时换肤,交付前写回 `REPORT_MODEL.style`)/ **P** 预览 PPTX(页序列+精导提示词)/ **H** 生成指引 / **F** 全屏 / **B** 折叠。改风格/主题后同步 `REPORT_MODEL` 并重跑校验(不重写)。
|
|
128
133
|
- **PPTX(B 通道)**:`extract_model` → `build_pptx.js` → `validate_pptx --strict`;16:9 可编辑。**A 不交付**(仅预览/`cross_verify`;playbook §九)。
|
|
129
134
|
- **验收**:HTML strict 0/0;含 PPTX 再加 PPTX 0/0;失败给定向修复指引。
|
|
130
135
|
- **交付说明**:`quality_gate.py --deliver`(PPTX 带 `--pptx/--model`)出七要素,缺一 FAIL。
|
|
131
136
|
|
|
132
137
|
## 版本口径
|
|
133
138
|
|
|
134
|
-
包 semver
|
|
139
|
+
包 semver ≠ schema 线(layout-constants / model-schema,现 `0.1`);patch 不抬 schema,当前版本见 package.json。
|
|
135
140
|
|
|
136
141
|
## 环境依赖
|
|
137
142
|
|
|
138
143
|
- **零依赖可用**:HTML 与全部 Python 脚本仅用标准库。
|
|
139
144
|
- **PPTX 精导**:Node + pptxgenjs(`TOP_PPT_NODE_EXE`/`TOP_PPT_NODE_PATH`;见 `pptx-export.md`)。
|
|
140
145
|
- **硬门禁**:标签泄漏/空页/极偏图/简单大图 → `layout-constants.json` + `failure-modes.md`。
|
|
141
|
-
-
|
|
142
|
-
-
|
|
146
|
+
- **可选**:参考图重生成需 playwright(`regression.py` 探测,缺失跳过)。
|
|
147
|
+
- **回归/自检**:`regression.py`、`audit_*.py`。
|
|
@@ -20,18 +20,3 @@
|
|
|
20
20
|
| §64、§66 | `charts-discipline.md` | **默认先读**(误用/多样性) |
|
|
21
21
|
| §16–§31、§29b、§35 等 | `charts-basic.md` | 核图与常规图代码 |
|
|
22
22
|
| §52–§70(除纪律节) | `charts-extended.md` | advanced / 意图命中 |
|
|
23
|
-
|
|
24
|
-
# 图表全库(纯 SVG · `data-chart` 标记)
|
|
25
|
-
|
|
26
|
-
复制即用。类名依赖 `design-system.md` token;版式见 `components.md`;复杂信息图见 `infographics.md`。
|
|
27
|
-
|
|
28
|
-
**约定**:图表 svg 一律 `class="chart" data-chart="类型"`(**36 种登记**:donut / multidonut / pie / radar / gauge / rose / bar / stack / stackline / waterfall / line / dualline / area / scatter / bubble / funnel / gantt / hbar / vsbar / treemap / progress / sparkline / sankey / slope / dumbbell / lollipop / marimekko / dotplot / bulletchart / waffle / boxplot / pareto / radialbar / streamgraph / candlestick / network)。事实源 = `scripts/layout-constants.json` → `charts`(`types` + `minSize`)。
|
|
29
|
-
|
|
30
|
-
> **编号说明**:跨文件唯一稳定编号(§1–§77)。图表 §16–§31、§29b、§35、§52–§70。
|
|
31
|
-
> **六类信息图**(sankey / treemap / boxplot / network / marimekko / streamgraph)**不是** `chart.type`——专属页型见 `infographics.md`。
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
# 第一部分 · 基础图表(核图优先)
|
|
36
|
-
|
|
37
|
-
> 单维对比 / 趋势 / 占比 / 分布;多系列配色见 §29b。Mode A 默认从核图 8 起选。
|
|
@@ -10,21 +10,3 @@
|
|
|
10
10
|
| §37、38、38b … | `layouts-architecture.md` |
|
|
11
11
|
| §32、33、34、39、40、41 … | `layouts-combo.md` |
|
|
12
12
|
|
|
13
|
-
原始前言与说明保留如下(规范正文已迁出)。
|
|
14
|
-
|
|
15
|
-
# 结构组件与锁定版式
|
|
16
|
-
|
|
17
|
-
复制即用。所有类名依赖 `design-system.md` 的 token;图表代码见 **`charts.md`**,复杂信息图页型见 **`infographics.md`**。
|
|
18
|
-
|
|
19
|
-
> **编号说明**:本技能规范采用**跨文件唯一稳定编号**(§1–§77)——拆分文件不改变编号,
|
|
20
|
-
> 便于交叉引用长期有效。本文件收录 §1–§15c(结构组件)与 §32–§50(锁定版式与选型);
|
|
21
|
-
> 图表在 `charts.md` §16–§31、§29b、§35、§52–§70,信息图页型在 `infographics.md` §71–§77。
|
|
22
|
-
|
|
23
|
-
**页内阅读顺序**:先按 `content-rules.md` §四-d 定密度档(L/M/H)→ 查本文件 §46/§46b 选版式 → 取本文件的组件代码 / `charts.md` 的图表代码。
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
# 第一部分 · 结构组件
|
|
28
|
-
|
|
29
|
-
> 顶栏 / Hero / 章节头 / 卡片 / 表格 / 时间线 / 强调带 / 待核实 / 素材图片 / 页脚 / Agenda / 页码 / 图标。
|
|
30
|
-
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
> **生成报告时读本文件**:设计哲学、CRAP/MD3、页面高度模型、PPTX 比例尺、12 列网格、语义字阶、
|
|
4
4
|
> 结构 token、排版类、布局工具、**SVG 主题语义类**(图表配色必读)。
|
|
5
|
-
> **组件 CSS 实现目录**(顶栏/卡片/列表/表格/页脚/动效等)在
|
|
5
|
+
> **组件 CSS 实现目录**(顶栏/卡片/列表/表格/页脚/动效等)在 `../docs/archive/refs/design-system-engine.md`——
|
|
6
6
|
> 生成时用 `components-atoms.md` 的组件写法即可,**勿整读 engine 文件**。
|
|
7
7
|
|
|
8
8
|
本文件提供**设计哲学、Token、栅格、语义字阶、SVG 语义类**——全部风格复用。
|
|
9
9
|
**颜色 / 字体 / 圆角 / 阴影的实际值不在此文件**,由 `references/styles.md` 中你所选的那套风格通过 `data-style` 覆盖块注入。
|
|
10
|
-
**组件 CSS 类实现目录**(顶栏/卡片/列表/表格/页脚/动效)在
|
|
10
|
+
**组件 CSS 类实现目录**(顶栏/卡片/列表/表格/页脚/动效)在 `../docs/archive/refs/design-system-engine.md`——生成时用 `components-atoms.md` 写法即可。
|
|
11
11
|
|
|
12
12
|
配合方式(三模式独立模板):
|
|
13
13
|
1. 从 `assets/templates/{presentation|research|architecture}.html` 复制对应模式模板起步(模板自带模式密度层与专属组件)。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> **何时读**:需要卡片头 / 列表行首 / 指标角标 / 提示条图标时。
|
|
4
4
|
> **取码**:本节「高频取码」或 `python scripts/extract_snippet.py --task icons`。
|
|
5
|
-
> **完整 SVG 枚举**(60
|
|
5
|
+
> **完整 SVG 枚举**(60+):`../docs/archive/refs/icons-catalog.md`(生成默认**不**预读;仅当高频未覆盖语义时按名查阅)。
|
|
6
6
|
|
|
7
7
|
全部 24×24、描边(stroke 1.8,圆角线帽),`currentColor` 随主题变色。
|
|
8
8
|
|
|
@@ -192,4 +192,4 @@
|
|
|
192
192
|
|
|
193
193
|
---
|
|
194
194
|
|
|
195
|
-
> 包内 `icons.md` 保持 REQUIRED(语义 + 禁区 + 尺寸 + 高频码)。完整枚举见
|
|
195
|
+
> 包内 `icons.md` 保持 REQUIRED(语义 + 禁区 + 尺寸 + 高频码)。完整枚举见 `../docs/archive/refs/icons-catalog.md`;默认生成**不**预读归档。
|
|
@@ -6,11 +6,7 @@
|
|
|
6
6
|
> - 结构图形(流程/树/时序/闭环)→ `infographics-structure.md`(§78–§82)
|
|
7
7
|
> 取码:`python scripts/extract_snippet.py --chart <类型>` · `--file infographics.md --section <编号>`
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
> **何时读本文**:报告需要承载**复杂大型信息图 / 高密度信息图**(流向、构成、分布、关系、演变)时——即一张图要同时表达「多个主体 + 多重关系 + 数值量级」的场景。生成前先读本文 §一–§五(规范),写法见 §71–§77。
|
|
12
|
-
>
|
|
13
|
-
> 定位:这是「图为王」的**页型级**能力,不是普通图表(36 种内联图表见 `charts.md`)。普通图表回答「一个数是多少」,信息图页型回答「一整套结构长什么样」。
|
|
9
|
+
> 定位:这是「图为王」的**页型级**能力(research / architecture 专属页型),不是普通图表(36 种内联图表见 `charts.md`)。普通图表回答「一个数是多少」,信息图页型回答「一整套结构长什么样」。
|
|
14
10
|
|
|
15
11
|
## 一、与普通图表的边界(先做这道判断)
|
|
16
12
|
|
|
@@ -231,7 +231,7 @@
|
|
|
231
231
|
| `marimekko` | **双重编码**(列宽 = 总量、列高 = 构成) | 列 ≤6 / 段 ≤4 | research / architecture |
|
|
232
232
|
| `streamgraph` | 时间上的**构成演变**(结构此消彼长) | 系列 ≤6 | research / architecture |
|
|
233
233
|
|
|
234
|
-
|
|
234
|
+
**共用纪律**:见 `infographics.md` §二(通用铁律 10 条:每页一图、采样点下限、双边界追踪、量级线性编码、数据可追溯、上限硬约束、配色克制、文本退图注级)。超上限按铁律 11 **拆页**(结构容量问题,缩字号无效)。
|
|
235
235
|
|
|
236
236
|
**模式适配**:
|
|
237
237
|
- **research**:信息图页作为"证据页"承担一整个论证环节,必须配行动标题 + `.exhibit__src` 来源行;密集报告里信息图页与密表页交替出现(节奏)。
|
|
@@ -250,9 +250,9 @@
|
|
|
250
250
|
|
|
251
251
|
| 模式 | 模板 | 样例(AI 智能体发展研究主题) |
|
|
252
252
|
|------|------|------|
|
|
253
|
-
| A 演示汇报 | `assets/templates/presentation.html` | `examples/2026-09-09-presentation-business-blue.html
|
|
254
|
-
| B 研究报告 | `assets/templates/research.html` | `examples/2026-09-09-research-mckinsey.html
|
|
255
|
-
| C 信息架构图 | `assets/templates/architecture.html`(出厂 dark) | `examples/2026-09-09-architecture-graphite-dark.html`(出厂 dark ·
|
|
253
|
+
| A 演示汇报 | `assets/templates/presentation.html` | `examples/2026-09-09-presentation-business-blue.html`(apple-mono 等旧风格变体见 `../docs/archive/examples/`) |
|
|
254
|
+
| B 研究报告 | `assets/templates/research.html` | `examples/2026-09-09-research-mckinsey.html`(deep-teal/warm-sand/indigo-violet 旧风格变体见 `../docs/archive/examples/`) |
|
|
255
|
+
| C 信息架构图 | `assets/templates/architecture.html`(出厂 dark) | `examples/2026-09-09-architecture-graphite-dark.html`(出厂 dark · 深色优先;spectrum 旧变体见 `../docs/archive/examples/`) |
|
|
256
256
|
|
|
257
257
|
> **主题一致性**:三模式收尾页与金句页统一走**强调带**(`band--accent` / `band--accent--solid`),浅色/深色同向,不再出现"浅色模式末尾深色页";`band--deep` 仅限显式反相页(≤1 处、不作末页)。
|
|
258
258
|
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
|
|
113
113
|
- **发布版**:**v0.1**(布局语法 + 模型单写 + 硬门禁 + 风格语汇层)。**双版本口径**:npm / `metadata.version` = **semver(0.1.x)**;`layout-constants.json` `version` = **布局语法 schema 线(`0.1`)**——`model-schema.json` / `layoutSlots` 同步 schema 线,`sync_runtime.py` 校验 `package.json` 对齐 `0.1.x`。变更流水见仓库根 `CHANGELOG.md`。
|
|
114
114
|
- **兼容回落**:排版比例尺只有 `modeTypeScale` 一套;未知模式回落 `presentation` 档。环境变量 `TOP_PPT_NODE_EXE` / `TOP_PPT_NODE_PATH`(旧名已移除)。
|
|
115
|
-
- **文档分工**:本文件管架构与机制;日常规范见 `references/*`,业界对标依据见
|
|
115
|
+
- **文档分工**:本文件管架构与机制;日常规范见 `references/*`,业界对标依据见 `../docs/archive/refs/industry-benchmark.md`。
|
|
116
116
|
|
|
117
117
|
## 八、目录职责
|
|
118
118
|
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
| `references/modes.md` | 三模式密度契约与锁定版式(L2:定模式细节时读) |
|
|
124
124
|
| `references/outline-design.md` | 内容架构七步法 + 跨页叙事节奏 + 细节保全 |
|
|
125
125
|
| `references/design-system.md` | MD3 对齐、设计原理(CRAP/7:2:1/字体矩阵)、页高模型、12 列网格、语义字阶、SVG 语义类(生成时主读) |
|
|
126
|
-
|
|
|
126
|
+
| `../docs/archive/refs/design-system-engine.md` | 顶栏/卡片/列表/表格/页脚/动效等 CSS 类实现目录(维护者;生成时勿读) |
|
|
127
127
|
| `references/styles.md` | 9 套风格定义与选型 |
|
|
128
128
|
| `references/content-rules.md` | 页内写作规则、密度三档、表格语义字号、容器内边距、连续文本流 |
|
|
129
129
|
| `references/components.md` | 结构组件与锁定版式(`components.md` §1–§15c、§32–§50)+ 版式选型表 + **组合版式矩阵(§46c)** |
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
| `references/pptx-export.md` | PPTX 导出通道、模型字段、双单源、29 页型、图表双通道 |
|
|
134
134
|
| `references/high-fidelity.md` | 按需深度模式规范(触发、容差、manifest、渲染对照) |
|
|
135
135
|
| `references/failure-modes.md` | 十四类失败模式 + 修复顺序铁律 + 错误解释纠正表 |
|
|
136
|
-
|
|
|
136
|
+
| `../docs/archive/refs/industry-benchmark.md` | 业界对标与采纳/不采纳决策依据 |
|
|
137
137
|
| `scripts/*` | 校验器、**骨架生成器 `scaffold_report.py`**、注入器、回归、**三项审计(styles / docs / skill)**、打包(全部标准库;PPTX 精导需 Node + pptxgenjs) |
|
|
138
138
|
| `evals/*` | Eval 框架:`prompts.csv`(14 条,含负对照)+ `rubric.schema.json`(风格目标评分契约)+ `run_evals.py`(结果/过程/风格/效率四类目标) |
|
|
139
139
|
| `assets/templates/*` | 三模式模板 + 公共引擎/UI(标记块由 `sync_runtime.py` 注入) |
|
|
@@ -6,8 +6,8 @@ assets/examples/ 至少保留 3 份黄金样张(每模式 1):
|
|
|
6
6
|
presentation-business-blue · research-mckinsey · architecture-graphite-dark
|
|
7
7
|
另可含产品 showcase(如 2026-09-26-topmind-tms-skills-showcase),不替代黄金样张。
|
|
8
8
|
|
|
9
|
-
完整 9
|
|
10
|
-
|
|
9
|
+
完整 9 风格染色矩阵旧实现:../docs/archive/build_examples.py.full
|
|
10
|
+
其余历史示例:../docs/archive/examples/
|
|
11
11
|
"""
|
|
12
12
|
from __future__ import annotations
|
|
13
13
|
|
|
@@ -36,7 +36,7 @@ def main() -> int:
|
|
|
36
36
|
print('缺黄金样张:')
|
|
37
37
|
for m in missing:
|
|
38
38
|
print(' ', m)
|
|
39
|
-
print('归档全量重建脚本: docs/archive/build_examples.py.full')
|
|
39
|
+
print('归档全量重建脚本: ../docs/archive/build_examples.py.full')
|
|
40
40
|
return 1
|
|
41
41
|
print(f'黄金样张齐全:{len(GOLDEN)} 组(html+model)')
|
|
42
42
|
for stem in GOLDEN:
|
|
@@ -48,7 +48,7 @@ def main() -> int:
|
|
|
48
48
|
print(f' FAIL {model.name}: {e}')
|
|
49
49
|
return 1
|
|
50
50
|
print(f' OK {stem} html={html.stat().st_size // 1024}KB model={model.stat().st_size}B')
|
|
51
|
-
print('提示:全矩阵重建请用 docs/archive/build_examples.py.full(维护向)。')
|
|
51
|
+
print('提示:全矩阵重建请用 ../docs/archive/build_examples.py.full(维护向)。')
|
|
52
52
|
return 0
|
|
53
53
|
|
|
54
54
|
|