@topmindspace/tms-skills 0.2.0 → 0.3.1

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 (49) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.en.md +57 -12
  3. package/README.md +56 -11
  4. package/bin/tms-skills.js +35 -5
  5. package/package.json +1 -1
  6. package/top-ppt-html/README.en.md +2 -2
  7. package/top-ppt-html/README.md +3 -3
  8. package/top-ppt-html/SKILL.md +4 -5
  9. package/top-ppt-html/references/modes.md +1 -1
  10. package/top-ppt-html/scripts/audit_docs.py +24 -0
  11. package/top-ppt-html/scripts/audit_skill.py +2 -2
  12. package/top-ppt-html/scripts/build_pptx.js +36 -0
  13. package/top-ppt-html/scripts/package_skill.py +3 -3
  14. package/topmind-cover/README.en.md +68 -0
  15. package/topmind-cover/README.md +34 -6
  16. package/topmind-cover/SKILL.md +44 -7
  17. package/topmind-cover/assets/examples/README.md +37 -0
  18. package/topmind-cover/assets/examples/big-type-wechat.png +0 -0
  19. package/topmind-cover/assets/examples/big-type.png +0 -0
  20. package/topmind-cover/assets/examples/brand-launch-wechat.png +0 -0
  21. package/topmind-cover/assets/examples/brand-launch.png +0 -0
  22. package/topmind-cover/assets/examples/gan-huo-wechat.png +0 -0
  23. package/topmind-cover/assets/examples/gan-huo.png +0 -0
  24. package/topmind-cover/assets/examples/ip-fun-wechat.png +0 -0
  25. package/topmind-cover/assets/examples/ip-fun.png +0 -0
  26. package/topmind-cover/assets/examples/magazine-wechat.png +0 -0
  27. package/topmind-cover/assets/examples/magazine.png +0 -0
  28. package/topmind-cover/assets/examples/minimal-wechat.png +0 -0
  29. package/topmind-cover/assets/examples/minimal.png +0 -0
  30. package/topmind-cover/assets/examples/news-flash-wechat.png +0 -0
  31. package/topmind-cover/assets/examples/news-flash.png +0 -0
  32. package/topmind-cover/assets/examples/overview.png +0 -0
  33. package/topmind-cover/assets/examples/tutorial-steps-wechat.png +0 -0
  34. package/topmind-cover/assets/examples/tutorial-steps.png +0 -0
  35. package/topmind-cover/references/cover-styles.md +327 -21
  36. package/topmind-cover/scripts/audit_docs.py +22 -0
  37. package/topmind-cover/scripts/crop-cover.py +1 -2
  38. package/topmind-wechat-post/README.en.md +63 -0
  39. package/topmind-wechat-post/README.md +16 -0
  40. package/topmind-wechat-post/SKILL.md +22 -13
  41. package/topmind-wechat-post/references/typography-rules.md +1 -1
  42. package/topmind-wechat-post/references/writing-quality.md +2 -2
  43. package/topmind-wechat-post/scripts/audit_docs.py +22 -0
  44. package/topmind-wechat-post/scripts/md2wechat.py +8 -1
  45. package/topmind-x-article/README.en.md +46 -0
  46. package/topmind-x-article/README.md +13 -2
  47. package/topmind-x-article/SKILL.md +13 -4
  48. package/topmind-x-article/scripts/audit_docs.py +22 -0
  49. package/topmind-x-article/scripts/md2x.py +5 -3
@@ -1,7 +1,26 @@
1
1
  # topmind-cover · 封面配图生成
2
2
 
3
+ [English](./README.en.md) | 中文
4
+
3
5
  为 X 长文和公众号文章生成封面图的可复用技能。目标:**震撼、醒目、主题突出**。
4
6
 
7
+ ## 风格样张
8
+
9
+ <p align="center">
10
+ <img src="https://github.com/topmindspace/tms-skills/raw/main/topmind-cover/assets/examples/overview.png" alt="topmind-cover · 8 封面风格总览" width="960" />
11
+ </p>
12
+
13
+ | 风格 | 适用场景 |
14
+ |------|----------|
15
+ | 爆款干货 `gan-huo` | 干货清单、评测、盘点、实测筛选;"我替你试完了/筛完了"类第一人称实测文默认选它 |
16
+ | 巨字宣言 `big-type` | 观点评论、深度长文、产品/版本发布宣言;"一句话立场"类文章默认选它 |
17
+ | 品牌发布 `brand-launch` | 产品发布、版本更新、官方最佳实践/白皮书;有明确品牌主体的内容首选 |
18
+ | 教程步骤 `tutorial-steps` | 教程、上手指南、分步实操、保姆级攻略 |
19
+ | IP 趣味 `ip-fun` | 实战案例、数据战报、复盘、系列连载(上/下篇) |
20
+ | 资讯快报 `news-flash` | 资讯、快讯、热点解读、人物专访预告、"祛魅/揭秘"类选题 |
21
+ | 极简留白 `minimal` | 随笔、书评、轻观点、生活感悟;公众号"轻阅读"类文章 |
22
+ | 杂志编辑 `magazine` | 深度访谈、人物特写、商业分析、年度盘点;需要"质感/信任感"时用它 |
23
+
5
24
  ## 安装
6
25
 
7
26
  ```bash
@@ -10,17 +29,26 @@ npx @topmindspace/tms-skills install topmind-cover
10
29
 
11
30
  ## 用法
12
31
 
13
- 1. 输入文章标题 + 3 个主题关键词 + 平台(x / wechat / both)
14
- 2. 按 `references/cover-styles.md` 选风格模板组 prompt(标题字逐字写进 prompt)
15
- 3. 用 agent 的图片生成能力出图(横构图 16:9,四周留白 8%)
16
- 4. 肉眼检查:标题字逐字正确、主体完整、一眼能说出主题
17
- 5. 裁剪落盘:
32
+ 0. **选风格(三步,必做)**:按题材从 `references/cover-styles.md` 选 1 种风格(8 选 1)
33
+ → 看 `assets/examples/<风格>.png` 示例图,确认视觉语言符合预期
34
+ → 按该风格的 prompt 配方组 prompt(把 `{TITLE}` 换成实际标题)。
35
+ 1. 输入文章标题 + 3 个主题关键词 + 平台(x / wechat / both,默认 both)。
36
+ 2. 用 agent 的图片生成能力出图(横构图 16:9,四周留白 8%)。
37
+ 3. 肉眼检查(必做):标题字逐字正确、主体完整、一眼能说出主题;标题字与关键主体
38
+ 落在中央垂直 60% 安全区内(900×383 中央裁剪不切字)。
39
+ 4. 裁剪落盘:
18
40
 
19
41
  ```bash
