@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.
Files changed (74) hide show
  1. package/CHANGELOG.md +186 -0
  2. package/README.en.md +10 -70
  3. package/README.md +11 -69
  4. package/package.json +1 -1
  5. package/top-ppt-html/README.en.md +19 -20
  6. package/top-ppt-html/README.md +36 -90
  7. package/top-ppt-html/SKILL.md +65 -60
  8. package/top-ppt-html/references/charts.md +0 -15
  9. package/top-ppt-html/references/components.md +0 -18
  10. package/top-ppt-html/references/design-system.md +2 -2
  11. package/top-ppt-html/references/icons.md +2 -2
  12. package/top-ppt-html/references/infographics.md +1 -5
  13. package/top-ppt-html/references/modes.md +4 -4
  14. package/top-ppt-html/references/tech-design.md +3 -3
  15. package/top-ppt-html/scripts/build_examples.py +4 -4
  16. package/top-ppt-html/scripts/build_pptx.js +240 -59
  17. package/top-ppt-html/scripts/check_triggers.py +10 -2
  18. package/top-ppt-html/scripts/extract_model.py +16 -5
  19. package/top-ppt-html/scripts/gen_channel_a.js +55 -10
  20. package/top-ppt-html/scripts/hydrate_charts.py +68 -13
  21. package/top-ppt-html/scripts/negative_tests.py +1 -1
  22. package/top-ppt-html/scripts/prepare_images.py +1 -1
  23. package/top-ppt-html/scripts/recommend_layout.py +26 -3
  24. package/top-ppt-html/scripts/render_from_model.py +78 -13
  25. package/top-ppt-html/scripts/scaffold_report.py +43 -3
  26. package/top-ppt-html/scripts/sync_runtime.py +32 -4
  27. package/top-ppt-html/scripts/test_feedback_gates.py +24 -0
  28. package/top-ppt-html/scripts/validate_pptx.py +10 -1
  29. package/top-ppt-html/scripts/validate_report.py +43 -7
  30. package/topmind-cover/README.en.md +12 -8
  31. package/topmind-cover/README.md +13 -9
  32. package/topmind-cover/SKILL.md +33 -21
  33. package/topmind-cover/assets/examples/README.md +16 -19
  34. package/topmind-cover/assets/examples/big-type-wechat.png +0 -0
  35. package/topmind-cover/assets/examples/big-type.png +0 -0
  36. package/topmind-cover/assets/examples/brand-launch-wechat.png +0 -0
  37. package/topmind-cover/assets/examples/brand-launch.png +0 -0
  38. package/topmind-cover/assets/examples/gan-huo-wechat.png +0 -0
  39. package/topmind-cover/assets/examples/gan-huo.png +0 -0
  40. package/topmind-cover/assets/examples/ip-fun-wechat.png +0 -0
  41. package/topmind-cover/assets/examples/ip-fun.png +0 -0
  42. package/topmind-cover/assets/examples/magazine-wechat.png +0 -0
  43. package/topmind-cover/assets/examples/magazine.png +0 -0
  44. package/topmind-cover/assets/examples/minimal-wechat.png +0 -0
  45. package/topmind-cover/assets/examples/minimal.png +0 -0
  46. package/topmind-cover/assets/examples/news-flash-wechat.png +0 -0
  47. package/topmind-cover/assets/examples/news-flash.png +0 -0
  48. package/topmind-cover/assets/examples/overview.png +0 -0
  49. package/topmind-cover/assets/examples/tutorial-steps-wechat.png +0 -0
  50. package/topmind-cover/assets/examples/tutorial-steps.png +0 -0
  51. package/topmind-cover/references/cover-styles.md +322 -143
  52. package/topmind-wechat-post/README.en.md +49 -1
  53. package/topmind-wechat-post/README.md +48 -2
  54. package/topmind-wechat-post/SKILL.md +35 -37
  55. package/topmind-wechat-post/references/element-spec.md +1 -1
  56. package/topmind-wechat-post/references/known-pits.md +2 -3
  57. package/topmind-wechat-post/references/typography-rules.md +1 -1
  58. package/topmind-wechat-post/references/workflow.md +3 -3
  59. package/topmind-wechat-post/references/writing-quality.md +8 -32
  60. package/topmind-wechat-post/scripts/md2wechat.py +125 -42
  61. package/topmind-wechat-post/scripts/negative_tests.py +32 -0
  62. package/topmind-x-article/README.en.md +40 -1
  63. package/topmind-x-article/README.md +42 -4
  64. package/topmind-x-article/SKILL.md +11 -5
  65. package/topmind-x-article/references/x-format.md +13 -10
  66. package/topmind-x-article/scripts/md2x.py +220 -40
  67. package/topmind-cover/assets/examples/big-poster-wechat.png +0 -0
  68. package/topmind-cover/assets/examples/big-poster.png +0 -0
  69. package/topmind-cover/assets/examples/cyber-glitch-wechat.png +0 -0
  70. package/topmind-cover/assets/examples/cyber-glitch.png +0 -0
  71. package/topmind-cover/assets/examples/guochao-wechat.png +0 -0
  72. package/topmind-cover/assets/examples/guochao.png +0 -0
  73. package/topmind-cover/assets/examples/tech-future-wechat.png +0 -0
  74. package/topmind-cover/assets/examples/tech-future.png +0 -0
