@topmindspace/tms-skills 0.3.1 → 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 (66) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/README.en.md +6 -76
  3. package/README.md +7 -75
  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 +4 -17
  31. package/topmind-cover/README.md +5 -18
  32. package/topmind-cover/SKILL.md +28 -35
  33. package/topmind-cover/assets/examples/README.md +15 -26
  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 +275 -249
  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 +117 -41
  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
package/CHANGELOG.md CHANGED
@@ -1,3 +1,162 @@
1
+ ## [0.3.5] - 2026-09-29
2
+
3
+ > **本版备发中**(未 push、未打 tag、npm 无此版本)。
4
+ > 根包 0.3.4 → **0.3.5**(patch);4 个技能 `version` 保持不动(top-ppt-html 0.1.19,其余 0.1.0)。
5
+ > 注:0.3.2、0.3.3、0.3.4 均未发布,全部内容已并入本版。
6
+
7
+ ### 性能实测与优化(第七轮 Worker 4)
8
+
9
+ - **实测基线**(中等规模真实输入):`md2x.py` 300KB/8814 行 0.33s;`md2wechat.py` 218KB/3219 行/
10
+ 80 图 0.42s(`--embed-images` 0.47s);`crop-cover.py` 4000×2250 主图 1.79s;
11
+ 安装器 `install`/`list` 均 <0.5s(含 7.9MB 的 top-ppt-html)。
12
+ - **修 5 处 low-hanging fruit**(输出逐字节一致,已 diff 验证,无行为改动):
13
+ - `md2wechat.py audit_inline()`:8 次全正文 `re.search` 合并为一次预编译单遍扫描
14
+ (原为大正文耗时的 ~47%,cProfile 实测);
15
+ - `md2wechat.py render_inline()`:10 个行内模式预编译到模块级
16
+ (原每行 10 次 `re` 字符串模式缓存查找,666k 行调用时 667 万次);
17
+ - `md2wechat.py highlight()`:语言联合正则按语言缓存(原每代码块重编译一次);
18
+ - `md2wechat.py link_repl()`:脚注 url→序号改字典索引(原每链接两次全表扫描,O(n²)→O(n));
19
+ - `md2x.py _inline()`:同理预编译全部行内模式。
20
+ - **实测提升**(交错对比,user CPU 时间):md2wechat 11MB 输入 13.8s → 10.0s(-27%);
21
+ md2x 49MB 输入 62.5s → 42.2s(-32%);300KB 输入 md2x 0.33s → 0.29s。
22
+ crop-cover(PIL 解码/resize 主导)与安装器(node 启动 + 文件拷贝主导)无冗余工作,未改动。
23
+
24
+ ### 可靠性矩阵(第七轮 Worker 4:三个技能 + 安装器)
25
+
26
+ - **修 2 个明确 bug**:
27
+ - `md2x.py` / `md2wechat.py` 非法 UTF-8 输入原抛 `UnicodeDecodeError` Traceback,
28
+ 现干净报错(非零退出、无 Traceback);读取期 `OSError`(如权限不足)同理。
29
+ - `md2wechat.py` 交付物写入改原子写(临时文件 + `os.replace`):磁盘满等中途失败时
30
+ 不再留下半截 HTML/清单(实测大文件写盘失败曾留下截断 HTML)。
31
+ - 矩阵其余项全部干净(非零退出、无 Traceback、无半截输出):空文件、49MB 超大文件、
32
+ 特殊字符文件名(空格/引号/中文)、图片缺失(含 `--embed-images` 的"未内嵌"提示)、
33
+ 非图片/0 字节/缺失输入、缺 Pillow 干净提示、非法 skill id、装进技能源目录树被拒、
34
+ 未知命令/缺参数。
35
+ - 安装器经确认零网络调用(纯 `fs`/`path`),本地安装天然离线可用;断网仅影响
36
+ `npx github:` 拉取,属 npm 侧报错,非本仓库代码路径。
37
+
38
+ ### 发版准备 0.3.5
39
+
40
+ - 根 `package.json` 0.3.4 → **0.3.5**;9 处版本引用同步(根 README 中英钉版本示例、
41
+ `docs/PUBLISHING.md` 当前线与版本策略、6 份技能 README 的"同 tag"行);4 技能各自
42
+ `version` 不动。
43
+ - 待办:`top-ppt-html/README{,.en}.md` 的 3 处 `@0.3.4` 引用由其审核 worker 同步
44
+ (本轮未动 `top-ppt-html/` 目录)。
45
+
46
+ ### 全门禁(第七轮 Worker 4,改完后跑)
47
+
48
+ - `ci_privacy_scan.py` PASS(200 文件);`sync_npm_files.js --check` PASS;
49
+ `ci_skill_gates.sh --with-pptx` 全绿;4 技能 `negative_tests.py` 全部通过;
50
+ `run_skill_gates.js versions` PASS;`test_install_guards.js` 全部通过。
51
+
52
+ ## [0.3.4] - 2026-09-29
53
+
54
+ > **本版备发中**(未 push、未打 tag、npm 无此版本)。
55
+ > 根包 0.3.3 → **0.3.4**(patch);4 个技能 `version` 保持不动(top-ppt-html 0.1.19,其余 0.1.0)。
56
+ > 注:0.3.2、0.3.3 均未发布,全部内容已并入本版。
57
+
58
+ ### top-ppt-html:全面审查 + 必要优化(第六轮)
59
+
60
+ - **渲染管线实跑**:虚构测试稿走完 render → hydrate_charts → data URI 内联 → validate --strict
61
+ (95 PASS / 0 WARN / 0 FAIL);故意注入 3 类缺陷(超大图片、布局溢出、空 alt)全部被抓;
62
+ PPTX 11 slides 实跑,16:9、微软雅黑、中文原生文本、原生图表,strict 0 error / 0 warning;
63
+ ELEMENT_OVERLAP / LAYOUT_FILL 门禁经真实 PPTX 注入验证有效。
64
+ - **build_pptx.js 修 6 处**:KPI 竖分隔线越过注释带、KPI/donut/image 页 `sec.points` 被丢弃、
65
+ image 页图片底边越过注释带、cards 要点无脑 shrink 被 TEXT_OVERFLOW 抓、
66
+ points 纯字符串/`{t,d}` 形态渲染为空或 `[object Object]`。
67
+ - **hydrate_charts.py**:空 labels/values、非数字 values、长度不一致原抛 Traceback,
68
+ 现干净报错(`ChartDataError`,带 section 定位),禁静默截断。
69
+ - **validate_report.py 修 2 处**:`alt=""` 视同缺失;图片体积按 data URI **解码后字节数**计量
70
+ (原按标签字符串长度,属 bug;级别保持 WARN,strict 已拦截)。
71
+ - **SKILL.md/文档**:修 `(=?)` 编辑残留;README(中英)补 3 分钟最小示例;
72
+ 修 13 处死引用(错乱脚本路径、`docs/archive/…` 改 `../docs/archive/…` 等);
73
+ 9 风格抽 3 套(品牌红/靛紫/光谱彩色)实跑渲染全部成功。
74
+ - 零用户可见行为改动。遗留候选:render_from_model 不同步 style/theme(需产品决策)、
75
+ 超长中文图表标签不截断、图片超限 WARN 不升级 FAIL、代码块页型缺失。
76
+
77
+ ### 全仓横扫(第六轮)
78
+
79
+ - **修真 bug**:第五轮重写 `topmind-cover/references/cover-styles.md` 时把截断输出写进文件
80
+ (ip-fun 尾部丢失、news-flash/minimal/magazine 三节整节丢失),已按审计文档+样张实物补齐。
81
+ - **docs/PUBLISHING.md**:补 HTTPS+PAT 推送方式(SSH 隧道被代理墙掐断后的实际走法;
82
+ GitHub git 接口不认 Bearer 只认 Basic)、tag↔package.json 校验、NPM_TOKEN/E409 加固的文档记载。
83
+ - 三个新技能 README(中英)补版本号行;根 README.en 示例图体积与实测对齐(~8.9MB)。
84
+ - 四技能 description 触发边界复核:互不重叠、无真空("X 长文封面"良性重叠已写清委托关系)。
85
+ - 隐私扫描 PASS(199 文件);安装器四技能回归全过。
86
+
87
+ ## [0.3.3] - 2026-09-29
88
+
89
+ > **本版未发布**(备发中:未 push、未打 tag、npm 无此版本)。
90
+ > 根包 0.3.2 → **0.3.3**(patch);4 个技能 `version` 保持不动(top-ppt-html 0.1.19,其余 0.1.0)。
91
+ > 注:0.3.2 未发布,已并入本版。
92
+
93
+ ### topmind-cover:6 张样张版式级重设计(差异化纠偏)
94
+
95
+ - 用户指出第四轮样张仍是"翻版"(版式结构照搬 7 张参考封面,只换文案形象)。
96
+ 本轮按**版式级标准**重做:只保留抽象原则(标题是视觉重心/信息分层/留白呼吸感),
97
+ 6 张重设计(gan-huo 居中构图+深炭灰暖橙、big-type 单行超大书法字+奶油亮底、
98
+ brand-launch 深海军蓝+荧光绿、tutorial-steps 横向时间线+墨色题字、
99
+ ip-fun 数字改右下角印章+橙黄暖色、news-flash 纯黑单色+纸纹+俯视静物大改),
100
+ 2 张保留微调(minimal「慢思考」、magazine「创造者访谈」)。
101
+ - 8 张主配色互不相同,且不与 7 张参考图主配色(浅蓝/黑红/粉紫/红白/蓝白)撞车;
102
+ 每张过双重目检(中文正确性 + 路人测试:描述画面后追问"像哪张参考图",答不出才算过)。
103
+ - `references/cover-styles.md`:设计语言收紧为抽象原则,删除"左文右图""底部标签条"等
104
+ 具体版式描述;**原创铁律升级**:版式与配色也不得与第三方封面构成实质相似,
105
+ 只学原则不学版式。
106
+
107
+ ### topmind-wechat-post / topmind-x-article:第二轮深审(质量)
108
+
109
+ - wechat-post:修 5 处文档与实现/规范打架(`---` 渲染文档落后于实现、主题表 genre 漏项、
110
+ 最小示例缺放图前置步骤、`--link-mode note` 档无文档、加粗密度两份规范打架按 lint 对齐);
111
+ 零行为改动。遗留 3 个需改行为候选:缺图是否进合规自检、border-radius WARN 去噪、
112
+ h2 序号剥离残留标点。
113
+ - x-article:文档×脚本 14/14 规则实测一致;补 x-format.md 4 处"脚本有行为、文档没写"缺口;
114
+ SKILL.md 触发词补 `X 发长文`/`推特长文`/`twitter 长文`;README.en 表格标点精确化;
115
+ 零行为改动。遗留 4 个行为变化候选:无前导 `|` 表格、`~~~` 围栏、标题 140 字符检查
116
+ (超长分段经评估不需要)。
117
+
118
+ ## [0.3.2] - 2026-09-29
119
+
120
+ > **本版未发布**(未打 tag、未发 npm),全部内容已并入 0.3.3。以下为当时记录:
121
+
122
+ > 根包 0.3.1 → **0.3.2**(patch);4 个技能 `version` 保持不动(top-ppt-html 0.1.19,其余 0.1.0)。
123
+ > 整仓同 tag 发版,技能 `version` 独立演进(见 docs/PUBLISHING.md)。
124
+
125
+ ### topmind-cover:样张原创重制(纠偏)
126
+
127
+ - 上一版 16 张样张被指出"照搬参考封面"(文案与形象临摹第三方爆款图),本轮推倒重做:
128
+ 设计语言保留(巨型标题字/数字彩色突出/三层文字结构/中央 60% 安全区),
129
+ **8 种风格全部换上原创标题与视觉**:"7天玩转提示词"(纸飞机机器人)、"AI效率手册"
130
+ (抽象光影几何)、"星尘 OS 3.0"(虚构品牌发布)、"从想法到产品"(步骤卡片)、
131
+ "30天AI绘画挑战"(狐狸画家 IP)、"AI早报!"(报纸咖啡)、"慢思考"(银杏留白)、
132
+ "创造者访谈"(杂志肖像)。
133
+ - `assets/examples/` 16 张(8 主图 + 8 公众号裁剪版)+ `overview.png` 全部重拼重检:
134
+ 中文逐字正确、无乱码、与参考图不构成临摹;`README.md` 声明样张为原创设计、
135
+ 标题/数字/品牌均为虚构演示。
136
+ - `references/cover-styles.md` 新增**原创铁律**:prompt 配方是设计语言,
137
+ 禁止照抄任何第三方封面的文案与形象;8 风格示例小节同步换为本轮原创标题。
138
+
139
+ ### topmind-wechat-post:全面优化 + 4 处修复
140
+
141
+ - `scripts/md2wechat.py` 修复:**行内图片绕过图片管线**(现统一经管线解析、复制到
142
+ `images/`、登记上传清单、可被 `--embed-images` 内嵌);分隔线不再触发自家合规
143
+ WARN(改用块级 `<section>` 居中,视觉一致);标题手写序号剥离支持大写数字
144
+ (壹贰叁肆伍陆柒捌玖拾);图片 `title` 属性(`![a](x "t")`)不再导致整段源码泄漏。
145
+ - SKILL.md:主题表"适用"列与各主题 JSON 的 `genre` 声明对齐;补行内图片走图片管线
146
+ 说明;补 `--link-mode` 参数说明(默认脚注上标 / `inline` 括号注)。
147
+ - README(中/英):新增 9 行"最小示例"(输入→输出片段)+ `md2wechat` 参数表。
148
+ - `negative_tests.py` 5→8 项,全过。
149
+
150
+ ### topmind-x-article:全面优化 + 12 处转换 bug 修复
151
+
152
+ - `scripts/md2x.py` 修复 12 处:标题/引用/表格内行内标记残留、引用式链接与图片
153
+ (`[文字][ref]`/`![alt][img]` 及定义行)、URL 含括号断裂、`\` 转义符残留、
154
+ Setext 标题残留、带空格分割线(`* * *`)不识别、代码块内 `---` 误判分割线、
155
+ 文首 `---` 被 frontmatter 误吞、BOM 头、文档以代码块开头时首行缩进丢失。
156
+ - SKILL.md:description 补 `Do NOT use for 公众号(→ topmind-wechat-post)`,与短推文
157
+ 路由对称;`references/x-format.md` 转换规则表与脚本行为对齐。
158
+ - README(中/英):转换规则更新 + 新增 10 行"最小示例"(输出经实测逐字一致)。
159
+
1
160
  ## [0.3.1] - 2026-09-29
2
161
 
3
162
  > 根包 0.3.0 → **0.3.1**(patch);4 个技能 `version` 保持不动(top-ppt-html 0.1.19,其余 0.1.0)。
package/README.en.md CHANGED
@@ -19,6 +19,8 @@ Built for **demo reports / formal business decks**: **HTML + PPT dual delivery**
19
19
  npx @topmindspace/tms-skills install top-ppt-html
20
20
  ```