20
- python3 scripts/crop-cover.py <主图> --slug <slug> --out-dir <包>/images/
42
+ python3 scripts/crop-cover.py <主图> --out-dir <包>/images/
21
43
  # 产出 00-封面.png (1200×675) + 00-封面-公众号.png (900×383,中央裁剪)
22
44
  ```
23
45
 
46
+ ## 风格库与示例图
47
+
48
+ - **风格库** `references/cover-styles.md`:8 种风格(爆款干货 / 巨字宣言 / 品牌发布 / 教程步骤 / IP 趣味 / 资讯快报 / 极简留白 / 杂志编辑),每种含适用场景、配色 hex、字体建议、中英 prompt 配方、避坑。
49
+ - **示例图** [assets/examples/](./assets/examples/):17 张(8 风格 × 1200×675 主图 + 900×383 公众号中央裁剪版 + `overview.png` 8 宫格总览,约 7.5MB),随包发布,可直接拿去用/改(清单 + 安全区说明 + 复用声明见 [assets/examples/README.md](./assets/examples/README.md))。
50
+ - **安全区铁律**:标题字与关键主体必须落在画面中央垂直 60% 安全区内(上下各预留 13%+ 不放标题字),否则公众号中央裁剪会切掉标题。
51
+
24
52
  ## 尺寸
25
53
 
26
54
  | 平台 | 尺寸 | 比例 |
@@ -1,20 +1,23 @@
1
1
  ---
2
2
  name: topmind-cover
3
- version: 1.0.0
4
- description: "文章封面配图生成:X 长文与公众号共用。震撼、醒目、主题突出;平台尺寸规范、风格模板、命名落盘、成图检查一次配齐。Use when 封面、封面图、头图、配图、cover。Do NOT use for 正文插图、PPT/报告封面。"
3
+ version: 0.1.0
4
+ description: "文章封面配图生成:X 长文与公众号共用。震撼、醒目、主题突出;平台尺寸规范、风格模板、命名落盘、成图检查全流程覆盖。Use when 封面、封面图、头图、配图、cover。Do NOT use for 正文插图、PPT/报告封面。"
5
5
  action_category: write
6
6
  triggers:
7
7
  - 封面
8
8
  - 封面图
9
9
  - 头图
10
10
  - 配图
11
+ - 缩略图
11
12
  - cover
13
+ - thumbnail
12
14
  triggers_cn:
13
15
  - 公众号封面
14
16
  - X 封面
15
17
  - 文章封面
16
- author: Muse
18
+ author: TopMindspace
17
19
  license: MIT
20
+ homepage: https://github.com/topmindspace/tms-skills#readme
18
21
  updated: 2026-09-29
19
22
  ---
20
23
 
@@ -26,6 +29,25 @@ updated: 2026-09-29
26
29
  标题/主题 → 风格模板 → 生成 → 检查 → 裁剪双尺寸 → 落盘命名
27
30
  ```
28
31
 
32
+ ## 风格样张
33
+
34
+ <p align="center">
35
+ <img src="https://github.com/topmindspace/tms-skills/raw/main/topmind-cover/assets/examples/overview.png" alt="topmind-cover · 8 封面风格总览" width="960" />
36
+ </p>
37
+
38
+ | 风格 | 适用场景 |
39
+ |------|----------|
40
+ | 爆款干货 `gan-huo` | 干货清单、评测、盘点、实测筛选;"我替你试完了/筛完了"类第一人称实测文默认选它 |
41
+ | 巨字宣言 `big-type` | 观点评论、深度长文、产品/版本发布宣言;"一句话立场"类文章默认选它 |
42
+ | 品牌发布 `brand-launch` | 产品发布、版本更新、官方最佳实践/白皮书;有明确品牌主体的内容首选 |
43
+ | 教程步骤 `tutorial-steps` | 教程、上手指南、分步实操、保姆级攻略 |
44
+ | IP 趣味 `ip-fun` | 实战案例、数据战报、复盘、系列连载(上/下篇) |
45
+ | 资讯快报 `news-flash` | 资讯、快讯、热点解读、人物专访预告、"祛魅/揭秘"类选题 |
46
+ | 极简留白 `minimal` | 随笔、书评、轻观点、生活感悟;公众号"轻阅读"类文章 |
47
+ | 杂志编辑 `magazine` | 深度访谈、人物特写、商业分析、年度盘点;需要"质感/信任感"时用它 |
48
+
49
+ 单风格大图:`assets/examples/<style>.png`;配方:`references/cover-styles.md`。
50
+
29
51
  ## 尺寸表
30
52
 
31
53
  | 平台 | 尺寸 | 比例 | 备注 |
@@ -37,16 +59,25 @@ updated: 2026-09-29
37
59
 
38
60
  ## 工作流
39
61
 
40
- 1. **输入**:文章标题、3 个主题关键词、平台(`x` / `wechat` / `both`,默认 both)、风格(默认按题材自动选,见 `references/cover-styles.md`)。
41
- 2. **组 prompt**:`[风格模板] + 主体描述 + 大标题字(≤10 字,直接用文章标题或其压缩版)+ 横构图16:9 + 四周留白8%`。标题字必须在 prompt 里逐字写明,防 AI 自造错别字。
62
+ 0. **选风格(三步,必做)**:
63
+ ① 按题材从 `references/cover-styles.md` 选 1 种风格(8 选 1);
64
+ ② 看 `assets/examples/<style>.png` 示例图,确认视觉语言符合预期;
65
+ ③ 按该风格的 prompt 配方组 prompt(把 `{TITLE}` 换成实际标题)。
66
+ 示例清单见 `assets/examples/README.md`。
67
+ 1. **输入**:文章标题、3 个主题关键词、平台(`x` / `wechat` / `both`,默认 both)、
68
+ 风格(默认按题材自动选,见 `references/cover-styles.md`)。
69
+ 平台只影响生成 prompt 的侧重;裁剪落盘永远产出双尺寸。
70
+ 2. **组 prompt**:按 `references/cover-styles.md` 对应风格的配方组装
71
+ (标题 ≤10 字逐字写明,防 AI 自造错别字)。
42
72
  3. **生成**:`media.generate_image`,`name` 用 `<slug>-cover`。