@@ -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.0` 同 tag)
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
- | ![bb](assets/showcase/style-business-blue-cover.png) | ![mk](assets/showcase/style-mckinsey-cover.png) | ![gr](assets/showcase/style-graphite-cover.png) |
37
-
38
- | 定位 | 双交付 | 图表 | Header 工具栏 |
39
- |:---:|:---:|:---:|:---:|
40
- | ![pos](assets/showcase/showcase-positioning.png) | ![sp](assets/showcase/showcase-split.png) | ![ch](assets/showcase/showcase-charts.png) | ![tb](assets/showcase/showcase-toolbar.png) |
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:`npm install playwright && npx playwright install chromium`。
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
- **渐进式披露三档**(详见 `SKILL.md` 阶段路由表):`L0` = `SKILL.md`(路由 + 门禁 + 铁律,加载即用);`L1` = `references/playbook.md`(**唯一常读入口**:模式契约 / 页型选型 / 组合版式矩阵 / 图表选型决策树 / 内容规则 / 配色 / 校验命令);`L2` = 深度规范,**只在命中条件时读、读完即停**;**取码必须 `extract_snippet.py`**(整读大 L2 = FAIL);`components.md`/`charts.md` 为逻辑索引,自动路由到物理拆分文件。
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
- │ │ # + engine.css / ui.js(公共引擎/UI,sync_runtime 注入源)
150
- │ ├─ examples/ # 3 黄金样张 + showcase(HTML+model) │
151
- │ ├─ pptx-export.js # PPTX 预览运行时(含常量/schema 注入块) │
152
- │ ├─ style-gallery.html # 风格 × 模式 × 亮暗主题交互画廊 │
153
- │ ├─ theme-overview*.png # 3 张主题参考图(整体=演示 / 研究 / 架构) │
154
- │ └─ showcase/ # README 用精简截图(完整集见 docs/showcase) │
155
- ├─ references/ # 规范(L1 常读 1 篇 + L2 按需;components/charts 已按族拆分)│ ├─ playbook.md # ★ L1 唯一常读入口:模式/页型/组合/图表/配色/校验 │
156
- │ ├─ components.md # 逻辑索引(§ 路由到下列物理文件) │
157
- │ ├─ components-atoms.md # §1–§15c 结构组件 │
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 §十。
@@ -1,6 +1,23 @@
1
1
  ---
2
2
  name: top-ppt-html
3
- 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 源文件本身。"
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
- **让 idea 飞,好想法被看见。** 为**演示报告 / 正式商务演示**而生——**HTML + PPT 双交付**(日常 HTML 等同幻灯片;需要时再导出高保真可编辑 PPTX)。非 gadget、非咨询 dump 默认。同源 `REPORT_MODEL`;**B 通道** `build_pptx.js` 交付,**A** 仅预览/`cross_verify`。参考 MD3:合适信息密度、克制文字/图形/颜色;少装饰、一屏一重心。
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
- | 按模式拆分 | 演示→整体图;研究→`-research.png`;架构→`-architecture.png` | 模式已明确 |
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** | **路演/汇报/发布/演讲/demo/融资/宣讲→A**;架构/拓扑→C;未点明→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**(**仅当用户要 PPT/PPTX 才开** B 通道) | |
52
+ | format | **html only**(用户要 PPT/PPTX 才开 B 通道) | |
36
53
 
37
- **跳过** Gate 0/六项/完整大纲。**仍须** 最小大纲→模型单写→strict 0/0→`quality_gate --deliver`(反截断、图表多样、Mode A craft 不降)。L0+L1(A/Fast 可加 L1.5);代码一律 `extract_snippet`。一行宣布「Fast 选用:…」→ playbook §二;声明已跳过参考图。**标准模式**仍强制 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? → 快路径] : [Gate 0 → 六项(1 轮)→ 内容架构]
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`)。**Mode A/Fast**可加 L1.5:`default-surface.md`+`presentation-craft.md`(非违约)。其余 L2 命中才读、不预读。
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. **意图与模式**(合并确认)——演示/汇报类 → A;研究/调研类 → B;架构/拓扑类 → C;混合选主模式(完整判据 `modes.md`「意图 → 模式默认推荐」)。给推荐 + 理由。
54
- 2. **篇幅**——A 8–15 页(图文 V1–V4,简单图禁全幅)/ B 12–25 页 / C 1–3 张图共 6–8 页;有材料按材料量推荐。
55
- 3. **风格(始终选择)**——默认商务蓝;B 推荐麦肯锡/墨绿/暖沙金;C 推荐石墨深灰/商务蓝/彩色;拿不准给 Gate 0 参考图。
56
- 4. **亮暗主题(始终确认)**——浅色默认(打印/外发)/ 深色(沉浸/发布会/大屏);石墨深灰出厂深色;双主题经 `REPORT_MODEL.theme` 贯穿 HTML 与导出。
57
- 5. **交付格式**——仅 HTML(默认)/ HTML+PPTX(用户要可编辑演示文稿时;PPTX 走 **B 通道**)。
58
- 6. **参考图确认**——复述 Gate 0 路径,确认用户已看到。
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
- | **轻量**(默认) | 页数不多、材料单一完整、关键判断已敲定 | 最小大纲→1 张规划卡(`outline-design.md`「轻量最小集」) |
67
- | **完整** | 长篇、材料量大且杂、含未敲定关键判断、用户要看框架 | 证据盘点 → 故事线 → 主张树 → 逐页规划卡 → 大纲确认(1 轮) |
82
+ | **轻量**(默认) | 页数不多、材料单一完整、关键判断已敲定 | 最小大纲 → 1 张规划卡(`outline-design.md`「轻量最小集」) |
83
+ | **完整** | 长篇、材料杂、含未敲定关键判断、用户要看框架 | 证据盘点 → 故事线 → 主张树 → 逐页规划卡 → 大纲确认(1 轮) |
68
84
 
