@topmindspace/topmind-writing-skills 0.8.47 → 0.8.49
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 +91 -76
- package/README.en.md +162 -129
- package/README.md +172 -119
- package/package.json +1 -1
- package/topmind-briefs/CHANGELOG.md +6 -0
- package/topmind-briefs/README.en.md +50 -40
- package/topmind-briefs/README.md +68 -37
- package/topmind-briefs/SKILL.md +90 -49
- package/topmind-briefs/examples/01-X/347/237/255/346/226/207-/347/274/226/350/276/221/345/231/250/345/217/221/345/270/203.txt +1 -3
- package/topmind-briefs/examples/01-/351/223/276/346/216/245/344/270/216/351/205/215/345/233/276.txt +3 -0
- package/topmind-briefs/examples/README.md +1 -1
- package/topmind-briefs/package.json +1 -1
- package/topmind-briefs/references/core-voice.md +42 -12
- package/topmind-briefs/references/de-ai-rules.md +31 -3
- package/topmind-briefs/references/emoji-system.md +2 -6
- package/topmind-briefs/references/examples.md +61 -12
- package/topmind-briefs/references/information-design.md +34 -10
- package/topmind-briefs/references/platform-specs.md +14 -10
- package/topmind-briefs/references/revision-workflow.md +1 -1
- package/topmind-briefs/references/x-delivery-contract.md +44 -26
- package/topmind-briefs/references/x-layout-patterns.md +4 -4
- package/topmind-briefs/references/x-post-format.md +4 -4
- package/topmind-briefs/scripts/check_article.py +289 -0
- package/topmind-briefs/scripts/de_ai_lint.py +147 -17
- package/topmind-briefs/scripts/format_text.py +31 -8
- package/topmind-briefs/scripts/info_design_hints.py +13 -4
- package/topmind-briefs/scripts/lint_x_post.py +26 -11
- package/topmind-briefs/scripts/md2wechat.py +45 -2
- package/topmind-briefs/scripts/md2x-html.py +104 -2
- package/topmind-briefs/scripts/post_type_report.py +215 -0
- package/topmind-briefs/scripts/revise_check.py +2 -2
- package/topmind-cover/README.en.md +3 -1
- package/topmind-cover/README.md +3 -1
- package/topmind-cover/SKILL.md +2 -2
- package/topmind-cover/package.json +1 -1
- package/topmind-cover/references/core-voice.md +42 -12
- package/topmind-cover/references/cover-styles.md +1 -1
- package/topmind-cover/references/design-system.md +1 -1
- package/topmind-cover/references/information-design.md +34 -10
- package/topmind-cover/scripts/de_ai_lint.py +147 -17
- package/topmind-cover/scripts/info_design_hints.py +13 -4
- package/topmind-format/README.en.md +30 -22
- package/topmind-format/README.md +43 -21
- package/topmind-format/SKILL.md +30 -9
- package/topmind-format/package.json +1 -1
- package/topmind-format/references/core-voice.md +42 -12
- package/topmind-format/references/de-ai-rules.md +31 -3
- package/topmind-format/references/emoji-system.md +2 -6
- package/topmind-format/references/information-design.md +34 -10
- package/topmind-format/references/x-delivery-contract.md +44 -26
- package/topmind-format/references/x-layout-patterns.md +4 -4
- package/topmind-format/references/x-post-format.md +4 -4
- package/topmind-format/scripts/de_ai_lint.py +147 -17
- package/topmind-format/scripts/format_text.py +31 -8
- package/topmind-format/scripts/info_design_hints.py +13 -4
- package/topmind-format/scripts/lint_x_post.py +26 -11
- package/topmind-format/scripts/negative_tests.py +3 -3
- package/topmind-poster/README.en.md +3 -1
- package/topmind-poster/README.md +3 -1
- package/topmind-poster/SKILL.md +2 -2
- package/topmind-poster/package.json +1 -1
- package/topmind-poster/references/information-design.md +34 -10
- package/topmind-revise/CHANGELOG.md +6 -0
- package/topmind-revise/README.en.md +55 -22
- package/topmind-revise/README.md +49 -25
- package/topmind-revise/SKILL.md +28 -6
- package/topmind-revise/examples/02-/347/237/255/346/226/207-/346/224/271/345/220/216.txt +1 -1
- package/topmind-revise/package.json +1 -1
- package/topmind-revise/references/calibration-drill.md +10 -1
- package/topmind-revise/references/core-voice.md +42 -12
- package/topmind-revise/references/de-ai-rules.md +31 -3
- package/topmind-revise/references/information-design.md +34 -10
- package/topmind-revise/references/revision-workflow.md +1 -1
- package/topmind-revise/scripts/check_article.py +31 -7
- package/topmind-revise/scripts/de_ai_lint.py +147 -17
- package/topmind-revise/scripts/info_design_hints.py +13 -4
- package/topmind-revise/scripts/lint_x_post.py +26 -11
- package/topmind-revise/scripts/post_type_report.py +215 -0
- package/topmind-revise/scripts/revise_check.py +2 -2
- package/topmind-viral-posts/README.en.md +72 -48
- package/topmind-viral-posts/README.md +81 -49
- package/topmind-viral-posts/SKILL.md +121 -180
- package/topmind-viral-posts/examples/01-A1-/344/270/215/346/207/202/345/260/261/351/227/256.txt +5 -0
- package/topmind-viral-posts/examples/02-A4-/345/215/247/346/247/275/344/275/223.txt +7 -0
- package/topmind-viral-posts/examples/03-A5-/345/206/267/347/237/245/350/257/206.txt +7 -0
- package/topmind-viral-posts/examples/{04-/350/257/235/351/242/230/346/256/265/345/255/220-/346/225/264/347/220/206/344/273/223/345/272/223.txt → 04-A11-/344/272/247/345/223/201/345/217/215/350/275/254.txt} +0 -2
- package/topmind-viral-posts/examples/05-A6-/347/276/244/350/201/212/344/275/223.txt +9 -0
- package/topmind-viral-posts/examples/06-A7-/350/277/236/347/273/255/345/211/247.txt +5 -0
- package/topmind-viral-posts/examples/07-A2-/346/211/222/346/226/231/346/261/202/350/257/201.txt +5 -0
- package/topmind-viral-posts/examples/README.md +11 -6
- package/topmind-viral-posts/package.json +1 -1
- package/topmind-viral-posts/references/core-voice.md +42 -12
- package/topmind-viral-posts/references/de-ai-rules.md +31 -3
- package/topmind-viral-posts/references/emoji-system.md +2 -6
- package/topmind-viral-posts/references/information-design.md +34 -10
- package/topmind-viral-posts/references/patterns.md +283 -743
- package/topmind-viral-posts/references/revision-workflow.md +1 -1
- package/topmind-viral-posts/references/tags-and-topics.md +57 -71
- package/topmind-viral-posts/references/x-delivery-contract.md +44 -26
- package/topmind-viral-posts/references/x-layout-patterns.md +4 -4
- package/topmind-viral-posts/references/x-post-format.md +4 -4
- package/topmind-viral-posts/scripts/de_ai_lint.py +147 -17
- package/topmind-viral-posts/scripts/format_text.py +31 -8
- package/topmind-viral-posts/scripts/info_design_hints.py +13 -4
- package/topmind-viral-posts/scripts/lint_x_post.py +26 -11
- package/topmind-viral-posts/scripts/post_type_report.py +215 -0
- package/topmind-viral-posts/scripts/revise_check.py +2 -2
- package/topmind-wechat-post/README.en.md +13 -5
- package/topmind-wechat-post/README.md +14 -7
- package/topmind-wechat-post/SKILL.md +8 -7
- package/topmind-wechat-post/package.json +1 -1
- package/topmind-wechat-post/references/core-voice.md +42 -12
- package/topmind-wechat-post/references/de-ai-rules.md +31 -3
- package/topmind-wechat-post/references/element-spec.md +2 -2
- package/topmind-wechat-post/references/information-design.md +34 -10
- package/topmind-wechat-post/references/revision-workflow.md +1 -1
- package/topmind-wechat-post/references/theme-map.md +1 -1
- package/topmind-wechat-post/references/x-delivery-contract.md +44 -26
- package/topmind-wechat-post/references/x-post-format.md +4 -4
- package/topmind-wechat-post/scripts/article_scaffold.py +24 -6
- package/topmind-wechat-post/scripts/check_article.py +31 -7
- package/topmind-wechat-post/scripts/de_ai_lint.py +147 -17
- package/topmind-wechat-post/scripts/info_design_hints.py +13 -4
- package/topmind-wechat-post/scripts/lint-wechat.py +5 -5
- package/topmind-wechat-post/scripts/lint_x_post.py +26 -11
- package/topmind-wechat-post/scripts/md2wechat.py +45 -2
- package/topmind-wechat-post/scripts/revise_check.py +2 -2
- package/topmind-x-article/README.en.md +13 -5
- package/topmind-x-article/README.md +13 -5
- package/topmind-x-article/SKILL.md +8 -4
- package/topmind-x-article/package.json +1 -1
- package/topmind-x-article/references/core-voice.md +42 -12
- package/topmind-x-article/references/de-ai-rules.md +31 -3
- package/topmind-x-article/references/information-design.md +34 -10
- package/topmind-x-article/references/publish-checklist.md +1 -1
- package/topmind-x-article/references/revision-workflow.md +1 -1
- package/topmind-x-article/references/x-delivery-contract.md +44 -26
- package/topmind-x-article/references/x-post-format.md +4 -4
- package/topmind-x-article/scripts/article_scaffold.py +24 -6
- package/topmind-x-article/scripts/check_article.py +31 -7
- package/topmind-x-article/scripts/de_ai_lint.py +147 -17
- package/topmind-x-article/scripts/info_design_hints.py +13 -4
- package/topmind-x-article/scripts/lint_x_post.py +26 -11
- package/topmind-x-article/scripts/md2x-html.py +104 -2
- package/topmind-x-article/scripts/revise_check.py +2 -2
- package/topmind-viral-posts/examples/01-/345/221/250/344/270/200/346/227/251/346/231/250.txt +0 -13
- package/topmind-viral-posts/examples/02-/346/224/266/347/272/263.txt +0 -13
- package/topmind-viral-posts/examples/03-/350/257/273/344/271/246/350/256/241/345/210/222.txt +0 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,44 @@
|
|
|
1
|
+
## [0.8.49] - 2026-10-24
|
|
2
|
+
|
|
3
|
+
> 根包 0.8.48 → **0.8.49**(patch);技能版本:topmind-briefs 0.2.27 → 0.2.28、topmind-cover 0.4.16 → 0.4.17、topmind-viral-posts 0.3.19 → 0.3.20、topmind-wechat-post 0.3.19 → 0.3.20。其余技能不变。
|
|
4
|
+
|
|
5
|
+
### 优化
|
|
6
|
+
|
|
7
|
+
- 根 README 中英文对齐,安装与技能说明从使用者角度重写;topmind-briefs、topmind-viral-posts 的 README 同步。
|
|
8
|
+
- 几处说明改得更直白:短文开头写法、风格表与段子表的表头、设计规范与主题映射的要点句、WARN 的含义。
|
|
9
|
+
- CHANGELOG 去掉内部备注,只涉及发布流程与 CI 的条目压成一行。
|
|
10
|
+
|
|
11
|
+
## [0.8.48] - 2026-10-22
|
|
12
|
+
|
|
13
|
+
> 全面优化:段子重组为 12 + 2 种写法,短文按 9 种内容类型写,去 AI 味规则新增社交短帖模式和问句口径条目,长文骨架先写「我的判断」并在交付前出图文预览;根 README 和各技能 README 改为能力优先。
|
|
14
|
+
> 根包 0.8.47 → **0.8.48**(patch);技能版本:topmind-briefs 0.2.26 → 0.2.27、topmind-cover 0.4.15 → 0.4.16、topmind-format 0.1.11 → 0.1.12、topmind-poster 0.1.8 → 0.1.9、topmind-revise 0.1.3 → 0.1.4、topmind-viral-posts 0.3.18 → 0.3.19、topmind-wechat-post 0.3.18 → 0.3.19、topmind-x-article 0.4.24 → 0.4.25。
|
|
15
|
+
|
|
16
|
+
### 特性支持
|
|
17
|
+
|
|
18
|
+
- topmind-viral-posts:类型重组为 12 种话题段子(A1 不懂就问、A2 扒料求证、A3 故障求证、A4 卧槽体、A5 冷知识、A6 群聊体、A7 连续剧、A8 算账、A9 站边轻判断、A10 荒诞自嘲、A11 产品反转、A12 借热点)+ 2 种关系帖(B1 关系帖、B2 互助帖)。每种写明适用题材、钩子、结构、收尾、反例和原创示例;新增「想让哪种人来评论」、删尾测试、配图按类型、回复与转发点评、旧编号对照表。示例重写为 7 条。
|
|
19
|
+
- topmind-briefs:9 种内容类型(快讯首发、快讯晚到、预告 / 传闻、新品 / 工具、羊毛、榜单、论文、实测、观点一句话),各自的首行、结构、收尾;新增「一眼快餐」(查证过程和口径进交付说明的口径提醒)、「时效」一节;示例新增 6 条。
|
|
20
|
+
- 共享脚本 `de_ai_lint.py` / `lint_x_post.py`:`--kind post|news|ops` 和 `--sources`;新增 W22–W26(套路互动钩子结尾、段子体行间没空行、类比腔、英文网文模板句、回复过长)和 H15–H21 提示(回复偏长、编经历、口径词进正文、夹英文小词、播报模板、标题动词和口径对不上、首行偏长);首行过长在快讯里是 W10,其他短帖降为 H21 提示;「?!」在首行、末行各允许一次。
|
|
21
|
+
- 共享脚本 `info_design_hints.py`:新增 I9「素材罗列」(一节很长却没有一句判断)。
|
|
22
|
+
- 共享脚本 `format_text.py`:`--variants` 把几个备选开头拼成几条完整成品,各自做保真校验;Markdown 引用标记自动去掉。
|
|
23
|
+
- 共享脚本 `md2x-html.py`:`--tables-as-images`(表格渲染成图按顺序嵌入,没有 Chrome 时降级为分行列表)和 `--preview`(生成 `out/预览.png`)。
|
|
24
|
+
- 共享脚本 `md2wechat.py`:`--preview` 按手机宽度生成 `预览.png`;「·」开头的行逐行成段。
|
|
25
|
+
- 共享脚本 `check_article.py`:支持短文文件夹(`公众号短文.md` / `X短文.txt`),不要求文件名等于标题、不要求封面。
|
|
26
|
+
- 新增共享脚本 `post_type_report.py`:读作者自己的往期帖子(JSONL / CSV),按开头、收尾、类型、长度、话题标签、配图统计相对表现,`--samples-out` 生成习惯摘要;topmind-revise 新增 `samples=` 参数使用它。
|
|
27
|
+
- 长文(x-article、wechat-post):骨架必填「我的判断」3–5 条(依据 + 读者会怎么反驳)和每节素材 / 判断比例;方法论、架构、对比类文章至少一张自制图(`raw/自制图源/`);交付前必出图文预览。`article_scaffold.py` 的骨架模板同步。
|
|
28
|
+
- topmind-revise:快审清单(首行、口径、S01–S10、删尾测试、回复、精炼、作者样本);`calibration-drill.md` 新增「用数据校准」。
|
|
29
|
+
- topmind-format:`--variants` 与引用块、转发点评的排法写进工作流。
|
|
30
|
+
|
|
31
|
+
### 优化
|
|
32
|
+
|
|
33
|
+
- `core-voice.md`:V05 区分快讯和观点的首行;V10 只限制套路互动问句,作者真拿不准的问题可以收尾;V22 允许首行、末行各一处「?!」;V27 话题标签默认不带、最多 2 个;新增 V34–V40(真问句、开头、精炼、回复、口径、预告动词)。
|
|
34
|
+
- `de-ai-rules.md`:新增第五节「社交短帖模式(S01–S10)」。
|
|
35
|
+
- `x-delivery-contract.md`、`x-post-format.md`、`x-layout-patterns.md`、`emoji-system.md`:话题标签默认不带;口径写进交付说明;新增「备选写成完整成品」「回复给两个版本」「交付前自检」三条规则和对应示例。
|
|
36
|
+
- `information-design.md`:骨架加入「我的判断」和自制图,提示码扩到 I1–I9。
|
|
37
|
+
- 文档措辞统一:版本说明一律用「优化 / 特性支持」,其余改为「修正」。
|
|
38
|
+
- 根 README(中 / 英)改为能力优先:分类总览、段子 14 种写法表、短文 9 种类型表、段子 / 短文 / 去 AI 味改前改后示例、长文骨架、触发说法;去掉版本号总表。各技能 README(中 / 英)同步改写。
|
|
39
|
+
- 路由评测新增 8 条用例(不懂就问、群聊体、预告、羊毛、备选开头、回复快审、表格转图预览、长文骨架)。
|
|
40
|
+
- 回归测试:去 AI 味规则用例扩充(62 / 9 / 39 / 26),信息设计用例 13 / 9;format 负例测试按新的提示级别更新。
|
|
41
|
+
|
|
1
42
|
## [0.8.47] - 2026-10-18
|
|
2
43
|
|
|
3
44
|
> 全面整理文档:README 和各技能文档按「原则优先」四层结构重写,剩余的「铁律」措辞改成「原则 + 怎么判断」,清理废弃文件和过时说明;新增多环境协作字段,渲染脚本去掉 HTML 注释。
|
|
@@ -314,7 +355,7 @@
|
|
|
314
355
|
|
|
315
356
|
- **topmind-briefs**:短文不是长文,默认不出 HTML——X 版是一段纯文本,公众号版是 Markdown;HTML 脚本只在用户明确要求时使用。新增「尊重原始信息」铁律与交付格式,交付时写明信息来源、发布时间、来源链接与图片来源。
|
|
316
357
|
- **配图口径统一**:原图优先;没有原图时封面可选(不再默认配封面)。`x-post-format.md`、briefs、viral-posts、cover 的「X 短文封面」场景说明同步。
|
|
317
|
-
- **topmind-viral-posts**:类型从 14 扩到 18(新增冷知识揭秘、差额冲刺、反差对照、自问自答),新增「段子体排版」(一句一行、行间空行)与「组合玩法(钩子 × 主体 × 收尾)」两节、8
|
|
358
|
+
- **topmind-viral-posts**:类型从 14 扩到 18(新增冷知识揭秘、差额冲刺、反差对照、自问自答),新增「段子体排版」(一句一行、行间空行)与「组合玩法(钩子 × 主体 × 收尾)」两节、8 种常用组合;示例改为原创(不含第三方截图与账号信息);表情规则接入 emoji 体系。
|
|
318
359
|
|
|
319
360
|
### 优化
|
|
320
361
|
|
|
@@ -338,7 +379,7 @@
|
|
|
338
379
|
- `cover-prompts.md` 补齐橙色暖阳、卡通素描、赛博霓虹三种风格的完整提示词(第 1 章覆盖全部 22 种风格),新增第 2 章 X 短文 16:9 封面的 6 条场景提示词与填充示例;第 4 章场景推荐补 4 行。
|
|
339
380
|
- `crop-cover.py` 新增 `--preset x-post`,输出 `00-封面-X短文.png`(1200×675);默认行为不变。
|
|
340
381
|
|
|
341
|
-
###
|
|
382
|
+
### 优化
|
|
342
383
|
|
|
343
384
|
- `cover-prompts.md` 里的变量占位符此前全部丢失(只剩 `""`、`()` 和附录空白列),提示词无法照填;现统一恢复为 `【标题】`、`【胶囊标签】` 等 `【】` 变量。
|
|
344
385
|
- `cover-prompts.md` 标题「十九种」、样张数「42 张」与实际不符,改为 22 种风格、55 张样张。
|
|
@@ -384,12 +425,12 @@
|
|
|
384
425
|
## [0.8.28] - 2026-10-11
|
|
385
426
|
|
|
386
427
|
> 根包 0.8.27 → **0.8.28**(patch);技能版本:topmind-wechat-post 0.3.3 → 0.3.4、topmind-briefs 0.2.10 → 0.2.11。
|
|
387
|
-
>
|
|
428
|
+
> 本次为本地既有修正的补发——该修正此前只存在于本地工作副本,远端 `main` 无对应提交。
|
|
388
429
|
|
|
389
430
|
> - 修 bug:`topmind-wechat-post/scripts/lint-wechat.py` 的**盘古之白误报**。检测侧直接对原文做 `PANGU_A/B.search()`,
|
|
390
|
-
>
|
|
431
|
+
> 而修正侧 `pangu_line()` 会先屏蔽行内代码 / 链接目标 / 裸 URL —— 两套规则不一致,导致图片链接目标里的中英混排片段
|
|
391
432
|
> 被算作缺空格,而 `--fix` 保护的正是这一段、根本不会改它,告警永远清不掉。新增 `pangu_scan()`,
|
|
392
|
-
>
|
|
433
|
+
> 让检测与修正共用同一套屏蔽规则
|
|
393
434
|
> - 修文案:`md2wechat.py` 的 `--author` 帮助文本仍写「留空写 {{作者名}} 占位」,
|
|
394
435
|
> 而函数自 2026-10-01 起已不再渲染自我介绍行,提示与实际行为对不上,改为「留空则不输出署名行」。
|
|
395
436
|
> 同步 `shared/` 与 `topmind-briefs/` 两份副本
|
|
@@ -429,44 +470,19 @@
|
|
|
429
470
|
|
|
430
471
|
> 根包 0.8.24 → **0.8.25**(patch);各技能版本不变。
|
|
431
472
|
|
|
432
|
-
> -
|
|
433
|
-
> 以及技能门禁在 poster、viral-posts 下临时生成的 2 个。6 个技能都没有 npm 依赖,这些锁文件里没有锁定任何包,用户按目录安装也用不上
|
|
434
|
-
> - 优化:技能门禁(`scripts/ci_skill_gates.sh`、`scripts/run_skill_gates.js install`)在技能没有运行时依赖时跳过 `npm install`,不再生成临时锁文件;
|
|
435
|
-
> 以后有依赖时,有锁文件用 `npm ci --omit=dev`,没有则用 `npm install --omit=dev --no-package-lock`
|
|
436
|
-
> - 优化:删除仓库里 4 个空锁文件,`.gitignore` 忽略 `package-lock.json`(以后某个技能加了依赖,按注释为它加例外后提交);
|
|
437
|
-
> `scripts/sync_npm_files.js` 为每个技能生成 `!<skill>/package-lock.json` 排除项,`package.json` `files` 同步更新
|
|
438
|
-
> - 优化:`scripts/check_npm_pack.js` 增加拦截 `package-lock.json`、`npm-shrinkwrap.json`、`node_modules/`
|
|
439
|
-
> - 优化:CI 与 Release 的 `setup-node` 去掉 `cache: npm`(没有依赖可缓存,原先指向的 `topmind-briefs/package-lock.json` 已删除)
|
|
440
|
-
> - 本地验证:全部门禁与打包步骤之后 `npm pack --dry-run`:123 → 117 个文件,锁文件 6 → 0;临时放入锁文件并去掉排除项时,`check_npm_pack.js` 报错退出
|
|
473
|
+
> - 优化:npm 包不再附带空的 `package-lock.json`;其余为发布流程与 CI 调整,无用户可见变化
|
|
441
474
|
|
|
442
475
|
## [0.8.24] - 2026-10-08
|
|
443
476
|
|
|
444
477
|
> 根包 0.8.23 → **0.8.24**(patch);各技能版本不变。
|
|
445
478
|
|
|
446
|
-
> -
|
|
447
|
-
> `dist/`(`<skill>.zip` 与 `<skill>.manifest.json`),0.8.23 的 npm 包因此多带了 briefs / poster / viral-posts 的 6 个文件(约 111 KB)。
|
|
448
|
-
> `scripts/sync_npm_files.js` 现在为每个发现到的技能生成 `!<skill>/dist/` 排除项,`package.json` `files` 同步更新;
|
|
449
|
-
> 这些产物仍作为 GitHub Release 附件发布
|
|
450
|
-
> - 优化:新增 `scripts/check_npm_pack.js`(`npm run check:pack`),按 `npm pack --dry-run` 的实际文件清单检查,
|
|
451
|
-
> 出现 `dist/`、`release-assets/`、`__pycache__/`、`*.pyc` 即失败。Release 在打包之后、建 Release 之前运行;
|
|
452
|
-
> CI `Skill package gates` 先按 Release 同口径真实打包再运行,问题在推送 main 时就能发现
|
|
453
|
-
> - 优化:GitHub Actions 改用 Node 24 运行时的版本:`actions/checkout` v4 → v7、`actions/setup-node` v4 → v7、`actions/setup-python` v5 → v7、
|
|
454
|
-
> `softprops/action-gh-release` v2 → v3;ci / release / deprecate-npm-2x 的 `node-version` 20 → 24(本地 Node 24 跑全部门禁与打包步骤通过)
|
|
455
|
-
> - 优化:`runs-on` 由 `ubuntu-latest` 固定为 `ubuntu-24.04`:GitHub 在 2026-10-19 至 11-19 期间把 `ubuntu-latest` 逐步切到 Ubuntu 26.04,先停在当前已验证的镜像,切 26.04 另行验证后再改
|
|
456
|
-
> - 本地验证:打包 6 个技能后 `npm pack --dry-run`:127 → 121 个文件,tarball 2,188,530 B → 2,090,653 B,
|
|
457
|
-
> 解包 2,842,215 B → 2,731,152 B,`dist/` 文件 6 → 0。完整走一遍 Release 步骤时为 123 个文件:技能门禁会在
|
|
458
|
-
> poster、viral-posts 下临时生成无依赖的 `package-lock.json`(各约 200 B),随包发布,不影响使用
|
|
479
|
+
> - 优化:npm 包不再附带 Release 打包产物(`dist/`),这些文件仍作为 GitHub Release 附件发布;其余为发布流程与 CI 调整
|
|
459
480
|
|
|
460
481
|
## [0.8.23] - 2026-10-08
|
|
461
482
|
|
|
462
483
|
> 根包 0.8.22 → **0.8.23**(patch);各技能版本不变。0.8.22 已打 tag 但未生成 Release、未发布 npm,其全部内容随 0.8.23 一并发布(见下方 0.8.22 条目)。
|
|
463
484
|
|
|
464
|
-
> -
|
|
465
|
-
> `__pycache__/`、`*.pyc`、`*.pyo`、`.DS_Store` 在校验与打包时都直接跳过,不再判为「不应进包的文件」;
|
|
466
|
-
> `scripts/_*`、`.env` 等仍按原规则拦截
|
|
467
|
-
> - 优化:`release.yml` 在 job 级设置 `PYTHONDONTWRITEBYTECODE=1`,负向测试运行脚本时不写字节码缓存,打包与 npm 包保持干净
|
|
468
|
-
> - 优化:CI `Skill package gates` 在负向测试之后追加「Release packaging check」,按 Release 同口径逐技能跑 `package_skill.py --check`,
|
|
469
|
-
> 打包问题在推送 main 时就能发现,不必等到打 tag
|
|
485
|
+
> - 发布流程与 CI 调整,无用户可见变化
|
|
470
486
|
|
|
471
487
|
## [0.8.22] - 2026-10-08
|
|
472
488
|
|
|
@@ -479,7 +495,7 @@
|
|
|
479
495
|
> 找不到时回落内置 `scan_ai_flavor_builtin.py` 并在 stderr 提示缺姿态维度(0.8.43 起改为环境变量 `$TOPMIND_AI_SCAN` 指定)
|
|
480
496
|
> - `md2wechat.py` 两版逐段比对:本仓 1801 行版本已包含旧版全部能力,并多出括号 URL、嵌套围栏、行内图片管线、
|
|
481
497
|
> 原子写、坏输入干净报错等处理,保留本仓版本;旧版独有的左衬条样式、自我介绍签名行、minimal-ink 默认主题
|
|
482
|
-
>
|
|
498
|
+
> 此前已去掉,不恢复
|
|
483
499
|
> - references 合入:`workflow.md` 补溯源审计步骤与 `word_count` 口径说明,`writing-quality.md` 补作者姿态分与清单文档误判说明
|
|
484
500
|
> - 优化:**去掉写死的路径、类别编号与年份**。新增 `scripts/wechat_paths.py`,`new-article / sync-status / sync-mapping / push-to-topstream`
|
|
485
501
|
> 共用:`--base` → `TOPMIND_WECHAT_BASE` → `--workspace` / `TOPMIND_WORKSPACE` 下按名称发现「长文」类别(兼容「创作」「专题」)
|
|
@@ -527,7 +543,7 @@
|
|
|
527
543
|
> 含「一段一图」分段图批量出图工作流(生成器 + 渲染器)
|
|
528
544
|
> - 新增 `scripts/render_poster.py`:一条命令跑完截图 → 扫底 → 裁切,支持批量、自动加大窗口重试、`--chrome` / `CHROME_PATH` 指定浏览器
|
|
529
545
|
> - 新增 `references/layout-recipes.md`:画布尺寸 / 字号层级 / 浅底深底配色 / 栅格 / 进度条 / 常用版式模板
|
|
530
|
-
> -
|
|
546
|
+
> - 记录 7 条实测经验:macOS 沙箱下必须 `--no-sandbox`、柱状图填充整条消失(`<span>` 需 `display:block`)、
|
|
531
547
|
> 裁切基准色不能取左上角(顶部装饰层会污染)、PNG 重采样反而变大、`str.format()` 拼 CSS 报 KeyError 等
|
|
532
548
|
> - 定位说明:本技能只管**出图那一环**;封面走 `topmind-cover`,PPTX 走 `top-ppt-html`
|
|
533
549
|
> - README 技能表补齐 **topmind-viral-posts**(英文版此前缺)、校正各技能版本号与安装器版本
|
|
@@ -536,15 +552,15 @@
|
|
|
536
552
|
|
|
537
553
|
> 根包 0.8.18 → **0.8.19**(patch);技能:topmind-viral-posts 0.3.0 → **0.3.1**(patch,纯运营 7 型并入)。
|
|
538
554
|
|
|
539
|
-
> - topmind-viral-posts 新增 **8-14
|
|
555
|
+
> - topmind-viral-posts 新增 **8-14 型纯运营吸粉模板**(暴论型/数据晒单型/真诚交友型/吐槽共鸣型/干货技巧型/经验忠告型/执行清单型)
|
|
540
556
|
> - 新增 **Hashtag 矩阵**(#蓝V互关 #follow #真诚交友 #浇朋友 黄金组合)与 **圈内用语词典**(浇朋友/蓝朋友/出摊/串门/上岸)
|
|
541
|
-
> - 8-14 型为纯 X
|
|
557
|
+
> - 8-14 型为纯 X 运营/吸粉内容,不蹭新闻热点
|
|
542
558
|
|
|
543
559
|
## [0.8.18] - 2026-10-03
|
|
544
560
|
|
|
545
561
|
> 根包 0.8.17 → **0.8.18**(patch);技能:topmind-wechat-post 0.3.1 → **0.3.2**(patch,衬条禁令铁律)。
|
|
546
562
|
|
|
547
|
-
> - design.md 设计要点新增
|
|
563
|
+
> - design.md 设计要点新增 **禁止顶部/侧边衬条和颜色条铁律**:用浅色调色板区分区块,不用硬色条;MD3 真风格 = 浅色调色块 + 圆角 + 柔和阴影 + 标签药丸
|
|
548
564
|
|
|
549
565
|
## [0.8.17] - 2026-10-03
|
|
550
566
|
|
|
@@ -552,7 +568,7 @@
|
|
|
552
568
|
|
|
553
569
|
> - design.md 新增 **MD3 卡片规范**:禁止 matplotlib 做信息图,走 HTML+CSS → Playwright 截图 → PNG 路线;卡片不要衬条,表格式图表用浅色风格
|
|
554
570
|
> - writing-quality.md 事实关新增 **第三方图片核实三问**:数字是否过于整齐、时间是否对得上、总量是否对得上
|
|
555
|
-
> - writing-quality.md 文字关新增 **去AI
|
|
571
|
+
> - writing-quality.md 文字关新增 **去AI味补充清单**:"不是…是…"对比句式、一句话总结、真正的、过度简洁、中立措辞
|
|
556
572
|
|
|
557
573
|
## [0.8.16] - 2026-10-03
|
|
558
574
|
|
|
@@ -592,7 +608,7 @@
|
|
|
592
608
|
>
|
|
593
609
|
> - 配图铁律重写:官方原图 > 第三方原图 > AI 生图;只有纯引流段子或无可用原图时才生图;
|
|
594
610
|
> 生图风格统一为清新优雅 / 商务美观 MD3 风(段子/短文/长文通用)。
|
|
595
|
-
> -
|
|
611
|
+
> - 修正 SKILL.md 类型表新人报到型重复行。
|
|
596
612
|
|
|
597
613
|
## [0.8.11] - 2026-10-03
|
|
598
614
|
|
|
@@ -638,7 +654,7 @@
|
|
|
638
654
|
> 根包 0.8.6 → **0.8.7**(patch);技能:topmind-briefs 0.2.4 → **0.2.5**、
|
|
639
655
|
> topmind-x-article 0.4.5 → **0.4.6**、topmind-wechat-post 0.2.8 → **0.2.9**(patch)。
|
|
640
656
|
>
|
|
641
|
-
> - 全仓:writing-principles.md 第五节新增"很老"→"可以追溯很早之前"
|
|
657
|
+
> - 全仓:writing-principles.md 第五节新增"很老"→"可以追溯很早之前"。
|
|
642
658
|
|
|
643
659
|
## [0.8.6] - 2026-10-02
|
|
644
660
|
|
|
@@ -657,7 +673,7 @@
|
|
|
657
673
|
> 根包 0.8.3 → **0.8.4**(patch);技能:topmind-briefs 0.2.3 → **0.2.4**、
|
|
658
674
|
> topmind-x-article 0.4.3 → **0.4.4**、topmind-wechat-post 0.2.6 → **0.2.7**(patch)。
|
|
659
675
|
>
|
|
660
|
-
> - 全仓:writing-principles.md
|
|
676
|
+
> - 全仓:writing-principles.md 编号修正(二点五 4→5→6),四处全量同步
|
|
661
677
|
> (含第五节措辞偏好)。
|
|
662
678
|
|
|
663
679
|
## [0.8.3] - 2026-10-02
|
|
@@ -666,7 +682,7 @@
|
|
|
666
682
|
> topmind-x-article 0.4.2 → **0.4.3**、topmind-cover 0.4.0 → **0.4.1**(均为 patch)。
|
|
667
683
|
>
|
|
668
684
|
> - wechat-post:`references/writing-principles.md` 新增第五节"措辞偏好"
|
|
669
|
-
>
|
|
685
|
+
> (不用噱头式导语/"一句话"伪简洁/绝对化断言/
|
|
670
686
|
> "我的判断"/"全文的题眼"/"同一份报告"/"坑"字/看不懂的梗;断言留余地、
|
|
671
687
|
> 简洁不取巧、评论腔删掉);SKILL.md 实战沉淀追加 v2 措辞整改、PIL 结尾
|
|
672
688
|
> 总结插图做法、topmind-cover 封面流程
|
|
@@ -896,13 +912,13 @@
|
|
|
896
912
|
> 根包 0.4.0 → **0.4.1**(patch);技能版本:top-ppt-html 0.2.0 → **0.2.1**(修技能数据 bug 则 patch)、
|
|
897
913
|
> topmind-cover 保持 0.2.0(仅换样张图+描述文案,无功能变更)、topmind-wechat-post / topmind-x-article 保持 0.1.0。
|
|
898
914
|
> 本轮是第十三轮集成轮(A 文档抛光 + B 示例与描述 + C 新代码复审),改动最小、无新功能。
|
|
899
|
-
> 另含第十四轮集成轮(wechat-post/x-article 真
|
|
915
|
+
> 另含第十四轮集成轮(wechat-post/x-article 真 优化 + installer 测试扩展):**不 bump 版本**,全部并入 0.4.1。
|
|
900
916
|
|
|
901
|
-
### 安装器
|
|
917
|
+
### 安装器 优化(高危 · Worker C 复审发现)
|
|
902
918
|
|
|
903
919
|
- `uninstall`/`install` 的 `assertDestOutsideSource` 守卫被符号链接绕过:`path.resolve` 不解析软链,
|
|
904
920
|
`--to <软链指向包根>` 会跟随链接 `rmSync` 删掉包内技能源目录(已实测验证旧代码确会删源)
|
|
905
|
-
-
|
|
921
|
+
- 修正:`bin/tms-skills.js` 改用 `realpath` 归一化比对(`realOrResolved()`:dest 不存在时向上找最深存在祖先),+25/−4
|
|
906
922
|
- `scripts/test_installer_cli.js` 新增 case11/case12(uninstall/install 经软链指包根 → 拒绝、源目录完好),12 用例全过
|
|
907
923
|
|
|
908
924
|
### top-ppt-html 0.2.1(Worker C 复审发现 · 低危数据 bug)
|
|
@@ -939,7 +955,7 @@
|
|
|
939
955
|
- **分发体积与性能**(Worker B):无真问题。0.4.1 tarball 解包 29.1MB(0.3.9 18.4MB,
|
|
940
956
|
+10.7MB 系封面示例画廊预期增量);top10 大文件全合法素材;48 图标 PNG 最大 27.4KB 无异常;
|
|
941
957
|
install 耗时 0.3s 不需优化;`sync_npm_files.js --check` 通过
|
|
942
|
-
- 技能版本号保持:wechat-post / x-article 保持 0.1.0(纯
|
|
958
|
+
- 技能版本号保持:wechat-post / x-article 保持 0.1.0(纯 优化按技能版本规则不 bump);
|
|
943
959
|
cover 保持 0.2.0、ppt-html 保持 0.2.1、根包保持 0.4.1
|
|
944
960
|
|
|
945
961
|
## [0.4.0] - 2026-09-29
|
|
@@ -966,7 +982,7 @@
|
|
|
966
982
|
|
|
967
983
|
- 内置原创图标包 `assets/icons/`:48 SVG + 48 PNG + `index.json` 映射,7 个默认图标兜底;`scripts/check_icons.py`(`--strict`)做图标一致性门禁;`references/icons.md` 文档化
|
|
968
984
|
- 3 种 layout variant:bento-grid / timeline / 2-col-feature(`references/layout-variants.md`);`references/style-pack.md` 风格包文档化
|
|
969
|
-
- `validate_report.py` 新增内容覆盖率检查(<95% WARN
|
|
985
|
+
- `validate_report.py` 新增内容覆盖率检查(<95% WARN);随门禁修正 6 个真实丢字 bug
|
|
970
986
|
- `scripts/layout-constants.json` 加 adaptiveText 弹性文本规则;HTML/PPTX 弹性适配减少溢出截断
|
|
971
987
|
|
|
972
988
|
## [0.3.9] - 2026-09-29
|
|
@@ -980,10 +996,10 @@
|
|
|
980
996
|
|
|
981
997
|
- TODO 注释 6 命中 → 0 真遗留(均为有意为之:文档纪律说明/scaffold 指导注释/校验正则/示例代称)
|
|
982
998
|
- 死代码:全仓 Python + top-ppt-html JS 逐函数交叉 grep,零死函数;12 个 CLI 参数逐个验证全部在用
|
|
983
|
-
-
|
|
999
|
+
- 跨技能一致性修正:19 处错误信息半角冒号 `错误:` → 全角 `错误:`(多数派 47 处);`validate_report.py` 加 `-h/--help` 早退(exit 0),与其他 argparse CLI 一致
|
|
984
1000
|
- 重复逻辑(仅记录,不重构):`esc()` HTML 转义三处逐字相同、`read_frontmatter()` 跨技能同构、`load_constants()` 各自实现——均为四技能同构门禁的有意设计
|
|
985
1001
|
|
|
986
|
-
### 对抗输入测试(第十一轮 Worker B:5
|
|
1002
|
+
### 对抗输入测试(第十一轮 Worker B:5 真崩溃全部修正)
|
|
987
1003
|
|
|
988
1004
|
- `bin/tms-skills.js`:`--to` 指向已存在文件时 `mkdirSync` 抛未捕获堆栈 → try/catch 干净报错 exit 1
|
|
989
1005
|
- `md2wechat.py`:`resolve_image` 的 `shutil.copy2`/`os.makedirs` 未捕获 OSError(磁盘满/目录当图片)→ 干净报错 exit 1
|
|
@@ -994,33 +1010,33 @@
|
|
|
994
1010
|
### 文档一致性(第十一轮 Worker C)
|
|
995
1011
|
|
|
996
1012
|
- 审计结论抽查 5 处全部为真(architecture 归一化/SKILL.md 13KB 预算/cover 触发词/ip-fun 原位垫色块补丁/footer 移出 content 标记)
|
|
997
|
-
- SKILL.md vs --help
|
|
1013
|
+
- SKILL.md vs --help 漂移修正 1 处:wechat-post SKILL.md 注释声称 `--workspace` 参数,全仓无此参数 → 改为 `--base`
|
|
998
1014
|
- README 示例 10/10 实跑通过(/tmp 干净目录,本地包安装)
|
|
999
1015
|
|
|
1000
1016
|
## [0.3.8] - 2026-09-29
|
|
1001
1017
|
|
|
1002
1018
|
> **本版未发布**(未打 tag、未推 npm;0.3.8 全部内容已并入 0.3.9)。
|
|
1003
1019
|
> 根包 0.3.6 → **0.3.8**(patch);4 个技能 `version` 保持不动(top-ppt-html 0.1.19,其余 0.1.0)。
|
|
1004
|
-
> 本轮只动 top-ppt-html +
|
|
1020
|
+
> 本轮只动 top-ppt-html + 文档:渲染产出目检修正(A)+ PPTX 双引擎保真修正 11 bug(B)+ 文档修正(C)。
|
|
1005
1021
|
|
|
1006
|
-
### 模板 footer
|
|
1022
|
+
### 模板 footer 修正(第十轮 Worker A:渲染产出目检)
|
|
1007
1023
|
|
|
1008
|
-
- `top-ppt-html/assets/templates/{presentation,research,architecture}.html`:`<footer>` 移出 `__TOPPPT_CONTENT_START__`/`__TOPPPT_CONTENT_END__` 标记之外——此前自动渲染取 content
|
|
1024
|
+
- `top-ppt-html/assets/templates/{presentation,research,architecture}.html`:`<footer>` 移出 `__TOPPPT_CONTENT_START__`/`__TOPPPT_CONTENT_END__` 标记之外——此前自动渲染取 content 区间时会连带删除页脚,目检确认已修正。
|
|
1009
1025
|
|
|
1010
|
-
### PPTX
|
|
1026
|
+
### PPTX 双引擎保真修正(第十轮 Worker B:PPTX 实检,11 bug 全部像素复验)
|
|
1011
1027
|
|
|
1012
1028
|
- `top-ppt-html/scripts/build_pptx.js` + `assets/pptx-export.js`(双端同规则):
|
|
1013
|
-
- 图表数据标签小数位:按模型数值实际小数位(上限 2 位)生成 format code
|
|
1029
|
+
- 图表数据标签小数位:按模型数值实际小数位(上限 2 位)生成 format code,修正小数标签被截断
|
|
1014
1030
|
- hbar 条形图:类目轴自下而上绘制,反转数据使首项居顶;单系列颜色按数据点分配(跟随数据归属,与 A 通道一致)
|
|
1015
1031
|
- streamgraph 退化:相邻 ribbon quad 沿走向微叠 0.02in,消除拼接处抗锯齿发丝缝
|
|
1016
1032
|
- boxplot:min 标签默认移到须线帽下方,不再被组标签带压住叠印
|
|
1017
|
-
- marimekko:单元格归一化兼容裸数值或 `[标签,数值]`
|
|
1018
|
-
- pyramid:标题列宽按层内宽比例(labelFrac≈0.3
|
|
1033
|
+
- marimekko:单元格归一化兼容裸数值或 `[标签,数值]` 对(裸数值沿用旧行为),修正 NaN 崩坏
|
|
1034
|
+
- pyramid:标题列宽按层内宽比例(labelFrac≈0.3)分配,顶层窄时改单框混排,修正窄层标题/说明叠印
|
|
1019
1035
|
- KPI:第 4 个起的支撑指标不再静默截断——容量按最小允许行高计算、行高按全部指标自适应压缩,超容显式告警
|
|
1020
|
-
- donut 图例:百分比列 x(`donut.legendPctX` 5.3 → 10.8
|
|
1036
|
+
- donut 图例:百分比列 x(`donut.legendPctX` 5.3 → 10.8)右移,修正图例数值被圆环覆盖
|
|
1021
1037
|
- table:内容高度逐格预估、超高全表收字号,字号触底仍装不下则显式告警(不再撑高行压脚注)
|
|
1022
1038
|
- exhibit 徽标:纯编号自动补 `Exhibit ` 前缀(与 HTML 视觉一致),已带前缀的不重复
|
|
1023
|
-
- sankey/streamgraph note:note 与 footnote 均参与 `chartBottom`
|
|
1039
|
+
- sankey/streamgraph note:note 与 footnote 均参与 `chartBottom` 结算,修正 note 重叠
|
|
1024
1040
|
- `top-ppt-html/scripts/layout-constants.json`:`donut.legendPctX` 5.3 → 10.8(单源),已由 `sync_runtime.py` 同步至 `pptx-export.js`、画廊、`templates/*.html`、示例的内联副本与 `__TOPPPT_RUNTIME_SHA__` 戳
|
|
1025
1041
|
|
|
1026
1042
|
### 文档修正(第十轮 Worker C)
|
|
@@ -1150,8 +1166,7 @@
|
|
|
1150
1166
|
|
|
1151
1167
|
### topmind-cover:6 张样张版式级重设计(差异化纠偏)
|
|
1152
1168
|
|
|
1153
|
-
-
|
|
1154
|
-
本轮按**版式级标准**重做:只保留抽象原则(标题是视觉重心/信息分层/留白呼吸感),
|
|
1169
|
+
- 上一轮样张的版式结构与参考封面过于接近,本轮按**版式级标准**重做:只保留抽象原则(标题是视觉重心/信息分层/留白呼吸感),
|
|
1155
1170
|
6 张重设计(gan-huo 居中构图+深炭灰暖橙、big-type 单行超大书法字+奶油亮底、
|
|
1156
1171
|
brand-launch 深海军蓝+荧光绿、tutorial-steps 横向时间线+墨色题字、
|
|
1157
1172
|
ip-fun 数字改右下角印章+橙黄暖色、news-flash 纯黑单色+纸纹+俯视静物大改),
|
|
@@ -1194,9 +1209,9 @@
|
|
|
1194
1209
|
- `references/cover-styles.md` 新增**原创铁律**:prompt 配方是设计语言,
|
|
1195
1210
|
禁止照抄任何第三方封面的文案与形象;8 风格示例小节同步换为本轮原创标题。
|
|
1196
1211
|
|
|
1197
|
-
### topmind-wechat-post:全面优化 + 4
|
|
1212
|
+
### topmind-wechat-post:全面优化 + 4 处修正
|
|
1198
1213
|
|
|
1199
|
-
- `scripts/md2wechat.py`
|
|
1214
|
+
- `scripts/md2wechat.py` 修正:**行内图片绕过图片管线**(现统一经管线解析、复制到
|
|
1200
1215
|
`images/`、登记上传清单、可被 `--embed-images` 内嵌);分隔线不再触发自家合规
|
|
1201
1216
|
WARN(改用块级 `<section>` 居中,视觉一致);标题手写序号剥离支持大写数字
|
|
1202
1217
|
(壹贰叁肆伍陆柒捌玖拾);图片 `title` 属性(``)不再导致整段源码泄漏。
|
|
@@ -1205,9 +1220,9 @@
|
|
|
1205
1220
|
- README(中/英):新增 9 行"最小示例"(输入→输出片段)+ `md2wechat` 参数表。
|
|
1206
1221
|
- `negative_tests.py` 5→8 项,全过。
|
|
1207
1222
|
|
|
1208
|
-
### topmind-x-article:全面优化 + 12 处转换
|
|
1223
|
+
### topmind-x-article:全面优化 + 12 处转换 优化
|
|
1209
1224
|
|
|
1210
|
-
- `scripts/md2x.py`
|
|
1225
|
+
- `scripts/md2x.py` 修正 12 处:标题/引用/表格内行内标记残留、引用式链接与图片
|
|
1211
1226
|
(`[文字][ref]`/`![alt][img]` 及定义行)、URL 含括号断裂、`\` 转义符残留、
|
|
1212
1227
|
Setext 标题残留、带空格分割线(`* * *`)不识别、代码块内 `---` 误判分割线、
|
|
1213
1228
|
文首 `---` 被 frontmatter 误吞、BOM 头、文档以代码块开头时首行缩进丢失。
|
|
@@ -1227,7 +1242,7 @@
|
|
|
1227
1242
|
教程步骤(`tutorial-steps`)/ IP 趣味(`ip-fun`)/ 资讯快报(`news-flash`)/
|
|
1228
1243
|
极简留白(`minimal`,保留)/ 杂志编辑(`magazine`,保留),
|
|
1229
1244
|
每种含适用场景、构图公式、配色 hex、标题写法规范(4~8 字、数字/关键词彩色突出)、
|
|
1230
|
-
中英 prompt
|
|
1245
|
+
中英 prompt 配方、常见问题;删除旧 6 风格。
|
|
1231
1246
|
- `assets/examples/` 样张全部重制:**16 张**(8 风格 × 1200×675 主图 + 900×383 公众号中央裁剪版)
|
|
1232
1247
|
+ `overview.png`(8 宫格总览图),逐张目检(标题逐字准确、无乱码、中央 60% 安全区),
|
|
1233
1248
|
7 次返工均为"底部元素超出安全区";旧 12 张移除。
|
|
@@ -1236,7 +1251,7 @@
|
|
|
1236
1251
|
- 根 README(中/英)、cover README(中/英)、cover SKILL.md 嵌入总览图(GitHub 绝对 URL)
|
|
1237
1252
|
+ 8 风格一行式索引;用法"6 选 1"→"8 选 1"。
|
|
1238
1253
|
|
|
1239
|
-
###
|
|
1254
|
+
### 优化
|
|
1240
1255
|
|
|
1241
1256
|
- topmind-wechat-post `scripts/md2wechat.py`:本地图片文件缺失时未登记进"图片上传清单"
|
|
1242
1257
|
(用户按清单补图会漏传);现登记 `⚠ 本地文件缺失` 行并计入"图片 N 张"计数。
|
|
@@ -1251,7 +1266,7 @@
|
|
|
1251
1266
|
|
|
1252
1267
|
- `references/cover-styles.md` 扩为 **6 种风格库**:震撼大字报(`big-poster`)/ 科技未来感(`tech-future`)/
|
|
1253
1268
|
杂志编辑风(`magazine`)/ 极简留白(`minimal`)/ 国潮插画(`guochao`)/ 赛博故障艺术(`cyber-glitch`),
|
|
1254
|
-
每种含适用场景、配色 hex、字体建议、中英 prompt
|
|
1269
|
+
每种含适用场景、配色 hex、字体建议、中英 prompt 配方、常见问题。
|
|
1255
1270
|
- `assets/examples/` 新增 **12 张示例图**(6 风格 × 1200×675 主图 + 900×383 公众号中央裁剪版,共约 6.4MB),
|
|
1256
1271
|
附 `assets/examples/README.md`(清单 + 安全区说明 + 复用声明),随 npm 包发布。
|
|
1257
1272
|
- SKILL.md 工作流新增"**步骤 0 选风格**"(三步必做:按题材 6 选 1 → 看示例图 → 按配方组 prompt)。
|
|
@@ -1262,13 +1277,13 @@
|
|
|
1262
1277
|
|
|
1263
1278
|
- top-ppt-html / topmind-wechat-post 的 SKILL.md `description` 改**第三人称**(降误触发);
|
|
1264
1279
|
topmind-cover `description` 同步微调("一次配齐"→"全流程覆盖"),`triggers` 新增 `缩略图` / `thumbnail`。
|
|
1265
|
-
- topmind-wechat-post
|
|
1280
|
+
- topmind-wechat-post:站外取源注意事项与回推命令收敛到 `references/workflow.md`,SKILL.md 只留索引;
|
|
1266
1281
|
新增跨技能路由索引(封面配图 → topmind-cover,X 长文 → topmind-x-article);
|
|
1267
1282
|
二级标题序号由排版层自动生成(不再手写)。
|
|
1268
1283
|
- 各技能 README(中/英)与 SKILL.md 对齐:cover 新增风格库与示例图章节、用法改"步骤 0 选风格";
|
|
1269
1284
|
x-article 转换规则补"分隔线→空行"。
|
|
1270
1285
|
|
|
1271
|
-
###
|
|
1286
|
+
### 优化
|
|
1272
1287
|
|
|
1273
1288
|
- topmind-x-article `scripts/md2x.py`:`---` / `***` / `___` 分隔线转**空行**(原逻辑误当 frontmatter 吞掉);
|
|
1274
1289
|
`***粗斜体***` 先去三重星号再处理 `**` / `__` / `*`,不再残留星号。
|
|
@@ -1283,7 +1298,7 @@
|
|
|
1283
1298
|
交付包 / 审校改写 / 质量三关(事实·逻辑·去 AI 味 ≥85)/ 状态同步 / 微信内联排版(`md2wechat --embed-images`)/ 发布清单。
|
|
1284
1299
|
适配点:frontmatter 去 topmind-pack 专有键(`degradation`/`action_category`/`entrypoint`),
|
|
1285
1300
|
跨 skill 引用改为通用表述,`writing-quality.md` 改用技能自带 `scan_ai_flavor.py`
|
|
1286
|
-
|
|
1301
|
+
(不再依赖技能外的脚本),`md2wechat.py` 缺失输入改干净报错(原 Traceback)。
|
|
1287
1302
|
- **topmind-x-article `0.1.0`**:X 长文一键发布。`md2x.py` 把 Markdown 转可直接粘贴进
|
|
1288
1303
|
X Article 编辑器的纯文本(标题→纯文本行、加粗/斜体去标记、链接→`文字(url)`、
|
|
1289
1304
|
图片→`[图N]`+文末配图清单、表格→"项:值"列表);`references/publish-checklist.md`
|
|
@@ -1298,12 +1313,12 @@
|
|
|
1298
1313
|
|
|
1299
1314
|
## [0.1.19] - 2026-09-28
|
|
1300
1315
|
|
|
1301
|
-
###
|
|
1316
|
+
### 排版修正 · 大纲篇章化 · 参考资料去假 · 图标真导出 · PPTX 高保真增强
|
|
1302
1317
|
|
|
1303
1318
|
> 源起:2026-09-28 用户复盘五类问题(顶栏重叠 / 卡片不齐 / 大纲罗列页标题 / 参考资料占位 / PPTX 格式错乱),并要求「业界怎么解决的,不要闭门造车」。本次对照 Slidev `pptx-editable` / PptxGenJS / think-cell 混合通道模式系统整改。
|
|
1304
1319
|
|
|
1305
1320
|
#### A. HTML 排版硬伤
|
|
1306
|
-
- **顶栏副标题压住右侧工具钮**:`.brand__txt` 此前无基础样式,flex `min-width:auto` 钉死整行文字宽,省略号永不触发。补 `min-width:0; overflow:hidden`,`.brand` / `.bar__in` / `.nav`
|
|
1321
|
+
- **顶栏副标题压住右侧工具钮**:`.brand__txt` 此前无基础样式,flex `min-width:auto` 钉死整行文字宽,省略号永不触发。补 `min-width:0; overflow:hidden`,`.brand` / `.bar__in` / `.nav` 收缩链修正;≤1360px 自动收起副标题。
|
|
1307
1322
|
- **卡片高度不一致**:`.card` 改 flex 列 + 底对齐;`.g-quad` / `.g-half` / `.g-*--equal` 强制等高;`.g-half` 提升进 `engine.css` 并改 `align-items:stretch`(此前 research 专属且 `start` 违反「同构同高」契约);纯卡片栅格不再误用 `.a-start`。
|
|
1308
1323
|
|
|
1309
1324
|
#### B. 大纲 = 章节大纲(3–7 章),不是页目录
|
|
@@ -1393,7 +1408,7 @@
|
|
|
1393
1408
|
### Craft · 结论条去 AI 味:取消左侧 accent 装饰轨
|
|
1394
1409
|
|
|
1395
1410
|
#### 设计决策(硬原则)
|
|
1396
|
-
- **结论条无 left rail
|
|
1411
|
+
- **结论条无 left rail**:结论条不用左侧色条。`.sowhat` / PPTX `soWhatBar()` 改为 **MD3 tonal surface 满铺**(`accent-soft` + 细描边)+ 舒适字阶 / `line-height:1.65` / 内边距 `--sp-5`/`--sp-6`;**禁止**竖色条、霓虹边、装饰 chip 当强调。
|
|
1397
1412
|
- 写入 `design-system` §去 AI 味、`content-rules`、`components-atoms`、`SKILL`、`layout-constants.aiFlavor.visual.forbidConclusionLeftRail`。
|
|
1398
1413
|
- 同类收口 `.note` 同步去掉左轨,改 tonal 细描边;`.flagbar`(待核实)保留细强调(功能态,非结论装饰)。
|
|
1399
1414
|
|
|
@@ -1630,7 +1645,7 @@
|
|
|
1630
1645
|
|
|
1631
1646
|
### top-ppt-html · Presentation Craft(Mode A 工艺)
|
|
1632
1647
|
|
|
1633
|
-
- **P0-1
|
|
1648
|
+
- **P0-1 图表多样性(保留)**:**不降** `minTypes.presentation`(仍为 **4**);registry/advanced 图种保留。纪律改为「按内容选型拉开多样」+ 禁反模式(简单全幅 / 极偏 donut / 为过门禁硬上冷门图);playbook §五 / layout-qa 同步。
|
|
1634
1649
|
- **P0-2 default-surface**:升为 Mode A / Fast 演示主读面(12 页型 + 8 核图 + V1–V4;P5–P12/advanced 按需);SKILL L2 索引指向。
|
|
1635
1650
|
- **P0-3 layout-qa 默认**:`validate_report --strict` 在 presentation 下自动 `--layout-qa`;`quality_gate` 同口径;B/C 不强制。
|
|
1636
1651
|
- **P0-4 主张标题**:Mode A action/claim title(禁话题标签)写入 content-rules / modes;校验 WARN。
|