43
73
  4. **检查**(必做,肉眼看一遍):
44
74
  - 标题字逐字正确,无错别字、无多字少字
45
75
  - 主体完整不被裁切,画面不杂乱
46
76
  - 一眼能说出主题;说不出就重生成
77
+ - 900×383 版复查:标题字、关键主体不被中央裁剪裁掉(见风格库"安全区铁律")
47
78
  5. **裁剪落盘**:
48
79
  ```bash
49
- python3 scripts/crop-cover.py <主图> --slug <slug> --out-dir <包>/images/
80
+ python3 scripts/crop-cover.py <主图> --out-dir <包>/images/
50
81
  ```
51
82
  产出 `00-封面.png`(1200×675,X/公众号共用主文件)与 `00-封面-公众号.png`(900×383)。
52
83
  公众号包规约:正文引用 `images/00-封面.png`,`图片上传清单.md` 登记两版。
@@ -56,9 +87,15 @@ updated: 2026-09-29
56
87
 
57
88
  - 一图一主题;主体占画面 40% 以上,居中或三分法
58
89
  - 大标题 ≤10 字,高对比(暗底亮字 / 亮底深字)
59
- - 四周 8% 安全边距,标题不贴边
90
+ - 四周 8% 安全边距,标题不贴边;标题字另须满足中央垂直 60% 安全区(见风格库"安全区铁律")
60
91
  - 忌:元素堆砌、小字密排、多主体打架、标题字错误
61
92
 
93
+ ## 外部依赖 / 规约来源
94
+
95
+ - "公众号包规约"(正文引用 `images/00-封面.png`、`图片上传清单.md` 登记两版)
96
+ 来自用户侧 workbuddy 环境,仓库内无此文件;缺失时仍按固定命名落盘,
97
+ 不阻塞核心流程。
98
+
62
99
  ## When NOT to use
63
100
 
64
101
  - 正文插图:主体是文字说明,按正文配图流程走
@@ -0,0 +1,37 @@
1
+ # 封面风格示例图
2
+
3
+ 8 种风格 × 2 种尺寸 = 16 张示例(共约 7.5MB,随 npm 包发布,npx 安装即得),
4
+ 另附 `overview.png`(8 宫格总览,2360×854)。
5
+
6
+ - `<style>.png`(1200×675,X 长文封面 / 公众号共用主尺寸)
7
+ - `<style>-wechat.png`(900×383,公众号封面大图,`scripts/crop-cover.py` 中央裁剪版)
8
+ - `overview.png`(8 宫格总览:2 行 × 4 列缩略图 + 风格名标注,选风格时先看它)
9
+
10
+ | 文件 | 风格 | 适用场景(一句话) |
11
+ |------|------|--------------------|
12
+ | `gan-huo.png` / `gan-huo-wechat.png` | 爆款干货 | 干货清单、评测、盘点、实测筛选;"我替你试完了/筛完了"类第一人称实测文默认选它 |
13
+ | `big-type.png` / `big-type-wechat.png` | 巨字宣言 | 观点评论、深度长文、产品/版本发布宣言;"一句话立场"类文章默认选它 |
14
+ | `brand-launch.png` / `brand-launch-wechat.png` | 品牌发布 | 产品发布、版本更新、官方最佳实践/白皮书;有明确品牌主体的内容首选 |
15
+ | `tutorial-steps.png` / `tutorial-steps-wechat.png` | 教程步骤 | 教程、上手指南、分步实操、保姆级攻略 |
16
+ | `ip-fun.png` / `ip-fun-wechat.png` | IP 趣味 | 实战案例、数据战报、复盘、系列连载(上/下篇) |
17
+ | `news-flash.png` / `news-flash-wechat.png` | 资讯快报 | 资讯、快讯、热点解读、人物专访预告、"祛魅/揭秘"类选题 |
18
+ | `minimal.png` / `minimal-wechat.png` | 极简留白 | 随笔、书评、轻观点、生活感悟;公众号"轻阅读"类文章 |
19
+ | `magazine.png` / `magazine-wechat.png` | 杂志编辑 | 深度访谈、人物特写、商业分析、年度盘点;需要"质感/信任感"时用它 |
20
+
21
+ 详细配方(配色 hex / 字体 / 中英 prompt / 避坑)见 `../references/cover-styles.md`。
22
+
23
+ ## 安全区说明(重要)
24
+
25
+ 所有示例的标题字与关键元素都落在**中央垂直 60% 安全区**(画面垂直 20%~80%)内——
26
+ 这正是 `900×383` 中央裁剪版(保留画面垂直 21.6%~78.4%)标题不被裁掉的原因。
27
+ 自己组 prompt 时务必遵守:标题/关键主体不得超出上下各 13% 的禁区,否则公众号版会被切掉。
28
+ 反例:胶囊标签条/副标题横条压在底部 85% 以下时,`-wechat.png` 里会只剩半截或完全消失
29
+ (本轮重制时 gan-huo / big-type / brand-launch / tutorial-steps 均因此返工过)。
30
+
31
+ ## 复用声明
32
+
33
+ **示例图可直接拿去用/改,作封面底图或风格参考。**
34
+ 拿去用时建议按 `scripts/crop-cover.py` 的流程重新裁剪双尺寸并按包规约命名落盘;
35
+ 改图时保留原风格的配色与版式语言,只换主体与标题字,以维持系列感。
36
+ 注意:示例标题均为虚构演示文案(如"星火最佳实践""100天"),直接复用前请换成自己的真实标题;
37
+ 凡封面上的数字必须在正文中有出处,严禁编造数据。
@@ -1,40 +1,346 @@
1
- # 封面风格模板
1
+ # 封面风格库(8 种)
2
2
 