69
- 两条路径的**精确判定条件与完整步骤以 `references/playbook.md` §二为准**。完整路径确认只做一次,用户说"调整"只改指定处;确认后不再有内容层面的反复确认。
85
+ 精确判定条件与完整步骤见 `references/playbook.md` §二。完整路径确认只做一次;确认后只改指定处。
70
86
 
71
87
  ## 变更与中断(过程可控 · 不重启六项问询)
72
88
 
73
89
  | 情形 | 处理 |
74
90
  |------|------|
75
- | 只改风格 / 亮暗 | header 即切 → 同步 `REPORT_MODEL.style/theme` → 重跑校验;**不重写内容** |
76
- | 加页 / 减页 | 只动受影响页 + Agenda + Exhibit 编号 + 页码;重跑校验 |
91
+ | 只改风格/亮暗 | header 即切 → 同步 `REPORT_MODEL.style/theme` → 重跑校验;**不重写内容** |
92
+ | 加页/减页 | 只动受影响页 + Agenda + 编号 + 页码;重跑校验 |
77
93
  | 换模式 A↔B↔C | 不可就地改:保留证据/数字/结论,按目标模式重排;仅重确认篇幅 |
78
- | 对话中断后续写 | 用提取脚本取回模型后重渲染正文,**不要从零重写** |
79
- | 校验不通过 | 按输出的**修复指引**逐条改;连续 2 轮不收敛才升级读 `references/failure-modes.md` |
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,读完即执行、不预读下一份**。需要代码时**一律** `extract_snippet.py`(`--list` / `--task` / `--chart` / `--page-type` / `--file --section`)。**整读大 L2 文件 = FAIL / 不合格**(禁令清单见下与 playbook §十)。
101
+ > **纪律**:L0+L1 是默认全部所需;**只在命中"何时读"时才打开 L2,读完即执行、不预读**。取代码**一律** `extract_snippet.py`(`--list` / `--task` / `--chart` / `--page-type` / `--file --section`)。**整读大 L2 文件 = FAIL**(禁令清单见 playbook §十)。
86
102
 
