@topmindspace/tms-skills 0.1.0 → 0.1.2
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 +76 -0
- package/README.md +9 -3
- package/bin/tms-skills.js +200 -160
- package/package.json +12 -9
- package/top-ppt-html/README.md +162 -254
- package/top-ppt-html/SKILL.md +126 -111
- package/top-ppt-html/assets/examples/2026-09-09-architecture-graphite-dark.html +3926 -3926
- package/top-ppt-html/assets/examples/2026-09-09-architecture-graphite-dark.model.json +167 -167
- package/top-ppt-html/assets/examples/2026-09-09-presentation-business-blue.html +4325 -4325
- package/top-ppt-html/assets/examples/2026-09-09-presentation-business-blue.model.json +320 -320
- package/top-ppt-html/assets/examples/2026-09-09-research-mckinsey.html +5527 -5527
- package/top-ppt-html/assets/examples/2026-09-09-research-mckinsey.model.json +913 -913
- package/top-ppt-html/assets/pptx-export.js +1944 -1944
- package/top-ppt-html/assets/style-gallery.html +589 -589
- package/top-ppt-html/assets/templates/architecture.html +3728 -3728
- package/top-ppt-html/assets/templates/engine.css +840 -840
- package/top-ppt-html/assets/templates/presentation.html +3738 -3738
- package/top-ppt-html/assets/templates/research.html +4017 -4017
- package/top-ppt-html/assets/templates/ui.js +520 -520
- package/top-ppt-html/assets/theme-overview-architecture.png +0 -0
- package/top-ppt-html/assets/theme-overview-research.png +0 -0
- package/top-ppt-html/assets/theme-overview.png +0 -0
- package/top-ppt-html/evals/prompts.csv +15 -15
- package/top-ppt-html/evals/rubric.schema.json +25 -25
- package/top-ppt-html/evals/run_evals.py +220 -220
- package/top-ppt-html/evals/trace.example.json +16 -16
- package/top-ppt-html/package-lock.json +186 -0
- package/top-ppt-html/package.json +11 -11
- package/top-ppt-html/references/charts-basic.md +624 -624
- package/top-ppt-html/references/charts-discipline.md +110 -108
- package/top-ppt-html/references/charts-extended.md +482 -482
- package/top-ppt-html/references/charts.md +37 -28
- package/top-ppt-html/references/components-atoms.md +624 -624
- package/top-ppt-html/references/components.md +30 -30
- package/top-ppt-html/references/content-rules.md +510 -490
- package/top-ppt-html/references/default-surface.md +61 -0
- package/top-ppt-html/references/design-system.md +478 -478
- package/top-ppt-html/references/failure-modes.md +227 -214
- package/top-ppt-html/references/high-fidelity.md +127 -127
- package/top-ppt-html/references/icons.md +176 -397
- package/top-ppt-html/references/infographics-stats.md +308 -308
- package/top-ppt-html/references/infographics-structure.md +226 -226
- package/top-ppt-html/references/infographics.md +43 -43
- package/top-ppt-html/references/layout-grammar.md +325 -315
- package/top-ppt-html/references/layouts-architecture.md +108 -108
- package/top-ppt-html/references/layouts-combo.md +600 -600
- package/top-ppt-html/references/layouts-research.md +160 -160
- package/top-ppt-html/references/modes.md +259 -254
- package/top-ppt-html/references/outline-design.md +275 -275
- package/top-ppt-html/references/playbook.md +284 -266
- package/top-ppt-html/references/pptx-export.md +227 -209
- package/top-ppt-html/references/presentation-craft.md +69 -0
- package/top-ppt-html/references/styles.md +370 -370
- package/top-ppt-html/references/tech-design.md +138 -138
- package/top-ppt-html/scripts/audit_css.py +109 -109
- package/top-ppt-html/scripts/audit_docs.py +176 -176
- package/top-ppt-html/scripts/audit_skill.py +231 -220
- package/top-ppt-html/scripts/audit_styles.py +351 -351
- package/top-ppt-html/scripts/build_examples.py +55 -2276
- package/top-ppt-html/scripts/build_pptx.js +2386 -2380
- package/top-ppt-html/scripts/capture_theme_overview.js +79 -78
- package/top-ppt-html/scripts/checks_html.py +166 -127
- package/top-ppt-html/scripts/cross_verify.py +298 -294
- package/top-ppt-html/scripts/env_probe.py +158 -158
- package/top-ppt-html/scripts/extract_model.py +210 -210
- package/top-ppt-html/scripts/extract_snippet.py +374 -374
- package/top-ppt-html/scripts/gen_channel_a.js +214 -214
- package/top-ppt-html/scripts/layout-constants.json +111 -18
- package/top-ppt-html/scripts/lib_layout_regions.js +410 -412
- package/top-ppt-html/scripts/measure_height.py +178 -178
- package/top-ppt-html/scripts/negative_tests.py +433 -307
- package/top-ppt-html/scripts/package_skill.py +294 -291
- package/top-ppt-html/scripts/prepare_images.py +341 -341
- package/top-ppt-html/scripts/probe_image_export.py +187 -188
- package/top-ppt-html/scripts/quality_gate.py +309 -301
- package/top-ppt-html/scripts/recommend_layout.py +384 -0
- package/top-ppt-html/scripts/regression.py +308 -308
- package/top-ppt-html/scripts/render_compare.py +275 -275
- package/top-ppt-html/scripts/render_from_model.py +698 -698
- package/top-ppt-html/scripts/scaffold_report.py +1054 -1054
- package/top-ppt-html/scripts/section-file-map.json +104 -104
- package/top-ppt-html/scripts/smoke_pptx.sh +30 -0
- package/top-ppt-html/scripts/sync_runtime.py +659 -662
- package/top-ppt-html/scripts/validate_pptx.py +1579 -1510
- package/top-ppt-html/scripts/validate_report.py +1755 -1456
- package/top-ppt-html/assets/examples/2026-09-09-architecture-spectrum.html +0 -3926
- package/top-ppt-html/assets/examples/2026-09-09-architecture-spectrum.model.json +0 -168
- package/top-ppt-html/assets/examples/2026-09-09-presentation-apple-mono.html +0 -4325
- package/top-ppt-html/assets/examples/2026-09-09-presentation-apple-mono.model.json +0 -321
- package/top-ppt-html/assets/examples/2026-09-09-presentation-brand-red.html +0 -4325
- package/top-ppt-html/assets/examples/2026-09-09-presentation-brand-red.model.json +0 -321
- package/top-ppt-html/assets/examples/2026-09-09-research-deep-teal.html +0 -5527
- package/top-ppt-html/assets/examples/2026-09-09-research-deep-teal.model.json +0 -914
- package/top-ppt-html/assets/examples/2026-09-09-research-indigo-violet.html +0 -5527
- package/top-ppt-html/assets/examples/2026-09-09-research-indigo-violet.model.json +0 -914
- package/top-ppt-html/assets/examples/2026-09-09-research-warm-sand.html +0 -5527
- package/top-ppt-html/assets/examples/2026-09-09-research-warm-sand.model.json +0 -914
- package/top-ppt-html/assets/theme-overview-presentation.png +0 -0
- package/top-ppt-html/references/design-system-engine.md +0 -235
- package/top-ppt-html/references/industry-benchmark.md +0 -105
- package/top-ppt-html/references/reform-plan.md +0 -252
- package/top-ppt-html/scripts/layout_slots.json +0 -830
|
@@ -1,490 +1,510 @@
|
|
|
1
|
-
# 内容规则(面向演讲演示 · 去AI味 · 密度高效)
|
|
2
|
-
|
|
3
|
-
> **何时读**:写正文、调密度、去 AI 味、处理引用与待核实标注时。**何时不读**:定模式/选版式阶段(用 `playbook.md`)。
|
|
4
|
-
> **取节**:`python scripts/extract_snippet.py --task content-rules`(密度/字数/去AI味打包)。整读 30KB 视为浪费。
|
|
5
|
-
> **目录**:一 文字 · 一-b 图标 · 一-c 彩色 · 二 去AI味 · 三 数据化 · 四 密度 · 四-b 复杂布局 · 四-c
|
|
6
|
-
|
|
7
|
-
## 核心判断标准(v8:先保全,后呈现)
|
|
8
|
-
|
|
9
|
-
**第一步不是"删",而是"定"**:先问 **"这条信息是决策必需的吗?"**
|
|
10
|
-
- 是 → **必须进主页面**——再想用什么形态承载它(文字 → 列表 → 表 → 图 → 组合版式)。
|
|
11
|
-
- 不是,但需要可查 → 沉图注 / 来源行 / 附录。
|
|
12
|
-
- 都不是 → 才允许删。
|
|
13
|
-
|
|
14
|
-
**第二步才是"简"**:形态定了之后,问 **"如果我在台上讲这一页,观众 3 秒内能抓住什么?"** 抓不住 → **换承载形态或调版式**,而不是删掉决策必需的信息。
|
|
15
|
-
|
|
16
|
-
> **research 模式**:判断标准换成 **"读者 30 秒内能否读完这一页的论证?"**——行动标题是结论、论证区是证据、so-what 是含义。密度规则见第八节。
|
|
17
|
-
> **两条禁令("内容丢失"的根因)**:① 禁止为排版方便砍口径列 / 时间列 / 维度;② 禁止用"抓不住就删"直接砍掉决策必需的信息。
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
##
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
|
26
|
-
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
→
|
|
52
|
-
→
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
|
85
|
-
|
|
86
|
-
|
|
|
87
|
-
|
|
|
88
|
-
|
|
|
89
|
-
|
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
-
|
|
126
|
-
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
|
133
|
-
|
|
134
|
-
|
|
|
135
|
-
|
|
|
136
|
-
|
|
|
137
|
-
|
|
|
138
|
-
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
|
158
|
-
|
|
159
|
-
|
|
|
160
|
-
|
|
|
161
|
-
|
|
|
162
|
-
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
-
|
|
169
|
-
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
-
|
|
194
|
-
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
-
|
|
198
|
-
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
-
|
|
202
|
-
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
-
|
|
206
|
-
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
-
|
|
210
|
-
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
-
|
|
214
|
-
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
-
|
|
218
|
-
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
-
|
|
224
|
-
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
-
|
|
228
|
-
-
|
|
229
|
-
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
>
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
1.
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
-
|
|
329
|
-
-
|
|
330
|
-
-
|
|
331
|
-
|
|
332
|
-
###
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
###
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
-
|
|
423
|
-
-
|
|
424
|
-
-
|
|
425
|
-
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
- [ ]
|
|
433
|
-
- [ ]
|
|
434
|
-
- [ ]
|
|
435
|
-
- [ ]
|
|
436
|
-
- [ ]
|
|
437
|
-
- [ ]
|
|
438
|
-
- [ ]
|
|
439
|
-
- [ ]
|
|
440
|
-
- [ ]
|
|
441
|
-
- [ ]
|
|
442
|
-
- [ ]
|
|
443
|
-
- [ ]
|
|
444
|
-
- [ ]
|
|
445
|
-
- [ ]
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
-
|
|
462
|
-
-
|
|
463
|
-
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
-
|
|
482
|
-
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
-
|
|
488
|
-
-
|
|
489
|
-
-
|
|
490
|
-
|
|
1
|
+
# 内容规则(面向演讲演示 · 去AI味 · 密度高效)
|
|
2
|
+
|
|
3
|
+
> **何时读**:写正文、调密度、去 AI 味、处理引用与待核实标注时。**何时不读**:定模式/选版式阶段(用 `playbook.md`)。
|
|
4
|
+
> **取节**:`python scripts/extract_snippet.py --task content-rules`(密度/字数/去AI味打包)。整读 30KB 视为浪费。
|
|
5
|
+
> **目录**:一 文字 · 一-b 图标 · 一-c 彩色 · 二 去AI味 · 三 数据化 · 四 密度 · 四-b 复杂布局 · 四-c 溢出处置(禁截断) · 四-d 丰富度分级 · 四-e 细节保全 · 四-f 表格字号与内边距 · 五 引用 · 五-b 待核实 · 六 章节骨架 · 六-b Mode A 主张标题 · 七 交付自查 · 八 research 规则
|
|
6
|
+
|
|
7
|
+
## 核心判断标准(v8:先保全,后呈现)
|
|
8
|
+
|
|
9
|
+
**第一步不是"删",而是"定"**:先问 **"这条信息是决策必需的吗?"**
|
|
10
|
+
- 是 → **必须进主页面**——再想用什么形态承载它(文字 → 列表 → 表 → 图 → 组合版式)。
|
|
11
|
+
- 不是,但需要可查 → 沉图注 / 来源行 / 附录。
|
|
12
|
+
- 都不是 → 才允许删。
|
|
13
|
+
|
|
14
|
+
**第二步才是"简"**:形态定了之后,问 **"如果我在台上讲这一页,观众 3 秒内能抓住什么?"** 抓不住 → **换承载形态或调版式**,而不是删掉决策必需的信息。
|
|
15
|
+
|
|
16
|
+
> **research 模式**:判断标准换成 **"读者 30 秒内能否读完这一页的论证?"**——行动标题是结论、论证区是证据、so-what 是含义。密度规则见第八节。
|
|
17
|
+
> **两条禁令("内容丢失"的根因)**:① 禁止为排版方便砍口径列 / 时间列 / 维度;② 禁止用"抓不住就删"直接砍掉决策必需的信息。
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 一、文字:短、断、可念(结构优先 · 禁为疏朗而删)
|
|
22
|
+
|
|
23
|
+
> **反截断**:下列是**结构引导**,不是「超字数就删掉」的硬砍刀。长文先列表化 / 拆卡 / 拆页,**禁止**静默截断或丢掉 so-what / 证据。详规见 `presentation-craft.md`「长文与信息承载」。
|
|
24
|
+
|
|
25
|
+
| 位置 | 结构引导(非删除许可证) |
|
|
26
|
+
|------|------|
|
|
27
|
+
| 章节导语(lead) | 宜 ≤2 行;超长 → 拆成导语 + 列表,或挪到下一页主张页 |
|
|
28
|
+
| 卡片内正文 | 纯段落宜短;**超过约 3 行 → 转列表 / 拆成多卡**,勿压行删义 |
|
|
29
|
+
| 单句长度 | 宜断句(约 40 字换气);超长 → 断句或分条,勿删判断 |
|
|
30
|
+
| 单个列表项 | 宜 1–2 行可读;证据句可略长——放不下就**加行/拆项/拆页**,勿截断加省略号充数 |
|
|
31
|
+
| 一屏核心主张 | 只能有 **1 个**;证据可用次要卡/列表/跟进页承载 |
|
|
32
|
+
|
|
33
|
+
句式:主动句;数字前置;结论前置;把长定语拆成并列。
|
|
34
|
+
|
|
35
|
+
**✗ 单句超长(48 字,读者换气即丢失)**
|
|
36
|
+
> 通过对三家试点企业在过去两个季度中沉淀的调用日志进行回溯分析,我们发现工具链完备度与规模化成功率之间存在显著的正相关关系。
|
|
37
|
+
|
|
38
|
+
**✓ 断句改写(结论前置 + 数字前置)**
|
|
39
|
+
> 工具链完备度正相关规模化成功率——基于 3 家试点企业、两个季度的调用日志回溯。
|
|
40
|
+
|
|
41
|
+
### 段落 → 列表 的转换
|
|
42
|
+
|
|
43
|
+
**✗ 反例(大段,不适合演讲)**
|
|
44
|
+
> 传统数据治理把数据当作需要看守的资产;DGIG 把数据当作能够自我增强的生产资料。治理动作本身产生更高质量的数据,更高质量的数据喂养更聪明的 Agent,更聪明的 Agent 带来更好的业务结果,业务结果又生成新的数据,形成正反馈闭环。
|
|
45
|
+
|
|
46
|
+
**✓ 正例(列表化,可扫读可讲述)**
|
|
47
|
+
```
|
|
48
|
+
传统治理:数据 = 需看守的资产
|
|
49
|
+
DGIG: 数据 = 能自我增强的生产资料
|
|
50
|
+
闭环链路:
|
|
51
|
+
→ 治理动作产出更高质量数据
|
|
52
|
+
→ 高质量数据喂养更聪明的 Agent
|
|
53
|
+
→ 更聪明的 Agent 带来更好业务结果
|
|
54
|
+
→ 业务结果生成新数据
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 一-b、图标:克制而合理(不是很少,更不是没有)
|
|
60
|
+
|
|
61
|
+
图标是**信息的路标**。用对位置能显著提升可扫读性;滥用则变成新噪音。
|
|
62
|
+
|
|
63
|
+
- **四个正当位置**:卡片头(`.card__ico`)、关键列表行首(`.ul--ico`,3–5 条的关键列表最值得加)、指标卡角标(`.metric__ico`)、提示条(`.note__ico`)。
|
|
64
|
+
- **不用**:Agenda、表格内、图表内部、正文行内。
|
|
65
|
+
- **密度**:每屏 3–8 个;连续两三屏零图标时,给要点卡补一个。
|
|
66
|
+
- **一致性**:只用描边风(icons.md 全套),stroke 1.8,`currentColor` 不改。
|
|
67
|
+
- 图标库与语义速查:`references/icons.md`。
|
|
68
|
+
|
|
69
|
+
## 一-c、彩色(编码色 · 9 套风格通用)
|
|
70
|
+
|
|
71
|
+
- 彩色**只**属于数据:图表系列、图例色点、小段标签。结构(标题/正文/边框/按钮/大底色)永远中性。
|
|
72
|
+
- 多系列图表一律用 `f-c1~c5` 语义类——**9 套风格各有自己的 5 色板**(单源 `styleDataColors`,随主题切换),代码不用改。
|
|
73
|
+
- 同屏彩色系列 ≤ 5;标题、大数字、强调卡**不**用彩色。
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 二、去AI味(交付前必过,逐条替换)
|
|
78
|
+
|
|
79
|
+
> 源自《AI 写作特征》(Wikipedia:Signs of AI writing),收敛为商务报告场景。
|
|
80
|
+
> **目标:像懂行的人在讲,而不是 AI 在念稿。**
|
|
81
|
+
|
|
82
|
+
### 立即删除/替换的高危痕迹
|
|
83
|
+
|
|
84
|
+
| AI 腔 | 改成 |
|
|
85
|
+
|-------|------|
|
|
86
|
+
| 赋能、抓手、颗粒度、闭环(堆砌时) | 说清具体动作,如"把口径统一到指标中心" |
|
|
87
|
+
| 彰显、凸显、见证了、标志着 | 直接陈述事实 |
|
|
88
|
+
| 至关重要、深刻的、宝贵的 | 删,或用具体数字 |
|
|
89
|
+
| 格局、生态、体系(空泛) | 说清是哪一层、谁和谁 |
|
|
90
|
+
| 不仅…而且…、不是…而是…(连用) | 只留一半,直接说结论 |
|
|
91
|
+
| 随着…的不断发展、在…的背景下 | 删掉开头,直奔主题 |
|
|
92
|
+
| 大幅提升、显著改善、质的飞跃 | 用数字,如"使用率 31%→60%" |
|
|
93
|
+
| 行业报告显示、专家认为、有相关人士表示 | 给具体来源,或删掉 |
|
|
94
|
+
| 令人叹为观止、充满活力、丰富的 | 删,商务报告不用形容词堆砌 |
|
|
95
|
+
| 无缝、极致、一站式(宣传语) | 说清具体能力 |
|
|
96
|
+
| 未来可期、迈上新台阶、开启新篇章 | 给下一步具体动作 |
|
|
97
|
+
|
|
98
|
+
**✗ AI 腔整句(命中 4 个高危词)**
|
|
99
|
+
> 随着数字化浪潮的不断发展,该平台无缝赋能企业核心场景,标志着行业迈上新台阶,未来可期。
|
|
100
|
+
|
|
101
|
+
**✓ 改写(删填充、给事实)**
|
|
102
|
+
> 平台已接入 12 个核心场景;下一季度补齐审批链路,覆盖至 20 个。
|
|
103
|
+
|
|
104
|
+
### 结构性 AI 痕迹
|
|
105
|
+
|
|
106
|
+
- **填充短语**:"为了实现这一目标"→"为此";"在这个时间点"→"现在";"值得注意的是"→删。
|
|
107
|
+
- **三段式堆砌**:强行凑三点显得全面 → 两点或四点更自然。
|
|
108
|
+
- **破折号过度**:一屏最多 1 处破折号。
|
|
109
|
+
- **粗体过度**:一句里粗体不超过 1 处;整屏粗体克制。
|
|
110
|
+
- **-ing 式肤浅分析**(中文:"…着其重要性""…中发挥着关键作用")→ 删尾巴,直接说作用是什么。
|
|
111
|
+
- **通用积极结尾**:"前景广阔、值得期待"→ 换成具体下一步。
|
|
112
|
+
- **过度限定**:"可能会在一定程度上潜在影响"→"可能影响"。
|
|
113
|
+
|
|
114
|
+
### 保留人味(别改到无菌)
|
|
115
|
+
|
|
116
|
+
- 长短句混合,别每句一样长。
|
|
117
|
+
- 可以有明确判断:"这一步最关键""这里风险最大"。
|
|
118
|
+
- 承认不确定:"这个数字还没实测,先标 `xx`"。
|
|
119
|
+
- 别像新闻稿。允许一两句口语化但不失专业的话。
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## 二-b、引用与模型字段(防标签泄漏 · 硬纪律)
|
|
124
|
+
|
|
125
|
+
- **HTML 正文**:外部数据用 `<a class="cite" href="#ref-n">[n]</a>`。
|
|
126
|
+
- **REPORT_MODEL 字段**:只写纯文本;引用写 `[n]`。**禁止**把 `<a class="cite">` / `<strong>` 等标签写进模型字符串——会在 PPTX 原样露出(门禁 `HTML_TAG_IN_TEXT`)。
|
|
127
|
+
- 表格单元格、要点、soWhat、footnote 同理:模型纯文本,样式由引擎渲染。
|
|
128
|
+
- **单写路径**:优先只改模型,再用 `render_from_model` 的 `--inplace` 生成正文;不要手工同步两份。
|
|
129
|
+
|
|
130
|
+
## 三、数据:能图表化就不文字化
|
|
131
|
+
|
|
132
|
+
| 数据类型 | 用这个 | 不要用 |
|
|
133
|
+
|---------|-------|--------|
|
|
134
|
+
| 占比 / 构成 | 环形图 / 堆叠条 | 一句话文字 |
|
|
135
|
+
| 时间趋势 / 分阶段目标 | 柱状图 / 折线 | 表格 |
|
|
136
|
+
| 多维对比 | 对比表 | 两段文字 |
|
|
137
|
+
| 流程 / 架构 / 闭环 | 内联 SVG 图 | 编号列表 |
|
|
138
|
+
| 时间计划 | 时间线 | 表格 |
|
|
139
|
+
| 单值重点 | 大数字 + 一行注 | 段落 |
|
|
140
|
+
| 现状基线(并列指标) | 指标卡 | 列表 |
|
|
141
|
+
|
|
142
|
+
**✗ 数据文字化(占比藏在句子里,读者无法比较)**
|
|
143
|
+
> 其中工具类占比 42%、资讯类占比 31%、社交类占比 27%,工具类优势明显。
|
|
144
|
+
|
|
145
|
+
**✓ 数据图形化**:`donut`(扇区 3 个,条目数值标环内/条末,来源行写口径)——比较交给眼睛,文字只留"工具类领先 11 个百分点"这层含义。
|
|
146
|
+
|
|
147
|
+
图表实现(纯 SVG,无库):环形图、条形图、柱状图等 36 种图表做法见 `charts.md` §16–§31、§35、§52–§70;桑基/树图/箱线/网络/马赛克/流带六类**信息图页型**见 `infographics.md` §71–§77。
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## 四、信息密度与空间利用(合理高效)
|
|
152
|
+
|
|
153
|
+
**目标:充实但不拥挤,留白但不空旷。**
|
|
154
|
+
|
|
155
|
+
### 密度基准(建议量 · 超限先改结构)
|
|
156
|
+
|
|
157
|
+
| 元素 | 结构建议 |
|
|
158
|
+
|------|--------|
|
|
159
|
+
| 每屏并列单元(卡片/图/表) | 演示宜 ≤8(research ≤12);更多 → **拆屏或改表**,勿删条目凑数 |
|
|
160
|
+
| 单卡片列表项 | 宜 3–5 条;更多 → 拆卡 / 两组 / 跟进页,**勿截断条目文字** |
|
|
161
|
+
| 单卡片正文 | 纯段落宜短;长论证 → 列表化或多卡,不靠删句疏朗 |
|
|
162
|
+
| 指标卡一屏 | 4–6 个 |
|
|
163
|
+
| 表格一屏行数 | ≤8 行(research 密表 ≤16);超限 → Top N + 附录全表 |
|
|
164
|
+
| 单个列表项 | 宜可读完整;投影场景避免墙式长句,但**完整证据优先于字数帽** |
|
|
165
|
+
|
|
166
|
+
### 空间利用
|
|
167
|
+
|
|
168
|
+
- **避免大面积空白**:卡片内容太少时,减少卡高或改 2 列为 3 列;不要为凑满栅格留半空卡(半空与塞爆**同样不合格**)。
|
|
169
|
+
- **避免塞爆**:并列单元超上限 → 分两屏 / 改密表;列表过长 → 拆组或跟进页——**提炼≠删除决策必需信息**。
|
|
170
|
+
- **Mode A 密度许可**:主张清楚时,卡片/列表页允许偏密;一主张可带充分证据卡,证据装不下就加页,不砍 so-what。
|
|
171
|
+
- **留白节奏**:章节上下留白一致(`clamp(56px,8.5vh,116px)`),栅格间距一致(`clamp(16px,1.6vw,28px)`),卡片内边距一致(`clamp(20px,2vw,30px)`)。
|
|
172
|
+
- **对齐**:同类元素左对齐同一轴线(共享左缘/顶边);数字列右对齐或 `tabular-nums`;标题与正文左缘对齐;列节奏跨页稳定。
|
|
173
|
+
|
|
174
|
+
**✗ 塞爆(一屏 10 卡 × 每卡 6 条,投影不可读)** → 拆两屏各 5 卡,或 10 卡压成一张 `table`(research 密表 ≤16 行)。
|
|
175
|
+
**✗ 半空卡(2 条内容占 4 条的卡高)** → 减卡高或改 2 列为 3 列,不留"凑数卡"。
|
|
176
|
+
**✗ 为疏朗而截断**(条目末「…」、证据消失、so-what 被砍)→ 按 §四-c 重排/拆页,禁止静默丢内容。
|
|
177
|
+
|
|
178
|
+
### 一页好报告的观感
|
|
179
|
+
|
|
180
|
+
> 远看清结构(几栏、几个色块),近看有内容(每格都言之有物),没有半空的卡,也没有密不透风的墙。
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 四-b、复杂页面布局(图 + 文 + 卡混排)
|
|
185
|
+
|
|
186
|
+
一个页面同时有图表、文字、卡片时,按"**先定主次,再定栅格**"处理。
|
|
187
|
+
|
|
188
|
+
### 九种经典版式(优先套用,完整代码见 `components.md` 第 32–34、43–45、47–50 节)
|
|
189
|
+
|
|
190
|
+
> **新增栅格(同属"先定主次"工具,见 `components.md` §46b)**:三栏非对称 `g-211`/`g-121`、四象限 `g-quad`、粘性侧栏 `g-aside`、命名区马赛克 `g-mosaic`/`g-hero-full`、等高行 `rows-2/3`、双列键值 `kv--2col`——在九种经典版式不够用时优先从这组里选,**仍禁止临场发明结构**。
|
|
191
|
+
|
|
192
|
+
1. **左图右文 / 左文右图(`g-side`)**
|
|
193
|
+
- 主图占 1.3 份,文字/清单占 1 份。适合「一个大图 + 一组解读」。
|
|
194
|
+
- 图放视觉重心侧(通常左或上),文字做 3–4 条列表解读。
|
|
195
|
+
|
|
196
|
+
2. **上图下卡**
|
|
197
|
+
- 顶部一个通栏图(架构图/趋势图),下方 3–4 张并列卡片做分解。
|
|
198
|
+
- 适合「总体架构 + 分层拆解」。
|
|
199
|
+
|
|
200
|
+
3. **指标带 + 主图**
|
|
201
|
+
- 顶部 4–6 个指标卡一条带,下方一个主图或主表。
|
|
202
|
+
- 适合「现状基线 + 聚焦分析」。
|
|
203
|
+
|
|
204
|
+
4. **表 + 图并排(`g-2` 顶边对齐)**
|
|
205
|
+
- 一侧图、一侧小表,互相印证。适合「结论 + 证据」。
|
|
206
|
+
- 表行数 ≤5;高度差大时矮侧补一张注解卡。
|
|
207
|
+
|
|
208
|
+
5. **2×2 卡图混排(四象限,`g-2`)**
|
|
209
|
+
- 图与卡对角分布。适合「四个并列观察」。
|
|
210
|
+
- 这是单屏密度上限,再多就拆页。
|
|
211
|
+
|
|
212
|
+
6. **全幅图表页(`fig--full`,`components.md` §43)**
|
|
213
|
+
- 一个图撑满整页(宽 ≥ 版心 90%),标题结论 + 图注收口。
|
|
214
|
+
- 适合「单图信息量大、需要全场聚焦」:架构总览 / 全景趋势 / 复杂管线。
|
|
215
|
+
|
|
216
|
+
7. **里程碑时间线页(`tl`,`components.md` §44)/ 指标墙页(`g-6` metrics,`components.md` §45)**
|
|
217
|
+
- 时间线:3–5 个里程碑叙事,每个 ≤2 行(排期任务条用甘特,勿混)。
|
|
218
|
+
- 指标墙:6±2 个指标一排 + 口径行收口;单个核心数字压场改用 kpi 版式。
|
|
219
|
+
|
|
220
|
+
8. **步骤条页(`.steps`,`components.md` §47)/ 热力矩阵页(`.heat`,`components.md` §48)/ 达成对比页(`.bul`,`components.md` §49)/ 金字塔页(`.pyr`,`components.md` §50)**
|
|
221
|
+
- 步骤条:实施节奏 / 操作流程 3–6 步,每步「动作 + 一句说明」;关键步 `.step--a` ≤2 处。
|
|
222
|
+
- 热力矩阵:二维强度对标(行业×场景等),4 级色阶**只用强调色明度阶梯**;行列 ≤5×5,超了拆附录。
|
|
223
|
+
- 达成对比:实际 vs 目标,目标线标在条上,未达标行转中性色(**不用红绿**)。
|
|
224
|
+
- 金字塔:层级递进 3–5 层,自上而下逐层加宽,强调层 ≤1。
|
|
225
|
+
|
|
226
|
+
9. **拼贴页(`.g-bento`,`components.md` §46b)/ 交错图文页(`.stagger`)/ 键值对照(`.kv`)/ 素材图片族(`.media*`,`components.md` §11c)**
|
|
227
|
+
- 拼贴:一屏 4–7 个**不等大**单元(主卡跨 2 列/2 行),适合经营快照 / 能力矩阵;单格宜短(约 3 行);更长 → 拆格或跟进页,勿截断。
|
|
228
|
+
- 交错图文:3–4 组「图 ↔ 文」交替,一组只说一件事;比左右分栏更有节奏,但**组数 ≤4**(多了变流水账)。
|
|
229
|
+
- 键值对照:≤6 组,适合口径/参数/对照项的轻量表达,比表格省空间。
|
|
230
|
+
- 素材图片(`components.md` §11c):**六版式**按内容选——单张实拍/横幅用 `full`(3:1)|图文互证用 `half`(左图右注,注解 3–4 条)|章节情绪页用 `bleed`(21:9)|多张并列互证用 `grid`(2/3/4/6 张,4:3)|前后/方案对照用 `compare`(恰好 2 张 + A/B 角标)|客户生态用 `wall`(Logo 墙)。
|
|
231
|
+
- **一屏一视觉重心**:主图宽 ≥ 版心 55%,图与文顶边对齐;图注写清口径与版权(`.media__cap--below` + `.media__src`);**多图并列页不要连着两页堆**(属节奏页,用于章节过渡或证据页)。
|
|
232
|
+
- **没有素材图不要省略图,也不要塞无关图**:用配图占位(`.media--ph` + `image.placeholder`)把版式、比例、图注位置一次锁死,交付前替换 `src` 即可(`components.md` §11c-3)。占位必须带 `.media__ph` 标签(图标 + 配图占位 + 建议尺寸)。
|
|
233
|
+
- **数据图不要用截图**:折线/柱状/占比一律用内联 SVG 图表(`data-chart`),才能随主题变色并过图表登记校验。
|
|
234
|
+
|
|
235
|
+
### 混排规则
|
|
236
|
+
|
|
237
|
+
- **一屏只一个视觉重心**:要么图最大,要么数字最大,别让图、表、卡都一样大互相打架。
|
|
238
|
+
- **图要够大**:主图宽度不低于版心 55%,环形 ≥140px、柱/折线 ≥200px 高、雷达 ≥220px;**宁可减少图的数量,不要把图缩成一团**。
|
|
239
|
+
- **文随图走**:图的旁边/下方配 3–4 条列表,而不是大段文字。
|
|
240
|
+
- **对齐**:图与卡片的顶边对齐、左缘对齐;多图并排时等高。
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## 四-c、内容过多怎么办(溢出铁律 · 禁止静默截断)
|
|
245
|
+
|
|
246
|
+
> **用户硬原则**:Lots of text **must NOT** be deliberately compressed or deleted just to look like a sparse demo deck. 优先合理卡片、列表、分节、换形态、多页分解。
|
|
247
|
+
|
|
248
|
+
一页放不下时,按**此顺序**处理(高度预算见 `design-system.md` §1c;常量 `containers.overflowRule`):
|
|
249
|
+
|
|
250
|
+
1. **重构承载**:段落 → 列表 / 卡片 / 表 / 图 / 组合版式。**同一份信息换形态,不丢掉。**
|
|
251
|
+
2. **拆页 / 分章**:追加页、01a/01b、多部分章节;推荐序列 **议程 → 主张 → 证据卡 → 明细列表**(`recommend_layout` 高容量意图会建议多页)。拆页须信息完整(续表 / 附录 / `note` 交代)。
|
|
252
|
+
3. **换布局形态**:V1–V4、多列、卡栅格、`g-side` / `g-bento` / `rows-2/3`;单件改组合页(主件+从件+注释层,`playbook` §四)。
|
|
253
|
+
4. **有限 `fontShrink`**:仅在 1–3 步之后;最多 4 档;floor presentation/arch 10pt、research 9pt。
|
|
254
|
+
5. **禁止**:静默截断(省略号充数)/ 砍 so-what / 砍证据与口径列 / 为「看起来疏」删决策必需信息。**精简只允许删决策非必需项,且永不作为第一步。**
|
|
255
|
+
|
|
256
|
+
**禁止**:① **无限**缩字号硬塞;② 内容越出页面或归属容器被裁;③ 把"精简/压缩"当第一手段;④ **溢出却不拆页**(校验 `LAYOUT_QA_OVERFLOW_NO_SPLIT`)。
|
|
257
|
+
**单页字数预算**(`checkBudgets.char`)是预警与结构提示,**不是**「字多→删字」许可证;字多而结构合理(卡/列表)的 Mode A 页允许偏密。
|
|
258
|
+
|
|
259
|
+
> 反向情况——内容明显不足一屏且接近满屏观感更好时(Hero/Agenda/收尾章/大指标页),给该页加 `band--fit` 垂直居中,避免"上半页挤、下半页空"。
|
|
260
|
+
|
|
261
|
+
### Agenda 条目录入过多时
|
|
262
|
+
|
|
263
|
+
- ≤8 条:单列即可。
|
|
264
|
+
- 9–16 条:**改 2 列**(见 `components.md` Agenda 多列),或压缩 `agenda__a` 的 `padding`。
|
|
265
|
+
- >16 条:拆「上篇/下篇」两个 Agenda 区,或只列一级章节、二级折叠。
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 四-d、内容丰富度分级 → 版式与节奏
|
|
270
|
+
|
|
271
|
+
> **不同页的内容量不一样,版式就不能一样**。先给每页定密度档,再按档选版式——禁止"一个版式套全篇"。
|
|
272
|
+
> 密度档判断以**该页并列信息单元数**(卡片/指标/图/表列)为主,文字量与图表数为辅。
|
|
273
|
+
|
|
274
|
+
### 三档判定与对应版式
|
|
275
|
+
|
|
276
|
+
| 密度档 | 判定(presentation 基准) | research 基准 | 首选版式(密度从低到高) | 排版参数 |
|
|
277
|
+
|-------|--------------------------|--------------|--------------------------|----------|
|
|
278
|
+
| **L 轻**(单主张页) | 1–2 个单元;或一个核心数字/金句/结论 | 一个 Exhibit + 一行 so-what | kpi 大数页(`components.md` §41)/ 金句页(`components.md` §39)/ D 全幅图表(`components.md` §43)/ 环形图页(`components.md` §42)/ 金字塔(`components.md` §50) | 垂直居中(默认页高模型);字号走上限(h1/display);图表取大尺寸 |
|
|
279
|
+
| **M 中**(标准页) | 3–4 个单元 | 双栏论证 R1 / 半表半图 R7 / 对比页 | g-2 / g-hero / g-hero--rev / g-side / g-side--rev / g-31 / g-13 / g-41 / g-14 / comparison(`components.md` §40)/ 步骤条(`components.md` §47) | 标准字号与栅格 gap;主次分明(非对称栅格优先于均分 g-2) |
|
|
280
|
+
| **H 重**(密集页) | 5–6 个单元(research ≤12) | 三栏 R6 / 密表 R3 / 矩阵 R8 / 指标带 R4 / 热力矩阵 `components.md` §48 | g-3 / g-4 / g-5 / g-6 指标墙(`components.md` §45)/ 表格(`components.md` §7/8)/ R6 三栏 / heatmap(`components.md` §48)/ bullet(`components.md` §49) | 字号走下限但仍达标;贴顶(`.band--top`);单元数超上限先拆页 |
|
|
281
|
+
|
|
282
|
+
### 版式与密度匹配的硬规则
|
|
283
|
+
|
|
284
|
+
1. **轻页勿空、重页勿爆**:L 档页内容接近一屏即可(页高模型默认居中撑满);H 档页超预算按「四-c 先减后拆」处理,**禁止**用 L 档版式硬装 H 档内容(溢出)或用 H 档栅格装 L 档内容(半空卡)。
|
|
285
|
+
2. **非对称优先**:主次分明的 M 档内容(一图一解、一结论一证据)用 `g-side` / `g-31`(图/结论占大),而不是均分 `g-2`;镜像场景用 `g-side--rev` / `g-13`。
|
|
286
|
+
3. **页间节奏**:连续两页同为 H 档 → 中间插一个 L 档休止页(金句/大数/全幅图);research 每 3–4 页一个 R4 指标带页做呼吸(既有规则,与三档节奏一致)。
|
|
287
|
+
4. **模式叠加**:architecture 模式恒为"图为王"(L 档文字 + 高图形密度),本节三档只作用于文字与附属图注;research 的 H 档上限高于 presentation(见上表基准列)。
|
|
288
|
+
5. **选完版式回查**:对照 `components.md` §46 内容形态表核对页型映射,确保 HTML 版式与 PPTX 页型同源。
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## 四-e、细节保全(数据/细节密集页)
|
|
293
|
+
|
|
294
|
+
> 完整策略见 `outline-design.md` §二(承载工具选型矩阵 + 超限拆分流程 + 信息图三原则);本节是页内执行要点。
|
|
295
|
+
|
|
296
|
+
- **每条细节有去处**:决策必需 → 主页面;可查证 → 图注/来源行/附录;都不影响 → 删。**禁止砍列保版式**(口径列/时间列不许砍)。
|
|
297
|
+
- **承载形态升级优先于拆页**:文字列举 → 密表;表 → 图(矩阵→散点、清单→密表);多维对比 ≥3 对象 × ≥4 维必用表。
|
|
298
|
+
- **超限拆分**:表 >16 行 → 主表 Top N +「其余合并」行 + 文末附录全量表(同源同口径);指标 >6 → 指标墙 + 附录明细。
|
|
299
|
+
- **图注沉淀**:图中放不下的条件/例外/口径沉 `.fig__cap` / `.exhibit__src` / `.footnote`(≤1 行/处),不在图周围加大段文字。
|
|
300
|
+
- **数据标在图上**:关键数值标在数据本体旁(条末/点侧/环内),不强迫读者查图例换算;单位与口径写来源行。
|
|
301
|
+
- **自查反模式**:✗ 20 行表拆成 20 个卡片(不可比);✗ 表旁文字复述表内数字(文字只写表不能表达的:趋势/对比/含义);✗ 图做小、细节在长文(图是主角,文字是解读)。
|
|
302
|
+
|
|
303
|
+
## 四-f、表格语义字号 · 容器内边距 · 连续文本流
|
|
304
|
+
|
|
305
|
+
> 语义字阶定义见 `design-system.md` §1f(C0–T14);容器内边距常量见 `layout-constants.json` `containers`;本节是**写作与排版时的执行纪律**。
|
|
306
|
+
|
|
307
|
+
### 表格语义字号(按内容性质选层级,不是按"能不能塞下"选)
|
|
308
|
+
|
|
309
|
+
| 表格内容性质 | 允许层级 | 说明 |
|
|
310
|
+
|-------------|---------|------|
|
|
311
|
+
| 表格正文、行动项、风险项、解释句、建议句、长项目符号、完整短句 | **T7 或 T10**(`body`) | 句读型内容——必须可读,不得降级 |
|
|
312
|
+
| 轴标签、刻度、图例、单位、列短标签(≤4 字)、非句子型微标签 | **T11**(`micro`) | 仅限标签型,**禁止**用来放句子 |
|
|
313
|
+
| 表头 / 首行 | 与表格正文同级或高一档(`bold` 加粗表达层级,**不靠放大字号**) | 表头不得比正文小 |
|
|
314
|
+
|
|
315
|
+
**硬纪律**:
|
|
316
|
+
- **禁止**用缩小字号换取"表格装得下"——放不下按 §四-c 先减后拆(砍列前先精简文字 / 换承载形态 / 拆页)。
|
|
317
|
+
- **表格密度必须与内容匹配**:字号未低于下限但单元格大面积空洞、阅读重心塌陷、页面显空,同样判不合格(`validate_pptx.py` 的表格密度检查)。
|
|
318
|
+
- 数值列右对齐 + 等宽数字(`tabular-nums`);单位统一写在表头(如「金额(亿元)」),不在每个单元格重复。
|
|
319
|
+
|
|
320
|
+
**✗ micro 装句子(T11 放 26 字解释句,投影即不可读)**
|
|
321
|
+
> `<td class="t-micro">该指标受季节因素与促销节奏双重影响,环比波动属正常区间</td>`
|
|
322
|
+
|
|
323
|
+
**✓ 语义分级**:解释句用 `body`(T7/T10);`micro` 只放「QoQ」「亿元」这类 ≤4 字标签。放不下按 §四-c 先精简再拆页,不降字号。
|
|
324
|
+
|
|
325
|
+
### 容器内边距(文字溢出按"归属容器"判定)
|
|
326
|
+
|
|
327
|
+
- **判定单位是容器,不是页面**:文字 / 关键数字 / 项目符号 / 图表标签 / 来源说明不得越过**归属容器**边界(卡片 / 面板 / 图表区 / 单元格 / 结论条 / so-what / 标题区 / 页脚区 / KPI 框)——**即使没有超出页面画布,只要越过归属容器即失败**。
|
|
328
|
+
- 每个容器必须保留**可见内边距**(下限见 `layout-constants.json` `containers.pad`;`minPad` 为绝对下限)。
|
|
329
|
+
- 溢出处置:① 列表化/精炼 ② 调整容器尺寸 → 收窄行宽 → 换行 → 分区 → 拆页 ③ **有限缩字号**(`fontShrink`)。禁止无限缩字号替代结构重排。
|
|
330
|
+
- 卡片内边距 ≥ 组间距;标题与其正文的间距 **小于** 组与组之间的间距(CRAP 的 Proximity)。
|
|
331
|
+
|
|
332
|
+
### 连续文本流(不要为高亮而拆文本框)
|
|
333
|
+
|
|
334
|
+
- **语义连续的一句话 / so-what 主句 / 结论句 / 表格单元格正文不得拆成多个独立文本框**——会产生异常空格、断句、基线漂移、位置错位。
|
|
335
|
+
- 需要局部加粗/变色高亮时,用**同一文本框内的富文本**(HTML 用 `<strong>`;PPTX 用同一 `addText` 的多 run),不得另起一个文本框。
|
|
336
|
+
- 数字 + 单位 + 括号注释属于同一语义单元,不得拆开排版。
|
|
337
|
+
|
|
338
|
+
### 跨页叙事节奏
|
|
339
|
+
|
|
340
|
+
单页合格 ≠ 全篇好看。规划完成后按 `outline-design.md` §一-续 回查:密度交替(禁连续 3 页同密度)、章节色彩递进、首尾呼应、渐进揭示、两个视觉重心禁令。
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## 五、引用:外部数据必标 `[n]`
|
|
345
|
+
|
|
346
|
+
1. **外部数据、行业预测、他人研究** → 数值后加 `[n]` 上标。
|
|
347
|
+
2. **内部实测** → 标来源与日期,**不加** `[n]`。
|
|
348
|
+
3. **推算 / 待确认** → 显式标注口径,或用 `xx` 占位。
|
|
349
|
+
4. 文末必须有 **「参考资料」**,逐条列来源 + 时间 + 口径;引用↔条目**双向对齐**。
|
|
350
|
+
5. **来源带链接的保留链接效果** —— 外部 URL 或可追溯的内部文档,来源名做成可点击链接 `<a class="ref-link" href="…" target="_blank" rel="noopener">`,新窗口打开;无链接来源保持纯文本。
|
|
351
|
+
|
|
352
|
+
**✗ 无效引用三连**:① 正文 `[3]` 但文末只有 2 条(编号错配,校验 FAIL);② 条目只写「某行业报告」(无时间无口径,不可追溯);③ 内部实测也挂 `[n]`(应标「内部实测 · 2026-08」)。
|
|
353
|
+
|
|
354
|
+
上标样式与参考资料章节代码见 `components.md`;`.ref-link` 样式见 `design-system.md`。
|
|
355
|
+
|
|
356
|
+
### `.ref-link` 用法
|
|
357
|
+
|
|
358
|
+
```html
|
|
359
|
+
<td><a class="ref-link" href="https://example.com/report" target="_blank" rel="noopener">
|
|
360
|
+
来源名称
|
|
361
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
|
362
|
+
stroke-linecap="round" stroke-linejoin="round">
|
|
363
|
+
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/>
|
|
364
|
+
<path d="M15 3h6v6M10 14 21 3"/></svg></a></td>
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
外链用完整 `https://…`;同目录内部文档用相对路径(如 `2026-08-26-….html`)。
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## 五-b、待核实标注:需要用户二次修改的内容用强调色标出来
|
|
372
|
+
|
|
373
|
+
> **原则:标色 = 行动项。** 凡是**你无法核实、需要用户确认或替换**的内容,必须用强调色标出来——否则用户会默认它是已核实的结论,带着错误数字交付出去。
|
|
374
|
+
|
|
375
|
+
### 什么时候标(三类)
|
|
376
|
+
|
|
377
|
+
| 类型 | 例子 | 标注 |
|
|
378
|
+
|------|------|------|
|
|
379
|
+
| **无法核实的数字** | 外部预测值、口径未定的百分比、估算量 | `<span class="tbd">xx%</span>` 或 `<span class="tbd">约 1,200</span>` |
|
|
380
|
+
| **待确认的判断** | 成熟度评级、时间窗、"领先/落后"结论 | `<span class="tbd">早期验证</span>` |
|
|
381
|
+
| **待替换的占位** | 品牌名、项目代号、未定稿的排期 | `<span class="tbd">待定</span>` |
|
|
382
|
+
|
|
383
|
+
### 三种载体(由轻到重)
|
|
384
|
+
|
|
385
|
+
1. **`.tbd` 内联** —— 标在数字/短句本体上(accent 色 + 虚线底)。
|
|
386
|
+
2. **`.tbd-legend` 页级图例** —— 页脚上方一行:"标色项为待核实/待补充数据,交付前请二次确认。"
|
|
387
|
+
3. **`.flagbar` 块级清单** —— 逐条列明待核实项(数据页/收尾页收口);**一页内联标色 ≥3 处时优先用清单**。
|
|
388
|
+
|
|
389
|
+
### 硬纪律
|
|
390
|
+
|
|
391
|
+
- **标色项所在页必须有 `.tbd-legend` 或 `.flagbar`**(校验器检查)——只标色不解释,用户不知道为何标色。
|
|
392
|
+
- 单页 `.tbd` ≤ 12 处;过密说明这页数据整体不可信,应改为**待核实清单页**或先补数据。
|
|
393
|
+
- **不要把普通数字也标色**——标色贬值后用户会忽略真正的风险项。
|
|
394
|
+
- **不引入第二色相**:标色只用 `--accent` 系(`.tbd` / `.flagbar`),**不要**用红/橙等警示色(铁律 2)。
|
|
395
|
+
- PPTX 同源:模型 `section.flags: ["…"]` 导出为 accent 强调色清单条,并写入演讲者备注。
|
|
396
|
+
|
|
397
|
+
**✗ 只标色不解释(校验 FAIL)**:页内 3 处 `<span class="tbd">xx%</span>`,但全页无 `.tbd-legend` 也无 `.flagbar`——用户不知道哪些数字能信。
|
|
398
|
+
**✓ 收口**:≤2 处 → 页脚加 `.tbd-legend` 一行;≥3 处 → 改 `.flagbar` 逐条清单(哪项、等谁确认、何时替换)。
|
|
399
|
+
|
|
400
|
+
> 与 `.cite [n]` 的分工:`[n]` 是"有出处的外部数据"(可追溯);`.tbd` 是"还没出处的待核实项"(待补)。**能查到出处的走 `[n]`,查不到才标 `.tbd`**。
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
## 六、章节骨架
|
|
405
|
+
|
|
406
|
+
每章固定四件套:
|
|
407
|
+
|
|
408
|
+
```
|
|
409
|
+
[eyebrow 小标] 0X · 关键词
|
|
410
|
+
[主标题] 一句主张/行动句(≤ 20 字;禁纯话题标签)
|
|
411
|
+
[导语] ≤ 2 行,说明本章回答什么问题
|
|
412
|
+
[主体] 图 / 表 / 列表
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
结尾章:**下一步 3 条**(列表)+ 参考资料。
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
## 六-b、Mode A 主张 / 行动标题(action title)
|
|
419
|
+
|
|
420
|
+
> 仅 `data-mode="presentation"`。与 research「结论句 ≥12 字」同向,但演示可更短口语——**仍须是主张,不是话题**。
|
|
421
|
+
|
|
422
|
+
- ✗ 话题标签:「现状分析」「市场格局」「风险与挑战」「项目概述」「总结」
|
|
423
|
+
- ✓ 主张/行动句:「试点卡在治理——规模化分水岭已现」「Q3 增速转正,渠道贡献六成」「先守利润,再谈扩张」
|
|
424
|
+
- 一页标题 = 一页最重要的那个判断;写不出主张 → 先想清楚再排版。
|
|
425
|
+
- 校验:`validate_report` 对纯话题标题 **WARN**(硬 FAIL 过脆);正式交付宜清零。
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
## 七、交付前自查(内容侧)
|
|
431
|
+
|
|
432
|
+
- [ ] 卡片里出现大段连续文字 → **转列表 / 拆卡**(勿删义凑疏朗)
|
|
433
|
+
- [ ] 一句话过长难念 → 断句或分条(勿截断加「…」)
|
|
434
|
+
- [ ] 外部数字没有 `[n]` → 补标记
|
|
435
|
+
- [ ] 占比数据只用文字 → 改环形图/条
|
|
436
|
+
- [ ] 同一屏 3 个以上主张 → 拆屏(证据可留作次要卡或跟进页)
|
|
437
|
+
- [ ] Mode A 标题是话题词(「现状分析」等)→ 改主张/行动句
|
|
438
|
+
- [ ] 出现"赋能/彰显/格局/不仅…而且/大幅提升" → 替换
|
|
439
|
+
- [ ] 结尾是"未来可期"式空话 → 换具体下一步
|
|
440
|
+
- [ ] 半空卡 **或** 塞爆一屏 → 调结构(两者都不合格);禁止靠删证据「变空」
|
|
441
|
+
- [ ] 条目/结论被静默截断或 so-what 失踪 → 按 §四-c 重排/拆页,恢复实质
|
|
442
|
+
- [ ] 页高溢出却未拆页/未换形态 → FAIL 级缺陷,先结构后字号
|
|
443
|
+
- [ ] 图表小于尺寸下限(环形 <140px / 柱折线 <200px 高)→ 放大或减图
|
|
444
|
+
- [ ] 接近满屏的页(Hero/Agenda/收尾)没加 `band--fit` → 补上垂直居中
|
|
445
|
+
- [ ] 图表 svg 没有 `data-chart` 类型标记 → 补上(校验脚本要用)
|
|
446
|
+
- [ ] 图表颜色写死色值 → 改 `.f-acc`;多系列 → `.f-c1~c5`
|
|
447
|
+
- [ ] 强调色块上文字写死 `#fff` → 改 `.t-on-inv`
|
|
448
|
+
- [ ] 要点卡全是光秃文字 → 给卡头补图标(`.card__ico`);关键列表 → `.ul--ico`
|
|
449
|
+
- [ ] 一屏图标 >8 个 → 减到只保留路标性图标
|
|
450
|
+
- [ ] 内容约六七成屏的页悬空居中 → 改 `band--top`;长结构页(参考资料/附录)→ 加 `band--flow`
|
|
451
|
+
- [ ] 混排栅格(图+卡/图+文)没写对齐 → 加 `a-start` 或 `a-c`
|
|
452
|
+
- [ ] 某页内容超一屏(「页高溢出估算」FAIL)→ 按四-c:**重构→拆页→换形态→有限 fontShrink**;禁静默截断
|
|
453
|
+
- [ ] 图表 `data-chart` 类型未在 `layout-constants.json` `charts.types` 登记 → 补登记并配 `minSize`
|
|
454
|
+
- [ ] 热力矩阵/达成对比用了第二色相(红绿)→ 改回强调色明度阶梯(`--1/--2/--3` + 中性)
|
|
455
|
+
- [ ] **无法核实/待确认的数字与判断没用 `.tbd` 标色** → 标出来,并加 `.tbd-legend` 或 `.flagbar` 说明
|
|
456
|
+
- [ ] 只标色没说明(无 `.tbd-legend`/`.flagbar`)→ 补一句"标色项待核实"
|
|
457
|
+
- [ ] 普通数字也标了色 → 去掉(标色只留给真正需要用户确认的项)
|
|
458
|
+
- [ ] 收尾/金句页用了 `band--deep` → 浅色模式下会变深色页,改用 `band--accent` / `band--accent--solid`
|
|
459
|
+
- [ ] 有素材图片但用截图当数据图 → 改内联 SVG 图表(可随主题变色);图片源用了外链 → 转 data URI 内联
|
|
460
|
+
- [ ] 图片没有比例类(`.media--r16-9` 等)或没有图注/alt → 补上(否则版面会被图撑歪)
|
|
461
|
+
- [ ] 图片比例与 `imageSpec.ratioCssClass` 不一致(如 `full` 版式没挂 `.media--r3-1`)→ 按版式补齐(HTML 与 PPTX 才会同比例)
|
|
462
|
+
- [ ] 多图页用了单图版式 → 改 `image.items` + `.media-grid/.media-compare/.media-wall`(单页 ≤6 张,`compare` 恰好 2 张)
|
|
463
|
+
- [ ] 没有素材图却省略了配图位 → 改 `image.placeholder` + `.media--ph`(版式/比例/图注先锁死)
|
|
464
|
+
- [ ] 占位框里没有标签(缺 `.media__ph`)→ 补图标 + 「配图占位」+ 建议尺寸
|
|
465
|
+
- [ ] 图片体积过大(单图 >1.5MB / 全篇 >8MB)→ `prepare_images.py --mode path` 改相对路径
|
|
466
|
+
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
## 八、research 模式内容规则(咨询论证 · 证据链)
|
|
470
|
+
|
|
471
|
+
> 以下规则仅 `data-mode="research"` 生效;与上文演讲规则冲突时,以本节为准。
|
|
472
|
+
|
|
473
|
+
### 8-1、论证结构(每页三段式)
|
|
474
|
+
|
|
475
|
+
1. **发现(Finding)**:直接陈述数据与事实,≤200 字/段;数字前置("入湖表 68% 从未被查询")。
|
|
476
|
+
2. **证据(Evidence)**:Exhibit 图表框 / 密表 / 指标带;外部数据必带 `[n]`;每个 Exhibit 必有来源行。
|
|
477
|
+
3. **含义(So what)**:`.sowhat` 一行(≤60 字)——"这意味着…/因此建议…";写不出 so-what 说明这页论证不完整。
|
|
478
|
+
|
|
479
|
+
### 8-2、行动标题写法
|
|
480
|
+
|
|
481
|
+
- ✗ 主题词式:"现状分析" "市场格局" "风险与挑战"
|
|
482
|
+
- ✓ 结论式:"入湖表 68% 从未被查询——资产沉睡是第一问题"(≥12 字,含具体数字或判断)
|
|
483
|
+
- 一页标题 = 一页最重要的那个结论;标题改好了,这页才算立住。
|
|
484
|
+
|
|
485
|
+
### 8-3、Exhibit 纪律
|
|
486
|
+
|
|
487
|
+
- 全篇连续编号(Exhibit 1..N),不跳号、不重复、不缺号(校验器检查)。
|
|
488
|
+
- 每页最多 1 个 Exhibit;`exhibit__t` 用结论式标题;`exhibit__src` 必写来源+时间+口径。
|
|
489
|
+
- 文内引用:"如 Exhibit 3 所示",不写"如下图"(翻页后"下图"指代失效)。
|
|
490
|
+
|
|
491
|
+
### 8-4、密度与版式
|
|
492
|
+
|
|
493
|
+
- 版式只从锁定版式 R1–R8 挑(见 `components.md` §36d–36f),不临场发明结构。
|
|
494
|
+
- 单页文字 ≤3200 字;卡片列表 ≤5 条;表格 ≤16 行(密表);每 3–4 页一个 R4 指标带页做节奏休止。
|
|
495
|
+
- 双栏/三栏正文段落 ≤200 字/段;允许长论述(这是 research 的本职),但仍禁大段 AI 腔(第二节照常适用)。
|
|
496
|
+
- R6 三栏每栏 ≤150 字;R7 表图互证、表 ≤8 行小表;R8 矩阵 ≤3×3。
|
|
497
|
+
|
|
498
|
+
### 8-5、引用与来源行(克制条款)
|
|
499
|
+
|
|
500
|
+
- 页内关键数据 `[n]` 上标;**Exhibit 页来源行走组件自带 `.exhibit__src`**(不重复加)。
|
|
501
|
+
- 独立 `.footnote` 只在页内有关键外部数据且无 Exhibit 时才加——**不逐页加脚注**,不加多余页头角标/页脚信息行。
|
|
502
|
+
- 文末「参考资料」与 Exhibit 来源行、页内 `[n]` 三方对齐;同一来源多篇页可复用编号。
|
|
503
|
+
|
|
504
|
+
### 8-6、architecture 模式文字极简规则(模式 C)
|
|
505
|
+
|
|
506
|
+
- 每页文字只允许:eyebrow + 行动标题(≤20 字)+ 图注(1–2 行)+ 节点短标签(≤8 字)。
|
|
507
|
+
- 长说明全部转图注或拆到 research 模式报告;图为王,文字退到图注级。
|
|
508
|
+
- 内容页 ≤4 时**省略 Agenda**(封面后直接进图);≥5 内容页建议补。
|
|
509
|
+
- 架构模式不要求图标(图标服务于叙述页,图为主角时不加噪音)。
|
|
510
|
+
|