3
3
  选风格先看题材,再看系列延续性。同一系列固定一个模板,只换主体与标题字。
4
+ 选风格三步走:**先选风格 → 看 `assets/examples/` 对应示例图 → 按本库配方组 prompt**。
4
5
 
5
- ## 科技深空(默认 · AI/技术题材)
6
+ 每种风格的 prompt 配方都是中英双语模板:`{TITLE}` 为标题文字占位符(短标题 4~8 字)、
7
+ `{KEYWORDS}` 为需要彩色突出的数字/关键词占位符,其余占位符见各风格说明。
8
+ 尺寸固定 1200×675、横构图 16:9。标题字逐字写进 prompt;生成后第一件事就是检查标题字。
6
9
 
7
- - 深色底(藏青/墨黑)+ 霓虹线条 + 细颗粒星空
8
- - 主体:产品/人物半身,面光干净
9
- - 标题:白色粗黑,字号压住上 1/3
10
- - 例:Manus 2.0、Cue、AI 智能体题材
10
+ ## 安全区铁律(所有风格通用)
11
11
 
12
- ## 清新浅色(人物/生活/轻题材)
12
+ 900×383 公众号版是从 1200×675 主图**中央裁剪**(上下各裁约 12.2%):
13
+ **标题字与关键主体必须落在画面中央垂直 60% 安全区内**
14
+ (上下各预留 13%+ 不放标题字),否则公众号版会被裁掉。
15
+ 选风格、组 prompt、检查成图时都要先过这一条;以下各风格的标题位置描述
16
+ 均已按此约束书写。
13
17
 
14
- - 米白/浅灰底 + 柔光 + 大面积留白
15
- - 主体居中,神态自然
16
- - 标题:深灰细黑,落在下方 1/4
17
- - 例:卡牌系列人物、随笔
18
+ ---
18
19
 
19
- ## 国潮撞色(文化/历史题材)
20
+ ## 1. gan-huo · 爆款干货
20
21
 
21
- - 朱红/黛青撞色 + 传统纹样暗纹
22
- - 主体:国风人物或器物
23
- - 标题:书法感粗体,竖排亦可
22
+ - **适用场景**:干货清单、评测、盘点、实测筛选类文章;"我替你试完了/筛完了"这类
23
+ 第一人称实测文的默认选择。参考样张:Muse 爆款干货、Manus 2.0 封面。
24
+ - **构图公式**:左右分区。左侧 60% 为文案堆叠区(自上而下:短引子行 → 巨型标题 →
25
+ 底部胶囊标签条);右侧 40% 为萌物/IP 形象(抱着主题物品,如帖子、产品),
26
+ 形象顶部不超过标题区、不遮挡任何文字。标题字占画面高度 25%~32%。
27
+ - **配色方案**:暖白底 `#FFF9F0`(或米白 `#FAF6EF`);主标题炭黑 `#1A1A1A`;
28
+ 数字/品牌词用亮蓝 `#2B7FFF`;篇数类数字可用橙红 `#FF4D2E`;
29
+ 关键词下垫黄色笔刷底 `#FFD23F`;底部标签条为蓝色胶囊 `#2B7FFF` 配白字。
30
+ - **标题写法规范**:
31
+ - 短标题 4~8 字,如"爆款干货""实测报告";上方加 1~2 行引子小字
32
+ ("刷了3天时间线/我从上百个帖子里"),引子字号约为标题的 55%。
33
+ - 数字必须放大并上色:"26篇"中的 26 用橙红,"3天"中的 3 用蓝色;
34
+ 品牌词(如 Muse、Manus)用蓝色。
35
+ - 底部标签条:蓝色圆角胶囊,内放 3 个标签,格式 `⚡四字词 | 📋四字词 | 📊四字词`
36
+ (如"实测筛选 | 长文精选 | 全流程实操"),字号约为标题的 30%。
37
+ - **prompt 配方**:
38
+ ```
39
+ 中文:爆款干货风中文封面,暖白色干净背景,左侧文案区:上方小字引子行,
40
+ 中央巨型炭黑色粗黑标题"{TITLE}",其中数字与关键词"{KEYWORDS}"用亮蓝色与橙红色突出,
41
+ 关键词下方垫黄色笔刷底色;底部一条蓝色圆角胶囊标签条;右侧一只毛茸茸的可爱
42
+ IP 萌物抱着与主题相关的物品,萌物占画面右侧三分之一、不遮挡文字,
43
+ 画面中央垂直安全区内,星星小点缀,亲切活泼,横构图16:9,尺寸1200×675。
24
44
 
25
- ## 硬核评测(产品评测题材)
45
+ EN: Chinese viral-listicle style cover, clean warm-white background. Left
46
+ text zone: small intro lines on top, giant bold charcoal-black Chinese
47
+ title "{TITLE}" at center, with numbers and keywords "{KEYWORDS}" highlighted
48
+ in bright blue and orange-red, a yellow brush stroke behind keywords; a blue
49
+ rounded capsule tag bar at the bottom. On the right third, a fluffy cute IP
50
+ mascot holding a theme-related item, never overlapping the text. All key
51
+ elements within the central vertical safe zone, tiny star accents, friendly
52
+ and lively, landscape 16:9, 1200x675.
53
+ ```
54
+ 占位符:`{CHARACTER}` 可替换萌物描述(如"蓝色毛绒小怪物""戴墨镜的猫导演"),
55
+ 必须与文章主题相关。
56
+ - **避坑**:
57
+ - 萌物是配角:占画面不超过 40%,一旦挡住标题字整张作废。
58
+ - 彩色字不要超过 2 种颜色,三色以上立刻变杂。
59
+ - 胶囊标签条必须整体落在中央安全区内,上下留白防裁切。
60
+ - 元素总数 ≤5(引子+标题+标签条+萌物+小点缀),多一件都是负担。
26
61
 
27
- - 深灰底 + 产品特写 + 数据流装饰
28
- - 标题:黄/白撞色,配 1 个核心数字(如"32%")
29
- - 忌:数字必须与正文一致,承重数字先核实
62
+ ## 2. big-type · 巨字宣言
30
63
 