87
- **L2 一览**(命中条件与逐任务只读清单的**详表以 playbook §十为准**,此处仅索引):
103
+ **L2 索引**(命中条件与逐任务只读清单详见 playbook §十):
88
104
 
89
105
  - 模式契约与锁定版式 → `references/modes.md` · 完整路径七步 → `references/outline-design.md`
90
- - **A/Fast L1.5 → `default-surface.md` + `presentation-craft.md`** · 骨架 `layout-grammar.md` §七 · 插画规范(L2)→ `illustration-layout.md`
91
- - 组件/版式**代码** → `components.md` · 页型表 `page-type-matrix.md` · 图表门面 `charts.md` + 决策树 `chart-decision-tree.md`(extended 按需)· 信息图 → `infographics.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`。**整读下列文件 = FAIL**:`layouts-combo` / `components-atoms` / `charts-basic` / `charts-extended` / `content-rules` 全文 / `pptx-export` / 模式模板 HTML(走 scaffold)。详表 playbook §十。同阶段不重读。
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 / layout 常量 JSON。排版读 `layout-grammar.md`。**motion=none**(无炫技转场;`presentation-craft.md`)。
100
-
101
- 1. **单文件零外链**——无 CDN/外部字体/外部图片,图形一律内联 SVG;`<img src>` 仅 `data:` 或相对路径且必带 `alt`(单图 ≤1.5MB、全篇 ≤8MB);无素材图不留空不省略,用配图占位(`components.md` §11c-3)。
102
- 2. **模式先定后写**——从对应模式模板起步;`data-mode` = `REPORT_MODEL.mode`,页面无模式切换;MD3 映射;PPTX 字号走三模式独立比例尺。
103
- 3. **亮暗双主题一致**——CSS 变量整块换肤 + header 切换 + 文件级记忆;`REPORT_MODEL.theme` 与页面一致,PPTX 同主题导出;强调带只用 accent 家族,**末页禁 `band--deep`**。
104
- 4. **每页一屏 + 高度稳定**——`section.band` ≥ 一屏;主内容不得溢出画布或压进结论条/注释带。放不下按「重构承载 → 拆页/分章 → 换布局形态 → 有限缩字号」(`containers.overflowRule`);**禁止**静默截断或为疏朗删结论条/证据。**大纲 = 3–7 章(每章 1+ 页),禁逐页标题罗列**(`outline-design.md` ⑤)。结论条 = MD3 tonal surface(无「So what」标签、**无左侧 accent 轨**);要点卡/关键列表按 `icons.md` 克制取用图标。
105
- 5. **PPT 式翻页 + 骨架固定**——`section.band` 即一页;方向键翻页、页码可点;Agenda 第二页(arch 内容页 ≤4 可省);页头只留 eyebrow + 标题 + 可选导语,页脚全文一个;页头页脚之外不加装饰。
106
- 6. **标题与字号**——主标题粗体;research=结论句(≥12 字);**presentation=主张/行动句**(禁话题标签);字号随模式,`clamp()`,图表不缩水。
107
- 7. **组合版式 + 细节保全**——默认一页 = 主件 + 从件 + 注释层(矩阵 playbook §四);先判定决策必需信息再定形态,**禁砍口径列/时间列/维度**;密度 L/M/H 禁连续 3 页同档;同一版式不连用超 2 页(扩展签名可 3 页)。
108
- 8. **列表优先 + 去 AI 味 + 图标克制**——大段文字转列表(research 双/三栏正文除外);`aiFlavor` 词表零命中;图标每屏 3–8 个(架构图为王可无)。
109
- 9. **图表够大 + 够多样 + 双通道**——尺寸 ≥ `charts.minSize`;`data-chart` 须在 `charts.registry`(36 种)登记;多样性下限与相邻不同型按 `charts.variety`(playbook §五);原生通道 `addChart` 双击可编辑数据,形状通道须按登记策略附数据表(口径注解见 tech-design §二)。
110
- 10. **引用与待核实**——外部数据 `[n]` + 文末参考资料(来源+时间+口径)双向对齐;**只列真实来源,无则省略参考资料整节,禁占位条目**;research 关键图表 Exhibit N 连续编号 + 来源行;`.tbd` 强调色标注必须配图例(content-rules §五-b),单页 ≤12 处;只标色不解释即不合格。
111
- 11. **容器级门禁 + 语义字号**——溢出按**归属容器**判定,越过容器即失败(哪怕未越页);容器保留内边距,不得缩字号解决溢出;表格正文用 `body` 层级,`micro` 只给轴标签/单位/短标签;连续句不拆文本框。
112
- 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」与提示词,不做文件导出。
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**:零外链可翻页、每页一屏。**Header 工具栏**(样张专页):
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(现 0.1.19)≠ schema 线(layout-constants / model-schema,现 `0.1`);patch 不抬 schema。
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
- - **可选**:页高/裁切与参考图重生成需 playwright(`regression.py` 探测,缺失跳过)。
142
- - **回归 / 自检**:`regression.py`;`audit_skill/docs/styles/css.py`。
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 实现目录**(顶栏/卡片/列表/表格/页脚/动效等)在 `docs/archive/refs/design-system-engine.md`——
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 类实现目录**(顶栏/卡片/列表/表格/页脚/动效)在 `docs/archive/refs/design-system-engine.md`——生成时用 `components-atoms.md` 写法即可。
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+):`docs/archive/refs/icons-catalog.md`(生成默认**不**预读;仅当高频未覆盖语义时按名查阅)。
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(语义 + 禁区 + 尺寸 + 高频码)。完整枚举见 `docs/archive/refs/icons-catalog.md`;默认生成**不**预读归档。
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
- # 复杂信息图页型族(research / architecture 专属)
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
- **共用纪律**:每页一图;文字退到图注级;曲线/流带采样点 ≥16(流带图 ≥24)且**上下边界分别追踪**;**禁用预设形状与矩形化近似**替代曲线语义;`chart.dataTable` 至少 `notes`(数据表写入演讲者备注),需要页内可见时用 `inline`;节点/组/列数超上限按铁律 11 **拆页**(结构容量问题,缩字号无效);限内标签偏挤时可按 `containers.fontShrink` 有限下探。
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`(+apple-mono 变体) |
254
- | B 研究报告 | `assets/templates/research.html` | `examples/2026-09-09-research-mckinsey.html`(+deep-teal/warm-sand 变体) |
255
- | C 信息架构图 | `assets/templates/architecture.html`(出厂 dark) | `examples/2026-09-09-architecture-graphite-dark.html`(出厂 dark · 深色优先)+ `spectrum` 变体(light) |
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/*`,业界对标依据见 `docs/archive/refs/industry-benchmark.md`。
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
- | `docs/archive/refs/design-system-engine.md` | 顶栏/卡片/列表/表格/页脚/动效等 CSS 类实现目录(维护者;生成时勿读) |
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
- | `docs/archive/refs/industry-benchmark.md` | 业界对标与采纳/不采纳决策依据 |
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 风格染色矩阵旧实现:docs/archive/build_examples.py.full
10
- 其余历史示例:docs/archive/examples/
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