21
21
 
22
+ Live: [landing](https://topmindspace.github.io/tms-skills/) · [full deck](https://topmindspace.github.io/tms-skills/showcase.html) · [style gallery](https://topmindspace.github.io/tms-skills/style-gallery.html); golden examples in [`top-ppt-html/assets/examples/`](./top-ppt-html/assets/examples/).
23
+
22
24
  ### topmind-wechat-post · WeChat article authoring
23
25
 
24
26
  Full lifecycle for WeChat articles: delivery package, review & rewrite, three quality gates (facts / logic / de-AI-flavor), WeChat inline typography (images must be embedded), publish checklist and status sync. Python stdlib only — zero dependencies.
@@ -37,29 +39,16 @@ npx @topmindspace/tms-skills install topmind-x-article
37
39
 
38
40
  ### topmind-cover · Cover art generation
39
41
 
40
- Shared cover art for X long-form and WeChat: striking, eye-catching, theme-focused. Built-in **8-style cover style library** (viral dry-goods / giant-type manifesto / brand launch / tutorial steps / fun IP / news flash / minimalist / editorial magazine — each with use cases, hex palettes, font suggestions, Chinese+English prompt recipes) + **17 dual-size example images** (`assets/examples/`, shipped with the package): **pick a style → check the example → compose the prompt from the recipe**, then one-click crop to both platform sizes with `crop-cover.py` (X 1200×675, WeChat 900×383).
42
+ Shared cover art for X long-form and WeChat: striking, eye-catching, theme-focused. **Pick a style → check the example → compose the prompt from the recipe**, then one-click crop to both platform sizes with `crop-cover.py` (X 1200×675, WeChat 900×383). 8-style index and recipes: [`references/cover-styles.md`](./topmind-cover/references/cover-styles.md).
41
43
 
42
44
  ```bash
43
45
  npx @topmindspace/tms-skills install topmind-cover
44
46
  ```
45
47
 
46
- **Style gallery** (8-style overview; full-size per-style shots in `topmind-cover/assets/examples/<style>.png`, recipes in [`references/cover-styles.md`](./topmind-cover/references/cover-styles.md)):
47
-
48
48
  <p align="center">
49
49
  <img src="https://github.com/topmindspace/tms-skills/raw/main/topmind-cover/assets/examples/overview.png" alt="topmind-cover · 8 cover-style overview" width="960" />
50
50
  </p>
51
51
 
52
- | Style | Best for |
53
- |-------|----------|
54
- | Viral dry-goods `gan-huo` | Tested picks, reviews, roundups; default for first-person "I tried it all for you" posts |
55
- | Giant-type manifesto `big-type` | Opinion pieces, deep essays, launch manifestos; default for one-sentence-stance pieces |
56
- | Brand launch `brand-launch` | Product launches, version updates, official best practices / whitepapers; first choice when a brand is the subject |
57
- | Tutorial steps `tutorial-steps` | Tutorials, onboarding guides, step-by-step walkthroughs, beginner-proof recipes |
58
- | Fun IP `ip-fun` | Case studies, data recaps, retrospectives, series (part 1 / part 2) |
59
- | News flash `news-flash` | News, flashes, hot-topic explainers, interview teasers, "myth-busting" angles |
60
- | Minimal `minimal` | Essays, book reviews, light takes, lifestyle musings; WeChat "light reading" pieces |
61
- | Editorial magazine `magazine` | In-depth interviews, profiles, business analysis, year-in-review; when "craft / trust" matters |
62
-
63
52
  > Let ideas fly — make good thinking visible.
64
53
 
65
54
  <p align="center">
@@ -68,49 +57,6 @@ npx @topmindspace/tms-skills install topmind-cover
68
57
 
69
58
  > **Warning**: do not install `@topmindspace/tms-skills@^2` (2.0.0–2.1.1 deprecated). Current line is **0.2.x** (`latest`).
70
59
 
71
- ## Craft at a glance
72
-
73
- ### Theme overview (Gate 0)
74
-
75
- <p align="center">
76
- <img src="top-ppt-html/assets/theme-overview.png" alt="Presentation mode · business-blue theme overview" width="900" /><br/>
77
- <sub>Presentation · business-blue (default) · also <a href="./top-ppt-html/assets/style-gallery.html">style-gallery</a> · <a href="./top-ppt-html/assets/theme-overview-research.png">research overview</a> · <a href="./top-ppt-html/assets/theme-overview-architecture.png">architecture overview</a></sub>
78
- </p>
79
-
80
- ### Style covers
81
-
82
- | Presentation · business-blue | Research · mckinsey | Architecture · graphite-dark |
83
- |:---:|:---:|:---:|
84
- | ![bizblue](docs/showcase/presentation-business-blue/bizblue-cover.png) | ![mckinsey](docs/showcase/research-mckinsey/mckinsey-cover.png) | ![graphite](docs/showcase/architecture-graphite-dark/graphite-cover.png) |
85
-
86
- ### Product showcase (Mode A · dual-delivery narrative · multi-chart · header toolbar)
87
-
88
- | Positioning | Dual delivery | Charts | Header toolbar |
89
- |:---:|:---:|:---:|:---:|
90
- | ![pos](docs/showcase/topmind-showcase/showcase-s1.png) | ![split](docs/showcase/topmind-showcase/showcase-s3.png) | ![charts](docs/showcase/topmind-showcase/showcase-s5.png) | ![toolbar](docs/showcase/topmind-showcase/showcase-s11.png) |
91
-
92
- **Live**
93
-
94
- - Landing: [topmindspace.github.io/tms-skills/](https://topmindspace.github.io/tms-skills/)
95
- - Full deck: [showcase.html](https://topmindspace.github.io/tms-skills/showcase.html)
96
- - Style gallery: [style-gallery.html](https://topmindspace.github.io/tms-skills/style-gallery.html)
97
- - In-repo gallery: [top-ppt-html/assets/style-gallery.html](./top-ppt-html/assets/style-gallery.html)
98
- - Showcase HTML: [top-ppt-html/assets/examples/2026-09-26-topmind-tms-skills-showcase.html](./top-ppt-html/assets/examples/2026-09-26-topmind-tms-skills-showcase.html)
99
- - More shots: [docs/showcase/](./docs/showcase/)
100
-
101
- ### HTML header toolbar (ready when you open the file)
102
-
103
- | Control | Shortcut | Behavior |
104
- |---------|----------|----------|
105
- | Theme toggle | **T** | Light / dark; per-file memory; syncs `REPORT_MODEL.theme` |
106
- | Style picker | 9 styles | Live visual skins; write back `REPORT_MODEL.style` before deliver |
107
- | PPTX preview | **P** | WYSIWYG page sequence + copyable agent prompt |
108
- | Generation guide | **H** | Dual-channel + environment notes |
109
- | Fullscreen | **F** | Immersive present mode |
110
- | Collapse toolbar | **B** | Mini bar (brand + expand); remembers per file |
111
-
112
- See [top-ppt-html/README.md](./top-ppt-html/README.md#html-header-toolbar) and [SKILL.md](./top-ppt-html/SKILL.md).
113
-
114
60
  ## Skills
115
61
 
116
62
  | Skill | Version | What it does |
@@ -118,15 +64,9 @@ See [top-ppt-html/README.md](./top-ppt-html/README.md#html-header-toolbar) and [
118
64
  | [`top-ppt-html`](./top-ppt-html/) | **0.1.19** | Formal business decks: paginated HTML + editable 16:9 PPTX; dual delivery · MD3-inspired density; 3 modes × 9 styles; strict 0/0 |
119
65
  | [`topmind-wechat-post`](./topmind-wechat-post/) | **0.1.0** | WeChat article lifecycle: package, review, 3 quality gates, inline typography & publish checklist |
120
66
  | [`topmind-x-article`](./topmind-x-article/) | **0.1.0** | X long-form one-click publish: Markdown → paste-ready plain text + cover + checklist |
121
- | [`topmind-cover`](./topmind-cover/) | **0.1.0** | Cover art for X / WeChat: striking, theme-focused; 8-style cover style library + 17 dual-size example images, size specs + crop tooling |
67
+ | [`topmind-cover`](./topmind-cover/) | **0.1.0** | Cover art for X / WeChat: striking, theme-focused; 8-style cover style library + 17 dual-size example images |
122
68
 
123
- Installer [`@topmindspace/tms-skills`](https://www.npmjs.com/package/@topmindspace/tms-skills) is **0.3.1** (whole-repo same-tag releases).
124
-
125
- ### topmind-cover · Cover style library
126
-
127
- Style index and the 8-grid overview are in the topmind-cover skill intro above.
128
-
129
- **Three steps to a cover**: ① pick 1 of 8 styles by topic → ② check the matching example in [`topmind-cover/assets/examples/`](./topmind-cover/assets/examples/) → ③ compose the prompt from that style's recipe in [`references/cover-styles.md`](./topmind-cover/references/cover-styles.md). 17 example images (8 styles × 1200×675 master + 900×383 WeChat center-crop + `overview.png` 8-grid overview, ~7.5MB) ship with the npm package; **safe-zone rule**: title text and key subject must stay inside the central vertical 60% safe zone.
69
+ Installer [`@topmindspace/tms-skills`](https://www.npmjs.com/package/@topmindspace/tms-skills) is **0.3.5** (whole-repo same-tag releases).
130
70
 
131
71
  ## Install
132
72
 
@@ -136,7 +76,7 @@ Style index and the 8-grid overview are in the topmind-cover skill intro above.
136
76
  npx @topmindspace/tms-skills list
137
77
  npx @topmindspace/tms-skills install top-ppt-html
138
78
  npx @topmindspace/tms-skills install top-ppt-html --to ./.claude/skills
139
- npx @topmindspace/tms-skills@0.3.1 install top-ppt-html # pin
79
+ npx @topmindspace/tms-skills@0.3.5 install top-ppt-html # pin
140
80
  ```
141
81
 
142
82
  ```bash
@@ -148,15 +88,6 @@ Default probe order: `./.agents` → `./.claude` → `./.cursor` → `./.codex`
148
88
 
149
89
  PPTX export needs `npm install` in the skill folder (pptxgenjs). HTML generation uses Python stdlib only.
150
90
 
151
- ## Golden examples
152
-
153
- | Mode | File |
154
- |------|------|
155
- | A Presentation | [`2026-09-09-presentation-business-blue`](./top-ppt-html/assets/examples/2026-09-09-presentation-business-blue.html) |
156
- | B Research | [`2026-09-09-research-mckinsey`](./top-ppt-html/assets/examples/2026-09-09-research-mckinsey.html) |
157
- | C Architecture | [`2026-09-09-architecture-graphite-dark`](./top-ppt-html/assets/examples/2026-09-09-architecture-graphite-dark.html) |
158
- | Product showcase | [`2026-09-26-topmind-tms-skills-showcase`](./top-ppt-html/assets/examples/2026-09-26-topmind-tms-skills-showcase.html) (dual-delivery narrative · 5 chart types · toolbar page) |
159
-
160
91
  ## Repo layout
161
92
 
162
93
  ```
@@ -178,7 +109,6 @@ tms-skills/
178
109
 
179
110
  ```bash
180
111
  npm run check && npm run audit && npm run privacy
181
- # PPTX smoke (incl. McKinsey): bash scripts/ci_skill_gates.sh --with-pptx
182
112
  ```
183
113
 
184
114
  See [docs/PUBLISHING.md](./docs/PUBLISHING.md) · [docs/ci.md](./docs/ci.md).
package/README.md CHANGED
@@ -17,6 +17,8 @@
17
17
  npx @topmindspace/tms-skills install top-ppt-html
18
18
  ```
19
19
 
20
+ 在线体验:[落地页](https://topmindspace.github.io/tms-skills/) · [完整演示文稿](https://topmindspace.github.io/tms-skills/showcase.html) · [风格画廊](https://topmindspace.github.io/tms-skills/style-gallery.html);黄金样张见 [`top-ppt-html/assets/examples/`](./top-ppt-html/assets/examples/)。
21
+
20
22
  ### topmind-wechat-post · 公众号创作
21
23
 
22
24
  公众号文章全生命周期:交付包、审校改写、质量三关(事实 / 逻辑 / 去 AI 味)、微信内联排版(图片必内嵌)、发布清单与状态同步。脚本纯 Python 标准库,零依赖。
@@ -35,29 +37,16 @@ npx @topmindspace/tms-skills install topmind-x-article
35
37
 
36
38
  ### topmind-cover · 封面配图生成
37
39
 
38
- X 长文与公众号共用的封面图:震撼、醒目、主题突出。内置 **8 种封面风格库**(爆款干货 / 巨字宣言 / 品牌发布 / 教程步骤 / IP 趣味 / 资讯快报 / 极简留白 / 杂志编辑,含适用场景、配色 hex、字体建议、中英 prompt 配方)+ **17 张双尺寸示例图**(`assets/examples/`,随包发布):**选风格 → 看示例 → 按配方组 prompt** 三步出图,`crop-cover.py` 一键裁出双平台尺寸(X 1200×675、公众号 900×383)。
40
+ X 长文与公众号共用的封面图:震撼、醒目、主题突出。**选风格 → 看示例 → 按配方组 prompt** 三步出图,`crop-cover.py` 一键裁出双平台尺寸(X 1200×675、公众号 900×383)。8 种风格索引与配方见 [`references/cover-styles.md`](./topmind-cover/references/cover-styles.md)。
39
41
 
40
42
  ```bash
41
43
  npx @topmindspace/tms-skills install topmind-cover
42
44
  ```
43
45
 
44
- **封面风格样张**(8 宫格总览;单风格大图见 `topmind-cover/assets/examples/<风格>.png`,配方见 [`references/cover-styles.md`](./topmind-cover/references/cover-styles.md)):
45
-
46
46
  <p align="center">
47
47
  <img src="https://github.com/topmindspace/tms-skills/raw/main/topmind-cover/assets/examples/overview.png" alt="topmind-cover · 8 封面风格总览" width="960" />
48
48
  </p>
49
49
 
50
- | 风格 | 适用场景 |
51
- |------|----------|
52
- | 爆款干货 `gan-huo` | 干货清单、评测、盘点、实测筛选;"我替你试完了/筛完了"类第一人称实测文默认选它 |
53
- | 巨字宣言 `big-type` | 观点评论、深度长文、产品/版本发布宣言;"一句话立场"类文章默认选它 |
54
- | 品牌发布 `brand-launch` | 产品发布、版本更新、官方最佳实践/白皮书;有明确品牌主体的内容首选 |
55
- | 教程步骤 `tutorial-steps` | 教程、上手指南、分步实操、保姆级攻略 |
56
- | IP 趣味 `ip-fun` | 实战案例、数据战报、复盘、系列连载(上/下篇) |
57
- | 资讯快报 `news-flash` | 资讯、快讯、热点解读、人物专访预告、"祛魅/揭秘"类选题 |
58
- | 极简留白 `minimal` | 随笔、书评、轻观点、生活感悟;公众号"轻阅读"类文章 |
59
- | 杂志编辑 `magazine` | 深度访谈、人物特写、商业分析、年度盘点;需要"质感/信任感"时用它 |
60
-
61
50
  > 让 idea 飞,好想法被看见。
62
51
 
63
52
  <p align="center">
@@ -66,49 +55,6 @@ npx @topmindspace/tms-skills install topmind-cover
66
55
 
67
56
  > **警告**:不要安装 `@topmindspace/tms-skills@^2`(2.0.0–2.1.1 已弃用)。当前线 **0.2.x**(`latest`)。
68
57
 
69
- ## 一眼看到工艺
70
-
71
- ### 主题总览(Gate 0)
72
-
73
- <p align="center">
74
- <img src="top-ppt-html/assets/theme-overview.png" alt="演示模式 · business-blue 主题总览" width="900" /><br/>
75
- <sub>演示 · business-blue(默认)· 另见 <a href="./top-ppt-html/assets/style-gallery.html">style-gallery</a> · <a href="./top-ppt-html/assets/theme-overview-research.png">研究总览</a> · <a href="./top-ppt-html/assets/theme-overview-architecture.png">架构总览</a></sub>
76
- </p>
77
-
78
- ### 风格封面
79
-
80
- | 演示 · business-blue | 研究 · mckinsey | 架构 · graphite-dark |
81
- |:---:|:---:|:---:|
82
- | ![bizblue](docs/showcase/presentation-business-blue/bizblue-cover.png) | ![mckinsey](docs/showcase/research-mckinsey/mckinsey-cover.png) | ![graphite](docs/showcase/architecture-graphite-dark/graphite-cover.png) |
83
-
84
- ### 产品 Showcase(Mode A · 双交付叙事 · 多图 · Header 工具栏)
85
-
86
- | 定位 | 双交付 | 图表 | Header 工具栏 |
87
- |:---:|:---:|:---:|:---:|
88
- | ![pos](docs/showcase/topmind-showcase/showcase-s1.png) | ![split](docs/showcase/topmind-showcase/showcase-s3.png) | ![charts](docs/showcase/topmind-showcase/showcase-s5.png) | ![toolbar](docs/showcase/topmind-showcase/showcase-s11.png) |
89
-
90
- **在线体验**
91
-
92
- - 落地页:[topmindspace.github.io/tms-skills/](https://topmindspace.github.io/tms-skills/)
93
- - 完整演示文稿:[showcase.html](https://topmindspace.github.io/tms-skills/showcase.html)
94
- - 风格画廊:[style-gallery.html](https://topmindspace.github.io/tms-skills/style-gallery.html)
95
- - 仓库内交互画廊:[top-ppt-html/assets/style-gallery.html](./top-ppt-html/assets/style-gallery.html)
96
- - 仓库内 Showcase:[top-ppt-html/assets/examples/2026-09-26-topmind-tms-skills-showcase.html](./top-ppt-html/assets/examples/2026-09-26-topmind-tms-skills-showcase.html)
97
- - 更多截图:[docs/showcase/](./docs/showcase/)
98
-
99
- ### HTML Header 工具栏(打开即用)
100
-
101
- | 控件 | 快捷键 | 做什么 |
102
- |------|--------|--------|
103
- | 亮暗主题 | **T** | 浅/深切换,按文件记忆,同步 `REPORT_MODEL.theme` |
104
- | 风格选择 | 9 套 | 九风格实时换肤;交付前写回 `REPORT_MODEL.style` |
105
- | 预览 PPTX | **P** | 页序列预览 + 可复制精导提示词 |
106
- | PPT 生成指引 | **H** | 双通道与环境说明 |
107
- | 全屏 | **F** | 沉浸演示 |
108
- | 收起工具栏 | **B** | 折叠为迷你条 |
109
-
110
- 详见 [top-ppt-html/README.md](./top-ppt-html/README.md#html-header-工具栏) · [SKILL.md 交付物](./top-ppt-html/SKILL.md)。
111
-
112
58
  ## 技能一览
113
59
 
114
60
  | 技能 | 版本 | 做什么 |
@@ -116,15 +62,11 @@ npx @topmindspace/tms-skills install topmind-cover
116
62
  | [`top-ppt-html`](./top-ppt-html/) | **0.1.19** | 正式商务演示:HTML 可翻页 + 16:9 可编辑 PPTX;双交付 · MD3 密度克制;三模式 × 九风格;strict 0/0 |
117
63
  | [`topmind-wechat-post`](./topmind-wechat-post/) | **0.1.0** | 公众号文章全生命周期:交付包、审校改写、质量三关、微信内联排版与发布清单 |
118
64
  | [`topmind-x-article`](./topmind-x-article/) | **0.1.0** | X 长文一键发布:Markdown 原稿转可直接粘贴的纯文本 + 封面图 + 发布清单 |
119
- | [`topmind-cover`](./topmind-cover/) | **0.1.0** | 文章封面配图(X / 公众号共用):震撼醒目主题突出;8 风格封面风格库 + 17 张双尺寸示例图,尺寸规范 + 裁剪落盘 |
120
-
121
- 安装器 [`@topmindspace/tms-skills`](https://www.npmjs.com/package/@topmindspace/tms-skills) 为 **0.3.1**(整仓同 tag 发版)。
122
-
123
- ### topmind-cover · 封面风格库
65
+ | [`topmind-cover`](./topmind-cover/) | **0.1.0** | 文章封面配图(X / 公众号共用):震撼醒目主题突出;8 风格封面风格库 + 17 张双尺寸示例图 |
124
66
 
125
- 风格索引与 8 宫格总览样张见上文 topmind-cover 技能介绍处。
67
+ 安装器 [`@topmindspace/tms-skills`](https://www.npmjs.com/package/@topmindspace/tms-skills) 为 **0.3.5**(整仓同 tag 发版)。
126
68
 
127
- **三步出图**:① 按题材从 8 风格选 1 → ② 看 [`topmind-cover/assets/examples/`](./topmind-cover/assets/examples/) 对应示例图 → ③ 按 [`references/cover-styles.md`](./topmind-cover/references/cover-styles.md) 该风格的 prompt 配方组 prompt。17 张示例图(8 风格 × 1200×675 主图 + 900×383 公众号中央裁剪版 + `overview.png` 8 宫格总览,约 7.5MB)随 npm 包发布;**安全区铁律**:标题字与关键主体必须落在画面中央垂直 60% 安全区内。
69
+ > SKILL.md frontmatter 除标准 `name`/`description` 外,本仓库扩展了 `action_category` / `triggers` / `triggers_cn` / `updated` 字段供安装器与路由使用。
128
70
 
129
71
  ## 安装
130
72
 
@@ -134,7 +76,7 @@ npx @topmindspace/tms-skills install topmind-cover
134
76
  npx @topmindspace/tms-skills list
135
77
  npx @topmindspace/tms-skills install top-ppt-html
136
78
  npx @topmindspace/tms-skills install top-ppt-html --to ./.claude/skills
137
- npx @topmindspace/tms-skills@0.3.1 install top-ppt-html # 钉版本
79
+ npx @topmindspace/tms-skills@0.3.5 install top-ppt-html # 钉版本
138
80
  ```
139
81
 
140
82
  ```bash
@@ -146,15 +88,6 @@ npx github:topmindspace/tms-skills install top-ppt-html
146
88
 
147
89
  PPTX 精导需在技能目录 `npm install`(pptxgenjs)。HTML 生成仅 Python 标准库。
148
90
 
149
- ## 黄金样张
150
-
151
- | 模式 | 文件 |
152
- |------|------|
153
- | A 演示 | [`2026-09-09-presentation-business-blue`](./top-ppt-html/assets/examples/2026-09-09-presentation-business-blue.html) |
154
- | B 研究 | [`2026-09-09-research-mckinsey`](./top-ppt-html/assets/examples/2026-09-09-research-mckinsey.html) |
155
- | C 架构 | [`2026-09-09-architecture-graphite-dark`](./top-ppt-html/assets/examples/2026-09-09-architecture-graphite-dark.html) |
156
- | 产品 Showcase | [`2026-09-26-topmind-tms-skills-showcase`](./top-ppt-html/assets/examples/2026-09-26-topmind-tms-skills-showcase.html)(双交付叙事 · 5 种图表 · Header 工具栏) |
157
-
158
91
  ## 仓库结构
159
92
 
160
93
  ```
@@ -176,7 +109,6 @@ tms-skills/
176
109
 
177
110
  ```bash
178
111
  npm run check && npm run audit && npm run privacy
179
- # PPTX 冒烟(含 McKinsey):bash scripts/ci_skill_gates.sh --with-pptx
180
112
  ```
181
113
 
182
114
  详见 [docs/PUBLISHING.md](./docs/PUBLISHING.md) · [docs/ci.md](./docs/ci.md)。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topmindspace/tms-skills",
3
- "version": "0.3.1",
3
+ "version": "0.3.5",
4
4
  "description": "TopMindspace 智能体技能 monorepo — 通过 npm / GitHub npx 安装技能(top-ppt-html:HTML+PPT 双交付,正式商务演示文稿)。",
5
5
  "license": "MIT",
6
6
  "author": "TopMindspace",
@@ -9,16 +9,8 @@
9
9
 
10
10
  **Let ideas fly — make good thinking visible.** A high-craft skill for **demo reports / formal business presentations**: **HTML + PPT dual delivery** — day-to-day, present with paginated HTML like slides; export **layout-faithful editable PPTX** when needed. **MD3-inspired**: fitting information density, restrained type / shapes / color. Core craft is layout, typography, color, and content structure — not gadget soup.
11
11
 
12
- ### Why top-ppt-html
13
-
14
- Plenty of PPT skills exist. This one is for **formal business presenting**: clear, atmospheric, multi-style, **high-fidelity editable PPTX** (charts carry annotatable data) — stage-ready output.
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
  - Skill id: `top-ppt-html`; brand: **TopPPT HTML**
21
- - Version: **v0.1.19** (same tag as `@topmindspace/tms-skills@0.3.1`)
13
+ - Version: **v0.1.19** (same tag as `@topmindspace/tms-skills@0.3.5`)
22
14
  - **Agent entry**: `SKILL.md` → `references/playbook.md` (L1) → L2 on demand
23
15
  - **Human maintainers**: this README (install / commands / layout); do not treat it as the generation spec
24
16
 
@@ -29,16 +21,6 @@ Plenty of PPT skills exist. This one is for **formal business presenting**: clea
29
21
  <sub>Presentation · business-blue (default) · also <a href="./assets/style-gallery.html">style-gallery</a> · <a href="./assets/theme-overview-research.png">research</a> · <a href="./assets/theme-overview-architecture.png">architecture</a></sub>
30
22
  </p>
31
23
 
32
- ### Style × mode
33
-
34
- | business-blue · Presentation | mckinsey · Research | graphite-dark · Architecture |
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
- | Positioning | Dual delivery | Charts | Header toolbar |
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
  **Live** · [Landing](https://topmindspace.github.io/tms-skills/) · [Showcase deck](https://topmindspace.github.io/tms-skills/showcase.html) · [Style gallery](https://topmindspace.github.io/tms-skills/style-gallery.html)
43
25
 
44
26
  - In-repo gallery: [`assets/style-gallery.html`](./assets/style-gallery.html)
@@ -73,10 +55,27 @@ Also: arrow-key paging; **Esc** closes modals. After style/theme change, re-run
73
55
 
74
56
  ```bash
75
57
  npx @topmindspace/tms-skills install top-ppt-html
76
- npx @topmindspace/tms-skills@0.3.1 install top-ppt-html
58
+ npx @topmindspace/tms-skills@0.3.5 install top-ppt-html
77
59
  npx github:topmindspace/tms-skills install top-ppt-html
78
60
  ```
79
61
 
80
62
  PPTX needs `npm install` in this folder (pptxgenjs). HTML generation: Python stdlib only.
81
63
 
64
+ ### Minimal example (~3 min)
65
+
66
+ ```bash
67
+ cd top-ppt-html
68
+ python3 scripts/scaffold_report.py --mode research --style mckinsey \
69
+ --title "Sample report" --sections 8 --out report.html
70
+ # Open report.html, fill in window.REPORT_MODEL only (single source of truth), then:
71
+ python3 scripts/render_from_model.py report.html --inplace
72
+ python3 scripts/validate_report.py report.html --strict # ship only at 0 errors / 0 warnings
73
+ # For PPTX (after npm install):
74
+ python3 scripts/extract_model.py report.html report.model.json
75
+ node scripts/build_pptx.js report.pptx --model=report.model.json
76
+ python3 scripts/validate_pptx.py report.pptx --strict --model=report.model.json
77
+ ```
78
+
79
+ Swap modes: `--mode presentation --style business-blue` (A) / `--mode architecture --style graphite-dark` (C).
80
+
82
81
  Full Chinese maintainer docs (directory map, command cookbook): see [`README.md`](./README.md). Agent rules live in `SKILL.md` / `playbook.md`.