31
- ## 通用 prompt 组装公式
64
+ - **适用场景**:观点评论、深度长文、产品/版本发布宣言;"一句话立场"类文章的默认选择。
65
+ 参考样张:Skill 指南封面。
66
+ - **构图公式**:标题即画面。巨型标题字占画面高度 35%~45%,横跨画面三分之二以上,
67
+ 分两行:上行品牌词/关键词(白色或黑色),下行宣言(品牌色/红色,可做 3D 立体字);
68
+ 背景为场景化配图(巨型书、建筑、空间纵深),人物极小仅作比例参照;
69
+ 底部一条白色横条放问题式副标题,横条压在画面底部安全区内。
70
+ - **配色方案**:深底版:近黑 `#101014` 底 + 纯白 `#FFFFFF` 字 + 强调红 `#E63B2E`
71
+ (或品牌色);浅底版:白底 + 黑字 + 红字。同一系列固定一种底色。
72
+ - **标题写法规范**:
73
+ - 短标题 4~8 字,分两行断句,如"Skill指南:/从入门到精通";下行宣言用彩色。
74
+ - 底部白横条用问句引出内容:"如何从0开始构建一个属于自己的Skill?",
75
+ 字号约为标题的 35%,左对齐。
76
+ - 右侧可加竖排小字装饰(如一句 slogan),字号小、不抢戏。
77
+ - **prompt 配方**:
78
+ ```
79
+ 中文:震撼巨字宣言风中文封面,深色场景化背景({SCENE},如巨型书本/建筑纵深,
80
+ 一位小小人物作比例参照),画面中央巨型中文标题"{TITLE}"占画面近一半,
81
+ 上行白色下行红色粗黑体,可做轻微3D立体质感,极具冲击力;底部一条白色横条,
82
+ 内写黑色问句副标题;标题与横条均在中央垂直安全区内,高对比,
83
+ 横构图16:9,尺寸1200×675。
84
+
85
+ EN: Bold giant-type manifesto Chinese cover, dark scenic background
86
+ ({SCENE}, e.g. gigantic books / architectural depth, a tiny human figure for
87
+ scale). Enormous bold Chinese title "{TITLE}" dominates the center, nearly
88
+ half the frame, white on the first line and red on the second, subtle 3D
89
+ extruded type feel, maximum impact; a white horizontal bar at the bottom
90
+ with a black question-style subtitle. Title and bar inside the central
91
+ vertical safe zone, high contrast, landscape 16:9, 1200x675.
92
+ ```
93
+ 占位符:`{SCENE}` 为场景化配图描述,必须与主题强相关(如 Skill 主题用"巨型操作手册")。
94
+ - **避坑**:
95
+ - 标题超过 10 个字必翻车——先压缩成 4~8 字再生成。
96
+ - 3D 立体字与背景对比度不够会"糊":深底配白字、浅底配黑字,边缘加细描边。
97
+ - 背景人物只是比例参照,放大抢戏就喧宾夺主。
98
+ - 字不能顶到画面边缘:四周至少留 5% 空气,否则公众号裁剪会切字。
99
+
100
+ ## 3. brand-launch · 品牌发布
101
+
102
+ - **适用场景**:产品发布、版本更新、官方最佳实践/白皮书;有明确品牌主体的内容首选。
103
+ 参考样张:typesafe AI Jev 封面、Manus 2.0 封面(品牌区部分)。
104
+ - **构图公式**:左文右图。左上品牌 logo 区(AI 不画 logo,prompt 里留空位、后期贴真实 logo);
105
+ 左侧大标题(品牌词用品牌色渐变 + 其余黑字),标题下手写感副标题 + 品牌色下划线;
106
+ 右侧 50% 为产品/界面展示(深色控制台、App 界面、产品渲染图);
107
+ 底部 3~4 个卖点图标条:图标 + 中文 + 英文小字。标题字占画面高度 20%~28%。
108
+ - **配色方案**:以品牌主色为准(示例:品红 `#E8408C` 渐变至 `#B02860`);
109
+ 浅底 `#FDF6F9`(或品牌浅色 tint);文字炭黑 `#1A1A1A`;
110
+ 图标底色用品牌色 10% 浅底。
111
+ - **标题写法规范**:
112
+ - 品牌词前置并上色:"Jev"用品牌色渐变,"最佳实践"用黑字;短标题 4~8 字。
113
+ - 副标题口语化、手写感,如"手把手教你改进现有工作流",下方加品牌色笔刷下划线。
114
+ - 卖点条格式:`图标 / 中文四字 / 英文小字`(如"更高效率 / Make it faster"),
115
+ 3~4 个,中文在上英文在下,英文仅装饰。
116
+ - **prompt 配方**:
117
+ ```
118
+ 中文:品牌发布风中文封面,品牌浅色背景({BRAND_TINT}),左上预留空白 logo 区,
119
+ 左侧大标题"{TITLE}",其中品牌词"{KEYWORDS}"用品牌主色({BRAND_COLOR})渐变突出、
120
+ 其余字炭黑色粗黑体;标题下方手写感副标题配品牌色下划线;
121
+ 右侧一半为产品展示({PRODUCT},深色界面、发光细节);底部 3~4 个卖点图标条
122
+ (图标+中文+英文小字);干净高级,横构图16:9,尺寸1200×675。
123
+
124
+ EN: Brand-launch style Chinese cover, light brand-tinted background
125
+ ({BRAND_TINT}), empty logo area reserved at top-left. Large title "{TITLE}"
126
+ on the left, brand term "{KEYWORDS}" in gradient brand color
127
+ ({BRAND_COLOR}), remaining characters in bold charcoal black; handwritten-feel
128
+ subtitle below with a brand-color underline. Right half shows the product
129
+ ({PRODUCT}, dark UI with glowing details). Bottom row of 3-4 selling-point
130
+ icon chips (icon + Chinese + small English). Clean and premium, landscape
131
+ 16:9, 1200x675.
132
+ ```
133
+ 占位符:`{BRAND_COLOR}`/`{BRAND_TINT}` 为品牌色 hex,`{PRODUCT}` 为产品展示描述;
134
+ 真实 logo 必须后期贴图,绝不用 AI 生成 logo。
135
+ - **避坑**:
136
+ - 产品界面里的 UI 文字让 AI 生成必出乱码:要求"界面文字模糊/占位块",
137
+ 或只展示界面氛围不展示可读文字。
138
+ - 卖点条超过 4 个立刻变说明书;英文小字必须人工核对拼写。
139
+ - 品牌色渐变只用在品牌词上,全标题上色等于没重点。
140
+
141
+ ## 4. tutorial-steps · 教程步骤
142
+
143
+ - **适用场景**:教程、上手指南、分步实操、保姆级攻略。参考样张:Reddit 上手教程封面。
144
+ - **构图公式**:左文右卡。左侧:顶部彩色笔刷横条(写起点,如"从0到1")→
145
+ 大黑标题(4~8 字)→ 底部彩色笔刷横条(内容总结,如"搞懂规则×发帖实操");
146
+ 右侧:2~3 张步骤卡片纵向拼贴(撕纸/便签质感),每张含彩色圆章序号(01/02)+
147
+ 小图标 + 短句,卡片间用箭头连接;右上小字点睛(如"先懂规则,再动手")。
148
+ 标题字占画面高度 22%~30%。
149
+ - **配色方案**:纸白底 `#F7F4EC`;笔刷/序号章用强调红 `#E8401F`
150
+ (或品牌色);标题字炭黑 `#1A1A1A`;卡片描边浅灰。
151
+ - **标题写法规范**:
152
+ - 顶部笔刷条:白字写起点/承诺,"从0到1""7天上手",4 字以内最有力。
153
+ - 大标题 4~8 字,如"Reddit上手/保姆级教程",分两行断句。
154
+ - 底部笔刷条:白字总结全文骨架,"搞懂规则×发帖实操",用 × 连接两个关键词。
155
+ - 步骤卡片内文字极简:序号 + 8 字以内短句(如"看懂平台与社区规则")。
156
+ - **prompt 配方**:
157
+ ```
158
+ 中文:教程步骤风中文封面,纸白色温暖背景,左侧:顶部红色笔刷横条白字写"{HOOK}",
159
+ 中央大号炭黑色粗黑标题"{TITLE}",底部红色笔刷横条白字写"{SUMMARY}";
160
+ 右侧两张撕纸质感便签卡片纵向排列,卡片上有红色圆形序号章(01/02)、
161
+ 简笔画小图标与极简短句,卡片间黑色箭头连接;右上角小字点睛;
162
+ 红黑白三色,对比鲜明,横构图16:9,尺寸1200×675。
163
+
164
+ EN: Tutorial-steps style Chinese cover, warm paper-white background. Left
165
+ side: red brush-stroke banner with white text "{HOOK}" on top, large bold
166
+ charcoal-black Chinese title "{TITLE}" at center, red brush banner with white
167
+ text "{SUMMARY}" at the bottom. Right side: two torn-paper memo cards
168
+ stacked vertically, each with a red circular number badge (01/02), a small
169
+ line icon and minimal short text, connected by a black arrow; small accent
170
+ text at top-right. Red-black-white palette, crisp contrast, landscape 16:9,
171
+ 1200x675.
172
+ ```
173
+ 占位符:`{HOOK}` 顶部钩子(≤4 字)、`{SUMMARY}` 底部总结(≤10 字)、
174
+ 卡片短句直接写进 prompt 且每张 ≤8 字(模型小字易错,越短越安全)。
175
+ - **避坑**:
176
+ - 步骤卡片最多 3 张,第 4 张起画面必乱。
177
+ - 卡片内一个字都不能多:小字是 AI 错别字重灾区,生成后逐字核对。
178
+ - 箭头方向必须明确向下/向右,别让模型自由发挥画成回路。
179
+ - 笔刷横条别压住标题字,上下留 breathing room。
180
+
181
+ ## 5. ip-fun · IP 趣味
182
+
183
+ - **适用场景**:实战案例、数据战报、复盘、系列连载(上/下篇)。参考样张:AI 视频制作实战封面。
184
+ - **构图公式**:左文右图。左侧:巨型彩色数字行(数字占画面高度 20%+,如"600万播放",
185
+ 数字彩色、单位黑字)→ 大黑标题(4~8 字)→ 灰色副标题 + 署名(左下小字);
186
+ 右侧 50% 为趣味 IP 形象:拟人动物/角色 + 主题道具(如猫导演 + 放映机 + 胶片),
187
+ 形象生动、与主题强绑定。
188
+ - **配色方案**:纯白底 `#FFFFFF`;数字用亮蓝 `#2B7FFF`(或品牌色);
189
+ 标题炭黑 `#1A1A1A`;副标题/署名用中灰 `#9AA0A6`。
190
+ - **标题写法规范**:
191
+ - 数字前置造冲击:"600万播放"中数字放大 1.5 倍并上色,单位用黑字;
192
+ 数字必须真实,严禁编造数据。
193
+ - 大标题 4~8 字黑粗体,如"AI视频制作实战"。
194
+ - 副标题灰字说明结构:"从想法到成片 · 下篇";署名 "@Xanderwow" 放左下角小字。
195
+ - **prompt 配方**:
196
+ ```
197
+ 中文:IP 趣味风中文封面,纯白干净背景,左侧:巨型亮蓝色数字"{NUMBER}"
198
+ 配炭黑色单位字,下方大号炭黑色粗黑标题"{TITLE}",再下方灰色小字副标题与署名;
199
+ 右侧一半为趣味 IP 形象({CHARACTER},如戴墨镜的猫导演操作复古放映机、
200
+ 胶片环绕),形象生动、细节丰富但不遮挡文字;所有文字在中央垂直安全区内,
201
+ 横构图16:9,尺寸1200×675。
202
+
203
+ EN: Fun-IP style Chinese cover, clean pure-white background. Left side: huge
204
+ bright-blue number "{NUMBER}" with charcoal-black unit characters, large
205
+ bold charcoal-black Chinese title "{TITLE}" below, small gray subtitle and
206
+ byline underneath. Right half features a playful IP character ({CHARACTER},
207
+ e.g. a sunglasses-wearing cat director operating a vintage film projector
208
+ with film reels swirling around), vivid and detailed but never covering the
209
+ text. All text within the central vertical safe zone, landscape 16:9,
210
+ 1200x675.
211
+ ```
212
+ 占位符:`{NUMBER}` 为真实数据("600万")、`{CHARACTER}` 为 IP 形象描述,
213
+ 必须与主题道具绑定(如视频主题 → 导演猫 + 放映机)。
214
+ - **避坑**:
215
+ - 数字造假是红线:封面上的每个数字必须在正文中有出处。
216
+ - IP 形象再可爱也不能抢字:右侧边界止于画面 55% 处。
217
+ - 白底最怕"脏":要求"纯白干净背景",防模型加渐变/纹理。
218
+ - 连载标注(上篇/下篇)放副标题里,别进大标题。
219
+
220
+ ## 6. news-flash · 资讯快报
221
+
222
+ - **适用场景**:资讯、快讯、热点解读、人物专访预告、"祛魅/揭秘"类选题。
223
+ 参考样张:算法工程师祛魅封面。
224
+ - **构图公式**:左文右图。左侧:两行大字标题(上行黑字 4 字、下行品牌色 4~5 字 +
225
+ 感叹号)→ 下方彩色胶囊副标题(问句/悬念);右侧 35%~50% 为人物或主题元素点缀
226
+ (二次元人物、产品小物、场景物件),点缀丰富但不进文字区。
227
+ 标题字占画面高度 22%~30%。
228
+ - **配色方案**:白底 `#FFFFFF`;标题黑 `#1A1A1A` + 品牌蓝 `#2B7FFF`
229
+ (或品牌色);胶囊副标题用品牌色底 + 白字。
230
+ - **标题写法规范**:
231
+ - 标题两行、上黑下彩,如"带你祛魅/算法工程师!",每行 4~6 字;
232
+ 感叹号是点睛,一个就够。
233
+ - 胶囊副标题用问句制造悬念:"薪资?日常?统统告诉你",问号 + 陈述收尾;
234
+ 问句必须在正文中有答案,不做无答案的标题党。
235
+ - 右侧点缀可加小标签云(如书脊上的"Machine Learning/PyTorch"),丰富主题氛围。
236
+ - **prompt 配方**:
237
+ ```
238
+ 中文:资讯快报风中文封面,纯白背景,左侧两行大字标题,上行炭黑色"{TITLE_TOP}"、
239
+ 下行品牌蓝色"{TITLE_BOTTOM}"加感叹号,粗黑体;标题下方蓝色圆角胶囊副标题,
240
+ 白字问句"{SUBTITLE}";右侧人物/主题元素点缀({CHARACTER},如专注的二次元
241
+ 少年、笔记本电脑、代码屏幕、书堆小物),生动但不遮挡文字;
242
+ 所有文字在中央垂直安全区内,横构图16:9,尺寸1200×675。
243
+
244
+ EN: News-flash style Chinese cover, white background. Left side: two-line
245
+ bold headline, charcoal-black "{TITLE_TOP}" on top and brand-blue
246
+ "{TITLE_BOTTOM}" with exclamation mark below; a blue rounded capsule
247
+ subtitle with a white question-style "{SUBTITLE}" underneath. Right side
248
+ decorative figure / theme elements ({CHARACTER}, e.g. a focused anime-style
249
+ youth, laptop, code screen, book stack props), lively but never covering the
250
+ text. All text within the central vertical safe zone, landscape 16:9,
251
+ 1200x675.
252
+ ```
253
+ 占位符:`{TITLE_TOP}` 上行(黑字)、`{TITLE_BOTTOM}` 下行(彩色)、
254
+ `{SUBTITLE}` 胶囊问句、`{CHARACTER}` 右侧点缀描述。
255
+ - **避坑**:
256
+ - 感叹号/问号各一个,多了变地摊文学。
257
+ - 右侧点缀元素别超过 4 件,多了就抢标题的风头。
258
+ - 胶囊问句的字数 ≤12 字,太长胶囊装不下会被模型挤小。
259
+ - 热点人物用"泛指"描述,不画可识别真人。
260
+
261
+ ## 7. minimal · 极简留白
262
+
263
+ - **适用场景**:随笔、书评、轻观点、生活感悟;公众号"轻阅读"类文章,
264
+ 或系列中需要"呼吸感"的穿插封面。
265
+ - **构图公式**:大面积留白(≥60%)。一处微小点缀落在右侧中央安全区内
266
+ (如水墨笔触、孤鸟剪影);标题小字号放左下角安全区内,不与点缀打架。
267
+ 标题字占画面高度 8%~12%。
268
+ - **配色方案**:主色米白 `#F7F4EC`(或冷白 `#F2F4F6`),
269
+ 辅色淡墨 `#9AA0A6`(小面积点缀),文字色深灰 `#3A3A3A`。
270
+ - **标题写法规范**:短标题 4~8 字即可,字体用 Noto Sans SC Medium(不用 Black,
271
+ 太重则极简感全失);不加副标题、不加标签条,克制到底。
272
+ - **prompt 配方**:
273
+ ```
274
+ 中文:极致极简主义封面,暖米白背景,大面积留白,一处微小的水墨笔触
275
+ (如孤鸟剪影)点缀在画面右侧中央(中央垂直安全区内),左下角(中央垂直安全区内)
276
+ 小字号深灰色中文标题"{TITLE}",呼吸感强,禅意,无其他元素,
277
+ 横构图16:9,尺寸1200×675,除标题外无其他文字。
278
+
279
+ EN: Extreme minimalism cover, warm off-white background with vast empty
280
+ space, one tiny ink-brush stroke (like a lone bird silhouette) near the
281
+ center-right. Small dark-gray Chinese title "{TITLE}" in delicate bold type
282
+ at the lower-left corner. Calm, airy, zen aesthetic, no other elements,
283
+ landscape 16:9, 1200x675, no other text.
284
+ ```
285
+ - **避坑**:
286
+ - 对"杂物"零容忍:prompt 明确"一处""微小""无其他元素",防模型加云加山。
287
+ - 标题字别贪大:字一大立刻变大字报。
288
+ - 主体和标题尽量往中央安全区放,防公众号裁剪吃掉左右留白。
289
+
290
+ ## 8. magazine · 杂志编辑风
291
+
292
+ - **适用场景**:深度访谈、人物特写、商业分析、年度盘点;需要"质感/信任感"时用它,
293
+ 公众号长文首选。
294
+ - **构图公式**:三分法。右侧三分之一为黑白质感人物肖像(泛指描述);
295
+ 左侧大面积留白;标题放左侧下方安全区内,标题上方一条品牌色/砖红细线。
296
+ 标题字占画面高度 14%~20%。
297
+ - **配色方案**:主色暖灰 `#E8E4DC`(浅底)或墨黑 `#141414`(深底版),
298
+ 辅色砖红 `#B03A2E`(细线/点缀),文字色炭黑 `#2B2B2B`(浅底)/
299
+ 米白 `#F5F1E8`(深底)。
300
+ - **标题写法规范**:短标题 4~8 字,字体用 Noto Serif SC Bold(宋体感)或思源黑体 Bold;
301
+ 标题上方一条细色线是杂志感的灵魂,别省略;深底/浅底同一系列只用一种。
302
+ - **prompt 配方**:
303
+ ```
304
+ 中文:杂志编辑风封面,暖灰色影棚背景,右侧三分之一处黑白质感人物肖像,
305
+ 左侧大面积留白,左侧下方(中央垂直安全区内)炭黑色典雅粗体中文标题"{TITLE}",
306
+ 标题上方一条砖红色细线,克制高级,杂志封面美学,
307
+ 横构图16:9,尺寸1200×675,除标题外无其他文字。
308
+
309
+ EN: Editorial magazine style cover, warm light-gray studio background,
310
+ dramatic black-and-white portrait in the right third, generous negative
311
+ space on the left. Dark charcoal elegant bold Chinese title "{TITLE}" at
312
+ lower left, with a thin brick-red rule line above it. Refined, minimal,
313
+ magazine cover aesthetic, landscape 16:9, 1200x675, no other text.
314
+ ```
315
+ - **避坑**:
316
+ - 人物肖像必须用"泛指"描述(商务人士/学者剪影),不得出现可识别的真实人物长相。
317
+ - 留白处别手痒加装饰字——杂志风的力量全在克制。
318
+ - 深底版和浅底版不要混用。
319
+
320
+ ---
321
+
322
+ ## 通用组装公式(沿用)
32
323
 
33
324
  ```
34
325
  {风格模板一句话},主体:{主体描述},
35
- 画面中央大标题“{≤10字标题}”,{暗底亮字/亮底深字},
326
+ 画面中央大标题"{≤10字标题}",{暗底亮字/亮底深字},
36
327
  横构图16:9,主体占画面40%以上,四周留白8%,
37
328
  极简,不堆砌元素,电影感光影
38
329
  ```
39
330
 
40
331
  标题字逐字写进 prompt;生成后第一件事就是检查标题字。
332
+ 示例图在 `assets/examples/`(`<style>.png` 1200×675 主图 + `<style>-wechat.png`
333
+ 900×383 公众号裁剪版),选风格前先看图。
334
+
335
+ ## 风格速查
336
+
337
+ | 风格 | 一句话 | 标题字号占比 | 首选题材 |
338
+ |---|---|---|---|
339
+ | gan-huo | 萌物 + 巨型标题 + 彩色数字 + 胶囊标签条 | 25%~32% | 干货清单/评测/盘点 |
340
+ | big-type | 标题即画面,字占近半,分两行撞色 | 35%~45% | 观点/深度/发布宣言 |
341
+ | brand-launch | 品牌色大标题 + 产品展示 + 卖点图标条 | 20%~28% | 产品发布/版本更新 |
342
+ | tutorial-steps | 笔刷横条标题 + 步骤卡片拼贴 + 序号章 | 22%~30% | 教程/上手指南 |
343
+ | ip-fun | 巨型彩色数字 + 趣味 IP + 署名 | 数字 20%+ | 实战案例/数据战报 |
344
+ | news-flash | 两行大字 + 胶囊问句 + 人物点缀 | 22%~30% | 资讯/解读/快讯 |
345
+ | minimal | 大面积留白,一处点缀,小字标题 | 8%~12% | 随笔/书评/轻阅读 |
346
+ | magazine | 三分法 + 人物肖像 + 细线标题 | 14%~20% | 访谈/商业分析/盘点 |
@@ -48,6 +48,28 @@ def main() -> None:
48
48
  check(False, f"{rel} 悬空链接: {link}")
49
49
  check(True, "内部 md 链接可达")
50
50
 
51
+ # 反引号代码引用中的路径可达(审计 轻微-15 门禁盲区:之前只查 [text](path) 形式,
52
+ # `references/pan-style.md` 这类反引号引用曾漏网)。抓取反引号内的 references/*.md
53
+ # 与 scripts/* 路径并校验存在;glob/占位符写法(* ? < > |)跳过。
54
+ backtick_path_re = re.compile(r"(references|scripts)/([\w.\-/]+)")
55
+ line_suffix_re = re.compile(r":\d+(?:-\d+)?$")
56
+ backtick_bad = 0
57
+ for md in md_files:
58
+ text = md.read_text(encoding="utf-8")
59
+ rel = md.relative_to(ROOT).as_posix()
60
+ for span in set(re.findall(r"`([^`]+)`", text)):
61
+ for kind, p in backtick_path_re.findall(span):
62
+ p = line_suffix_re.sub("", p)
63
+ if not p or any(c in p for c in "*?<>|"):
64
+ continue
65
+ target = md.parent / kind / p
66
+ if not target.exists():
67
+ target = ROOT / kind / p
68
+ if not target.exists():
69
+ backtick_bad += 1
70
+ check(False, f"{rel} 反引号引用不可达: `{kind}/{p}`")
71
+ check(backtick_bad == 0, f"反引号内 references/scripts 引用可达(扫描 {len(md_files)} 个 md 文件)")
72
+
51
73
  if errors:
52
74
  print(f"\n[audit_docs] {NAME}: {len(errors)} 项失败")
53
75
  sys.exit(1)