@topmindspace/topmind-writing-skills 0.8.37 → 0.8.39

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 (81) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.en.md +26 -11
  3. package/README.md +26 -11
  4. package/package.json +1 -1
  5. package/topmind-briefs/CHANGELOG.md +4 -0
  6. package/topmind-briefs/README.en.md +5 -1
  7. package/topmind-briefs/README.md +5 -1
  8. package/topmind-briefs/SKILL.md +2 -2
  9. 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 +13 -0
  10. package/topmind-briefs/examples/01-/351/223/276/346/216/245/344/270/216/351/205/215/345/233/276.txt +5 -0
  11. package/topmind-briefs/examples/02-X/347/237/255/346/226/207-/345/237/216/345/270/202/345/205/254/345/233/255.txt +13 -0
  12. package/topmind-briefs/examples/03-/345/205/254/344/274/227/345/217/267/347/237/255/346/226/207-/347/225/252/350/214/204/345/267/245/344/275/234/346/263/225.md +19 -0
  13. package/topmind-briefs/examples/README.md +9 -0
  14. package/topmind-briefs/package.json +1 -1
  15. package/topmind-briefs/references/emoji-system.md +1 -1
  16. package/topmind-briefs/references/x-layout-patterns.md +14 -15
  17. package/topmind-cover/README.en.md +10 -5
  18. package/topmind-cover/README.md +10 -5
  19. package/topmind-cover/SKILL.md +6 -6
  20. package/topmind-cover/assets/examples/README.md +4 -0
  21. package/topmind-cover/assets/examples/overview.png +0 -0
  22. package/topmind-cover/assets/title-specs/brand-launch.json +6 -0
  23. package/topmind-cover/assets/title-specs/hard-core-type.json +88 -0
  24. package/topmind-cover/assets/title-specs/ip-fun.json +66 -0
  25. package/topmind-cover/assets/title-specs/white-clean.json +56 -0
  26. package/topmind-cover/package.json +1 -1
  27. package/topmind-cover/references/cover-combos.md +224 -0
  28. package/topmind-cover/references/cover-patterns.md +275 -0
  29. package/topmind-cover/references/cover-prompts.md +5 -15
  30. package/topmind-cover/references/cover-styles.md +46 -21
  31. package/topmind-cover/references/design-system.md +172 -0
  32. package/topmind-cover/references/scene-builder.md +38 -14
  33. package/topmind-cover/references/typography-system.md +67 -0
  34. package/topmind-cover/scripts/check-title.py +80 -0
  35. package/topmind-cover/scripts/negative_tests.py +67 -0
  36. package/topmind-cover/scripts/title-engine.py +532 -0
  37. package/topmind-format/README.en.md +5 -1
  38. package/topmind-format/README.md +5 -1
  39. package/topmind-format/SKILL.md +1 -1
  40. package/topmind-format/examples/01-/345/216/237/346/226/207.txt +1 -0
  41. package/topmind-format/examples/01-/346/240/274/345/274/217/345/214/226/346/210/220/347/237/255/346/226/207.txt +10 -0
  42. package/topmind-format/examples/02-/345/216/237/346/226/207.txt +1 -0
  43. package/topmind-format/examples/02-/350/275/254/346/256/265/345/255/220.txt +11 -0
  44. package/topmind-format/examples/README.md +6 -0
  45. package/topmind-format/package.json +1 -1
  46. package/topmind-format/references/emoji-system.md +1 -1
  47. package/topmind-format/references/x-layout-patterns.md +14 -15
  48. package/topmind-format/scripts/negative_tests.py +1 -1
  49. package/topmind-poster/README.en.md +5 -1
  50. package/topmind-poster/README.md +5 -1
  51. package/topmind-poster/SKILL.md +1 -1
  52. package/topmind-poster/examples/01-/346/265/267/346/212/245-/351/230/205/350/257/273/346/234/210/346/212/245.md +8 -0
  53. package/topmind-poster/examples/02-/346/265/267/346/212/245-/345/267/245/345/205/267/345/210/206/347/272/247/346/246/234.md +9 -0
  54. package/topmind-poster/examples/README.md +6 -0
  55. package/topmind-poster/package.json +1 -1
  56. package/topmind-viral-posts/README.en.md +5 -1
  57. package/topmind-viral-posts/README.md +5 -1
  58. package/topmind-viral-posts/SKILL.md +1 -1
  59. package/topmind-viral-posts/examples/01-/345/221/250/344/270/200/346/227/251/346/231/250.txt +13 -0
  60. package/topmind-viral-posts/examples/02-/346/224/266/347/272/263.txt +13 -0
  61. package/topmind-viral-posts/examples/03-/350/257/273/344/271/246/350/256/241/345/210/222.txt +13 -0
  62. package/topmind-viral-posts/examples/README.md +9 -0
  63. package/topmind-viral-posts/package.json +1 -1
  64. package/topmind-viral-posts/references/emoji-system.md +1 -1
  65. package/topmind-viral-posts/references/patterns.md +14 -14
  66. package/topmind-viral-posts/references/x-layout-patterns.md +14 -15
  67. package/topmind-wechat-post/README.en.md +5 -1
  68. package/topmind-wechat-post/README.md +5 -1
  69. package/topmind-wechat-post/SKILL.md +1 -1
  70. package/topmind-wechat-post/examples/01-/345/205/254/344/274/227/345/217/267-/346/225/264/347/220/206/344/271/246/346/236/266.md +19 -0
  71. package/topmind-wechat-post/examples/02-/345/205/254/344/274/227/345/217/267-/347/254/254/344/270/200/346/254/241/345/205/273/347/273/277/346/244/215.md +17 -0
  72. package/topmind-wechat-post/examples/README.md +6 -0
  73. package/topmind-wechat-post/package.json +1 -1
  74. package/topmind-x-article/README.en.md +15 -11
  75. package/topmind-x-article/README.md +15 -11
  76. package/topmind-x-article/SKILL.md +1 -1
  77. package/topmind-x-article/examples/01-/351/225/277/346/226/207-/346/205/242/346/205/242/345/206/231.md +17 -0
  78. package/topmind-x-article/examples/02-/351/225/277/346/226/207-/345/221/250/346/234/253/347/237/255/351/200/224.md +19 -0
  79. package/topmind-x-article/examples/README.md +6 -0
  80. package/topmind-x-article/package.json +1 -1
  81. package/topmind-x-article/references/x-html-format.md +2 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,25 @@
1
+ ## [0.8.39] - 2026-10-16
2
+
3
+ > 根包 0.8.38 → **0.8.39**(patch);技能版本:topmind-briefs 0.2.19 → 0.2.20、topmind-cover 0.4.10 → 0.4.11、topmind-format 0.1.4 → 0.1.5、topmind-poster 0.1.5 → 0.1.6、topmind-viral-posts 0.3.11 → 0.3.12、topmind-wechat-post 0.3.11 → 0.3.12、topmind-x-article 0.4.17 → 0.4.18。
4
+
5
+ ### 变更(原创化清理 + 各技能原创示例)
6
+
7
+ - 全仓清理参考来源:删掉资料网址清单、外部文章出处行、第三方帖子链接与账号、「参考帖 / 灵感来自」类说法;示例里的真实产品名和第三方帖子改写换成我们自己写的虚构内容。规则全部改用我们自己的话表述。
8
+ - topmind-cover negative_tests 新增全仓守卫:再出现参考来源、站点名、账号或致谢语即失败。
9
+ - 各技能新增 `examples/` 原创示例:段子 3 条、短文 3 篇(含链接与配图另列)、排版前后对照 2 组、X 长文 2 篇、公众号 2 篇、海报文案 2 份;根 README 与各技能 README 加链接。
10
+
11
+ ## [0.8.38] - 2026-10-16
12
+
13
+ > 根包 0.8.37 → **0.8.38**(patch);技能版本:topmind-cover 0.4.9 → 0.4.10;其余技能不变。
14
+
15
+ ### 变更(topmind-cover 整张生成 + 组合玩法 + 示例图全量重做)
16
+
17
+ - 新增 `references/cover-patterns.md`(16 个整张生成范式 X1–X16)、`references/cover-combos.md`(22 个命名组合 + 优雅克制规则)、`references/design-system.md`(层级、网格、配色、字体搭配、中文字生图规约)。
18
+ - 新增 `scripts/check-title.py`(标题字数、繁体、形近字检查)与 `scripts/title-engine.py`(兜底多层叠字,`assets/title-specs/` 为示例 spec)。
19
+ - 默认出字路径改为整张生成:主标题占画面高 25–45%、强调色只落 1–3 字、字与场景同光同透视、文字留在中部水平带以适配 5:2 裁切、逐字核对、最多重出 3 次。
20
+ - `assets/examples/` 全部示例与 `overview.png` 按新组合整张重画;主图统一为文档所述的 1500×600,目录从 59M 压到约 19M。`docs/assets/writing-cover.png` 同步刷新。
21
+ - negative_tests 新增标题检查、范式库、组合库校验;evals 新增 cover-10、cover-11。
22
+
1
23
  ## [0.8.37] - 2026-10-16
2
24
 
3
25
  > 根包 0.8.36 → **0.8.37**(patch);技能版本:topmind-cover 0.4.8 → 0.4.9;其余技能不变。
package/README.en.md CHANGED
@@ -66,13 +66,13 @@ Single source in `shared/references/`, distributed to each skill's `references/`
66
66
  | `x-delivery-contract.md` (must read) | Short-post workflow: sources → original post/images → content → layout; emoji optional for short posts (emoji or 「1)」/「·」/【headings】 bullets), none at all in duanzi; never `- ` / `1. `; the X short-post / duanzi body is one copy-ready plain-text block (hashtags last); **links (including sources), original images and generated images are sent separately**; X long-form and WeChat articles may keep in-text links |
67
67
  | `x-post-format.md` | No Markdown, bullet sets, spacing, sources, skeletons, images, WeChat → X |
68
68
  | `emoji-system.md` | The TopMind emoji system (short posts only, optional): 0–2 persona motifs (🐔 🐱 🌱) at start/end; 0–1 keyword-matched title emoji; one bullet set per post |
69
- | `x-layout-patterns.md` | Layout patterns distilled from reference posts |
69
+ | `x-layout-patterns.md` | Layout patterns in our own words |
70
70
 
71
71
  Checks: `lint_x_post.py` (E1–E9 Markdown leftovers; E10–E12 URLs / source lines / image notes in the body; W9 AI-sounding phrases, W10 first line too long for a hook, W12 notes / internal tags in the body; W13 any emoji in a duanzi post with `--duanzi`; `--long` skips E10–E12 for long-form). The de-AI and hook checklist lives in section 5.5 of `writing-principles.md`.
72
72
 
73
73
  ### topmind-cover · Cover art generation
74
74
 
75
- Shared cover art for X long-form and WeChat: striking, eye-catching, theme-focused. **Theme → seven-layer scene recipe → 2–3 style-combo options → layered prompt → six-dimension score** (long titles: scene + `overlay-title.py` overlay), then one-click crop to both platform sizes with `crop-cover.py` (X 1500×600, WeChat 900×383). 22-style index and recipes: [`references/cover-styles.md`](./topmind-cover/references/cover-styles.md).
75
+ Shared cover art for X long-form and WeChat: striking, eye-catching, theme-focused. **Theme → seven-layer scene recipe → 2–3 style-combo options → layered prompt → seven-item score** (default: whole-image generation from 16 prompt patterns + character proofing and local fixes; fallback: scene + `title-engine.py` overlay), then one-click crop to both platform sizes with `crop-cover.py` (X 1500×600, WeChat 900×383). 22-style index and recipes: [`references/cover-styles.md`](./topmind-cover/references/cover-styles.md).
76
76
 
77
77
  ```bash
78
78
  npx @topmindspace/topmind-writing-skills install topmind-cover
@@ -98,19 +98,34 @@ npx @topmindspace/topmind-writing-skills install topmind-poster
98
98
  > the npm package is `@topmindspace/topmind-writing-skills` and the old package is no longer updated.
99
99
  > Also do not install the old package's `^2` (2.0.0–2.1.1 deprecated).
100
100
 
101
+
102
+ ## Original examples
103
+
104
+ Every skill ships sample outputs written by us (fictional or neutral topics; no third-party text or images):
105
+
106
+ | Skill | Examples |
107
+ |---|---|
108
+ | topmind-viral-posts (one-liners) | [`topmind-viral-posts/examples/`](./topmind-viral-posts/examples/) |
109
+ | topmind-briefs (short posts) | [`topmind-briefs/examples/`](./topmind-briefs/examples/) |
110
+ | topmind-format (formatting) | [`topmind-format/examples/`](./topmind-format/examples/) |
111
+ | topmind-x-article (X long-form) | [`topmind-x-article/examples/`](./topmind-x-article/examples/) |
112
+ | topmind-wechat-post (WeChat) | [`topmind-wechat-post/examples/`](./topmind-wechat-post/examples/) |
113
+ | topmind-poster (posters) | [`topmind-poster/examples/`](./topmind-poster/examples/) |
114
+ | topmind-cover (covers) | [`topmind-cover/assets/examples/`](./topmind-cover/assets/examples/) |
115
+
101
116
  ## Skills
102
117
 
103
118
  | Skill | Version | What it does |
104
119
  |-------|---------|--------------|
105
- | [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.11** | WeChat article lifecycle: package, review, 3 quality gates, inline typography & publish checklist |
106
- | [`topmind-x-article`](./topmind-x-article/) | **0.4.17** | X long-form one-click publish: Markdown → one-click-copy HTML (images/prompt copy, click-to-zoom images) / plain-text fallback + cover + checklist |
107
- | [`topmind-cover`](./topmind-cover/) | **0.4.9** | Cover art for X / WeChat (X master 1500×600 / 5:2): striking, theme-focused; 22-style cover style library + 16:9 X short-post cover scene + 24 title treatments + 7-layer scene recipe + 55 example images (22 styles × 2 sizes + 11 variant samples) + 1 style overview |
108
- | [`topmind-briefs`](./topmind-briefs/) | **0.2.19** | Short-form briefs (WeChat + X): one topic, one chart; data rankings / paper explainers / product alerts / mechanism explainers; sources → images → content → layout; one copy-ready plain-text X block (no HTML by default, emoji optional, no AI tone), links / images sent separately; asks before generating any image |
109
- | [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.11** | X viral short posts: 18 template types + combinations, duanzi layout (blank lines, no emoji, plain bullet lines), one copy-ready plain-text block per post with hashtags last, links / images sent separately, classification tags listed separately; asks before generating an image |
110
- | [`topmind-format`](./topmind-format/) | **0.1.4** | X plain-text formatter: to duanzi (blank lines, no emoji) / to short post (paragraphing + sensible lists, emoji optional); layout only, words unchanged, with a fidelity check; one copy-ready plain-text body, links / images sent separately |
111
- | [`topmind-poster`](./topmind-poster/) | **0.1.5** | HTML+CSS → high-res long image / poster / infographic PNG: headless Chrome 2× screenshot + auto-trim; "one image per section" batch workflow (generator + renderer) |
112
-
113
- Installer [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) is **0.8.37** (whole-repo same-tag releases).
120
+ | [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.12** | WeChat article lifecycle: package, review, 3 quality gates, inline typography & publish checklist |
121
+ | [`topmind-x-article`](./topmind-x-article/) | **0.4.18** | X long-form one-click publish: Markdown → one-click-copy HTML (images/prompt copy, click-to-zoom images) / plain-text fallback + cover + checklist |
122
+ | [`topmind-cover`](./topmind-cover/) | **0.4.11** | Cover art for X / WeChat (X master 1500×600 / 5:2): striking, theme-focused; 22-style cover style library + 16:9 X short-post cover scene + 24 title treatments + 7-layer scene recipe + 55 example images (22 styles × 2 sizes + 11 variant samples) + 1 style overview |
123
+ | [`topmind-briefs`](./topmind-briefs/) | **0.2.20** | Short-form briefs (WeChat + X): one topic, one chart; data rankings / paper explainers / product alerts / mechanism explainers; sources → images → content → layout; one copy-ready plain-text X block (no HTML by default, emoji optional, no AI tone), links / images sent separately; asks before generating any image |
124
+ | [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.12** | X viral short posts: 18 template types + combinations, duanzi layout (blank lines, no emoji, plain bullet lines), one copy-ready plain-text block per post with hashtags last, links / images sent separately, classification tags listed separately; asks before generating an image |
125
+ | [`topmind-format`](./topmind-format/) | **0.1.5** | X plain-text formatter: to duanzi (blank lines, no emoji) / to short post (paragraphing + sensible lists, emoji optional); layout only, words unchanged, with a fidelity check; one copy-ready plain-text body, links / images sent separately |
126
+ | [`topmind-poster`](./topmind-poster/) | **0.1.6** | HTML+CSS → high-res long image / poster / infographic PNG: headless Chrome 2× screenshot + auto-trim; "one image per section" batch workflow (generator + renderer) |
127
+
128
+ Installer [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) is **0.8.39** (whole-repo same-tag releases).
114
129
 
115
130
  ### Which skill, and how they combine
116
131
 
package/README.md CHANGED
@@ -66,13 +66,13 @@ npx @topmindspace/topmind-writing-skills install topmind-format
66
66
  | `x-delivery-contract.md`(必读必守) | 短文工作流:信源 → 原帖原图 → 内容 → 排版;短文 emoji 不强制(分点可用 emoji 或「1)」「·」【小标题】),段子完全不用 emoji,都禁用 `- ` `1. `;X 短文 / 段子的正文是一段可直接复制的纯文本(话题标签在末行),**链接(含来源)、原图、配图另发**;X 长文与公众号长文可保留文内链接 |
67
67
  | `x-post-format.md` | 不用 Markdown、列表符号、留白、来源、骨架、配图、公众号稿→X 稿 |
68
68
  | `emoji-system.md` | TopMind emoji 体系唯一出处(只用于短文体,且不强制):人设点缀 🐔 🐱 🌱 0–2 个只放首尾;标题 emoji 0–1 个对上关键词;列表符号一帖一套 |
69
- | `x-layout-patterns.md` | 参考帖拆出的版式规律(首行给结论、列表引导语、【小标题】分节等) |
69
+ | `x-layout-patterns.md` | 我们总结的版式规律(首行给结论、列表引导语、【小标题】分节等) |
70
70
 
71
71
  检查:`lint_x_post.py`(E1–E9 Markdown 残留;E10–E12 正文有 URL / 来源行 / 配图说明;W9 AI 套话、W10 首行太长不像钩子、W12 混入说明 / 内部标签;`--duanzi` 时 W13 段子里出现 emoji;`--long` 长文不查 E10–E12)。去 AI 味与吸引力清单在 `writing-principles.md` 第五点五节。
72
72
 
73
73
  ### topmind-cover · 封面配图生成
74
74
 
75
- X 长文与公众号共用的封面图:震撼、醒目、主题突出。**主题 → 七层场景配方 → 2–3 个风格组合方案 → 分层 prompt → 六维评分** 出图(标题长时场景图 + `overlay-title.py` 叠字),`crop-cover.py` 一键裁出双平台尺寸(X 1500×600、公众号 900×383),`--preset x-post` 落盘 X 短文封面(1200×675)。22 种风格索引与配方见 [`references/cover-styles.md`](./topmind-cover/references/cover-styles.md)。
75
+ X 长文与公众号共用的封面图:震撼、醒目、主题突出。**主题 → 七层场景配方 → 2–3 个风格组合方案 → 分层 prompt → 七项评分** 出图(默认整张生成:16 个范式的英文 prompt 模板 + 逐字核对与局部修正;兜底才用场景图 + `title-engine.py` 叠字),`crop-cover.py` 一键裁出双平台尺寸(X 1500×600、公众号 900×383),`--preset x-post` 落盘 X 短文封面(1200×675)。22 种风格索引与配方见 [`references/cover-styles.md`](./topmind-cover/references/cover-styles.md)。
76
76
 
77
77
  ```bash
78
78
  npx @topmindspace/topmind-writing-skills install topmind-cover
@@ -98,19 +98,34 @@ npx @topmindspace/topmind-writing-skills install topmind-poster
98
98
  > npm 包为 `@topmindspace/topmind-writing-skills`,旧包不再更新。
99
99
  > 也不要安装旧包的 `^2`(2.0.0–2.1.1 已弃用)。
100
100
 
101
+
102
+ ## 原创示例
103
+
104
+ 每个技能都附了我们自己写的示例输出(虚构或中性题材,不收录任何第三方原文、原图):
105
+
106
+ | 技能 | 示例 |
107
+ |---|---|
108
+ | topmind-viral-posts(段子) | [`topmind-viral-posts/examples/`](./topmind-viral-posts/examples/) |
109
+ | topmind-briefs(短文) | [`topmind-briefs/examples/`](./topmind-briefs/examples/) |
110
+ | topmind-format(排版) | [`topmind-format/examples/`](./topmind-format/examples/) |
111
+ | topmind-x-article(X 长文) | [`topmind-x-article/examples/`](./topmind-x-article/examples/) |
112
+ | topmind-wechat-post(公众号) | [`topmind-wechat-post/examples/`](./topmind-wechat-post/examples/) |
113
+ | topmind-poster(长图海报) | [`topmind-poster/examples/`](./topmind-poster/examples/) |
114
+ | topmind-cover(封面) | [`topmind-cover/assets/examples/`](./topmind-cover/assets/examples/) |
115
+
101
116
  ## 技能一览
102
117
 
103
118
  | 技能 | 版本 | 做什么 |
104
119
  |------|------|--------|
105
- | [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.11** | 公众号文章全生命周期:交付包、审校改写、质量三关、微信内联排版与发布清单 |
106
- | [`topmind-x-article`](./topmind-x-article/) | **0.4.17** | X 长文一键发布:Markdown 原稿 → 一键复制 HTML(含配图/提示词复制、图片点击放大)/ 纯文本兜底 + 封面图 + 发布清单 |
107
- | [`topmind-cover`](./topmind-cover/) | **0.4.9** | 文章封面配图(X / 公众号共用,X 主尺寸 1500×600 / 5:2):震撼醒目主题突出;22 种封面风格库 + X 短文 16:9 封面场景 + 24 种标题花式 + 七层场景配方 + 55 张示例图(22 种风格 × 2 尺寸 + 11 张变体样张) + 1 张风格总览图 |
108
- | [`topmind-briefs`](./topmind-briefs/) | **0.2.19** | 干货短文(公众号 + X 双平台):一件事讲透,数据榜单/论文解读/新品速递;信源 → 原图 → 内容 → 排版;X 版交付一段可复制纯文本(默认不出 HTML,emoji 可选,去 AI 味),链接 / 原图 / 配图另发,无原图先询问配图 |
109
- | [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.11** | X 引流段子/爆款短篇:18 大类型模板 + 组合玩法,段子体(行间空行,零 emoji,分点不加符号)、每条一段可复制纯文本、话题标签在末行,链接 / 原图另发、分类标签另列;无原图先询问再走 topmind-cover |
110
- | [`topmind-format`](./topmind-format/) | **0.1.4** | X 纯文本格式化:转段子(行间空行,零 emoji)/ 格式化成短文(分段 + 合理列表,emoji 可选),只动排版不改字,带原文保真校验;交付一段可复制纯文本,链接 / 原图另发 |
111
- | [`topmind-poster`](./topmind-poster/) | **0.1.5** | HTML+CSS → 高清长图 / 海报 / 信息图 PNG:无头 Chrome 2× 截图 + 自动裁白;「一段一图」分段图批量出图(生成器 + 渲染器) |
112
-
113
- 安装器 [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) 为 **0.8.37**(整仓同 tag 发版)。
120
+ | [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.12** | 公众号文章全生命周期:交付包、审校改写、质量三关、微信内联排版与发布清单 |
121
+ | [`topmind-x-article`](./topmind-x-article/) | **0.4.18** | X 长文一键发布:Markdown 原稿 → 一键复制 HTML(含配图/提示词复制、图片点击放大)/ 纯文本兜底 + 封面图 + 发布清单 |
122
+ | [`topmind-cover`](./topmind-cover/) | **0.4.11** | 文章封面配图(X / 公众号共用,X 主尺寸 1500×600 / 5:2):震撼醒目主题突出;22 种封面风格库 + X 短文 16:9 封面场景 + 24 种标题花式 + 七层场景配方 + 55 张示例图(22 种风格 × 2 尺寸 + 11 张变体样张) + 1 张风格总览图 |
123
+ | [`topmind-briefs`](./topmind-briefs/) | **0.2.20** | 干货短文(公众号 + X 双平台):一件事讲透,数据榜单/论文解读/新品速递;信源 → 原图 → 内容 → 排版;X 版交付一段可复制纯文本(默认不出 HTML,emoji 可选,去 AI 味),链接 / 原图 / 配图另发,无原图先询问配图 |
124
+ | [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.12** | X 引流段子/爆款短篇:18 大类型模板 + 组合玩法,段子体(行间空行,零 emoji,分点不加符号)、每条一段可复制纯文本、话题标签在末行,链接 / 原图另发、分类标签另列;无原图先询问再走 topmind-cover |
125
+ | [`topmind-format`](./topmind-format/) | **0.1.5** | X 纯文本格式化:转段子(行间空行,零 emoji)/ 格式化成短文(分段 + 合理列表,emoji 可选),只动排版不改字,带原文保真校验;交付一段可复制纯文本,链接 / 原图另发 |
126
+ | [`topmind-poster`](./topmind-poster/) | **0.1.6** | HTML+CSS → 高清长图 / 海报 / 信息图 PNG:无头 Chrome 2× 截图 + 自动裁白;「一段一图」分段图批量出图(生成器 + 渲染器) |
127
+
128
+ 安装器 [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) 为 **0.8.39**(整仓同 tag 发版)。
114
129
 
115
130
  ### 怎么选、怎么组合
116
131
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topmindspace/topmind-writing-skills",
3
- "version": "0.8.37",
3
+ "version": "0.8.39",
4
4
  "description": "TopMindSpace 写作技能合集 — 通过 npm / npx 安装技能(公众号长文、X 长文、干货短文、X 引流短帖、封面图、长图海报)。只出稿与发布包,不代发。",
5
5
  "license": "MIT",
6
6
  "author": "TopMindspace",
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.20 (2026-10-16)
4
+
5
+ - 新增 `examples/` 原创示例(X 短文 2 篇 + 链接配图另列 + 公众号短文 1 篇);示例链接换成 example.com 占位
6
+
3
7
  ## 0.2.19 (2026-10-14)
4
8
 
5
9
  - 变更:工作流改为「信源 → 原帖原图 → 内容 → 排版」;X 正文一段可复制纯文本,不含 URL 与来源行,链接 / 原图另发;emoji 不强制,分点可用「1)」「·」【小标题】
@@ -7,7 +7,7 @@ A brief is not a long-form article — **no HTML by default**: the workflow is v
7
7
  The X version is one copy-ready plain-text block (emoji optional); **links (including sources), original images and any generated images are sent separately**, never mixed into the body.
8
8
  The WeChat version is ~300–800 Chinese characters of Markdown. With no original image it asks before generating one.
9
9
 
10
- - Version: **v0.2.19** (ships with `@topmindspace/topmind-writing-skills@0.8.37`)
10
+ - Version: **v0.2.20** (ships with `@topmindspace/topmind-writing-skills@0.8.39`)
11
11
 
12
12
  ## Install
13
13
 
@@ -56,3 +56,7 @@ python3 scripts/lint_x_post.py brief-x.md
56
56
  Formatting existing text / converting to duanzi → `topmind-format`; X long-form → `topmind-x-article`; WeChat long-form → `topmind-wechat-post`;
57
57
  engagement-style short posts and jokes → `topmind-viral-posts`; standalone long images/posters → `topmind-poster`;
58
58
  covers and header images → `topmind-cover`; posting → `topmind-x` (only after the user confirms).
59
+
60
+ ## Original examples
61
+
62
+ Sample outputs written by us (fictional or neutral topics, no third-party text) are in [`examples/`](./examples/).
@@ -7,7 +7,7 @@
7
7
  X 版交付一段可直接复制的纯文本(emoji 可选),**链接(含来源)、原图、配图另发**,不和正文混在一起;公众号版约 300–800 字 Markdown。
8
8
  没有原图时先问要不要配图(`topmind-cover`);链接那一条写明来源名称、发布时间与 URL。
9
9
 
10
- - 版本:**v0.2.19**(随 `@topmindspace/topmind-writing-skills@0.8.37` 发布)
10
+ - 版本:**v0.2.20**(随 `@topmindspace/topmind-writing-skills@0.8.39` 发布)
11
11
 
12
12
  ## 安装
13
13
 
@@ -57,3 +57,7 @@ python3 scripts/lint_x_post.py X短文.md
57
57
  现成文字格式化 / 转段子 → `topmind-format`;X 长文 → `topmind-x-article`;公众号长文 → `topmind-wechat-post`;
58
58
  引流互动型短帖与段子 → `topmind-viral-posts`;单独出长图/海报 → `topmind-poster`;
59
59
  封面/头图 → `topmind-cover`;发帖 → `topmind-x`(须用户确认)。
60
+
61
+ ## 原创示例
62
+
63
+ 我们自己写的示例输出见 [`examples/`](./examples/)(虚构或中性题材,不收录任何第三方原文)。
@@ -3,7 +3,7 @@ name: topmind-briefs
3
3
  description: "干货短文:一件事讲透,X + 公众号双平台。短文不是长文——默认不出 HTML:工作流按「核实一手信源 → 找原帖原图 → 写内容 → 排版」;X 版交付一段可直接复制的纯文本(首行钩子、合理分段与列表、去 AI 味、emoji 可选且只用 TopMind 体系、末行 0–2 个话题标签),链接(含来源)、原图(1–2 张)、配图另发,绝不混进正文;公众号版是 300–800 字 Markdown;没有原图时主动询问是否配图,不擅自生图。尊重原始信息、原图、原文。只交付不代发。Use when 写短文、公众号短文、X 短文、发快讯、简讯、速报、数据榜单、榜单速报、论文解读、新品速递、来篇短的、短平快、brief;信息密度型(数据、榜单、发布)走本技能。Do NOT use for 把现成文字格式化、转段子、排版(→ topmind-format)、X 长文与发 X 文章(→ topmind-x-article)、公众号长文与公众号排版 HTML(→ topmind-wechat-post)、引流互动型短帖、段子、涨粉帖、互关帖、爆款短篇(→ topmind-viral-posts)、单独出长图/海报/信息图 PNG(→ topmind-poster)、封面与头图(→ topmind-cover)、把稿子发出去(→ topmind-x,须用户确认)。"
4
4
  license: MIT
5
5
  metadata:
6
- version: "0.2.19"
6
+ version: "0.2.20"
7
7
  action_category: "write"
8
8
  triggers: "写短文, 公众号短文, X 短文, 发快讯, 快讯, 简讯, 速报, 干货短文, 论文解读, 数据榜单, 榜单速报, 新品速递, brief, 来篇短的, 短平快, 发个快讯"
9
9
  author: "TopMindSpace"
@@ -101,7 +101,7 @@ SWE-bench 榜单换了第一:领先只有 1.3 分
101
101
  #SWEbench #AI编程
102
102
  ```
103
103
 
104
- 链接(另发):`SWE-bench 官方榜单|2026-10-13(UTC)|https://www.swebench.com`
104
+ 链接(另发):`ToyBench 官方榜单|2026-10-13(UTC)|https://example.com/toybench`
105
105
  图片(另发):`[图1] 榜单截图 — 前三名分数;来源:官方榜单`
106
106
 
107
107
  (示例中的模型名与分数为虚构演示;同一条也可以用 🔹 列表加 📊 标题 emoji。更多示例见 [references/examples.md](references/examples.md)。)
@@ -0,0 +1,13 @@
1
+ 🆕 晨光写作助手 3.0 发布:离线也能用 🐱
2
+
3
+ 晨光团队今天发布 3.0 版本(虚构示例)。这次最大的变化是加了离线模式:断网时也能续写和改错,联网后自动同步。
4
+
5
+ 这次更新的三件事:
6
+
7
+ 🔹 离线模式:本地运行常用功能,草稿不出设备
8
+ 🔹 更快的启动:官方称冷启动时间缩短一半
9
+ 🔹 新的导出:一键导出公众号和 X 两种格式
10
+
11
+ 老用户在设置里检查更新即可,免费升级。
12
+
13
+ #写作工具
@@ -0,0 +1,5 @@
1
+ 链接(另发):
2
+ 晨光 3.0 更新日志|2026-10-16(页面标注)|https://example.com/changelog
3
+
4
+ 配图(另发):
5
+ [图1] https://example.com/images/release-3.png — 官方发布图
@@ -0,0 +1,13 @@
1
+ 📊 青团市今年新开了 12 座口袋公园
2
+
3
+ 青团市园林局本周公布了今年的口袋公园名单(虚构示例):全市新开 12 座,大多在老街区,面积都不大。
4
+
5
+ 几个值得一看的点:
6
+
7
+ · 每座公园步行 5 分钟内能到地铁站或公交站
8
+ · 一半以上带儿童游乐区
9
+ · 夜间照明到晚上十点
10
+
11
+ 周末想找个近处走走,可以从家附近那座开始。
12
+
13
+ 明天见 🌱
@@ -0,0 +1,19 @@
1
+ # 番茄工作法,适合谁,不适合谁
2
+
3
+ 番茄工作法的规则很简单:专注 25 分钟,休息 5 分钟,四轮之后长休息一次。
4
+
5
+ ## 适合的情况
6
+
7
+ - 任务可以拆成小块,比如写稿、整理资料、回复邮件
8
+ - 容易被消息打断,需要一个"先别看手机"的理由
9
+
10
+ ## 不太适合的情况
11
+
12
+ - 需要长时间连续思考的工作,25 分钟刚进入状态就被打断
13
+ - 时间表由别人决定的岗位,比如客服值班
14
+
15
+ ## 怎么调整
16
+
17
+ 时长不是死规定。可以先试 25 分钟,觉得太短就改成 40 或 50 分钟,关键是"专注一段、停下一段"的节奏。
18
+
19
+ > 本文为原创示例,用来演示公众号短文的结构。
@@ -0,0 +1,9 @@
1
+ # topmind-briefs 原创示例(短文)
2
+
3
+ 全部为我们自己写的示例,产品、城市和数字都是虚构演示,不当作事实引用。
4
+
5
+ - [`01-X短文-编辑器发布.txt`](./01-X短文-编辑器发布.txt) + [`01-链接与配图.txt`](./01-链接与配图.txt):新品速递,正文与链接、配图分开交付
6
+ - [`02-X短文-城市公园.txt`](./02-X短文-城市公园.txt):数据型短文,用「·」分点,人设 emoji 只在结尾
7
+ - [`03-公众号短文-番茄工作法.md`](./03-公众号短文-番茄工作法.md):公众号 Markdown 短文
8
+
9
+ X 短文要点:首行是钩子;段落合理;emoji 可选,只用 TopMind 体系(人设 emoji 只放开头或结尾);分点用 emoji 或「·」;末行 0–2 个话题标签;正文不放网址和来源行,链接与图片另列。
@@ -9,5 +9,5 @@
9
9
  "type": "git",
10
10
  "url": "git+https://github.com/topmindspace/topmind-writing-skills.git"
11
11
  },
12
- "version": "0.2.19"
12
+ "version": "0.2.20"
13
13
  }
@@ -60,7 +60,7 @@
60
60
 
61
61
  ## 四、只用 TopMind 的,不跟风
62
62
 
63
- 参考帖里常见的 🔥 😍 🚀 💥 开头、6–10 个话题标签、同一列表 🔸 🔹 混用,是别人的个人风格,TopMind 不照搬:
63
+ X 上常见的 🔥 😍 🚀 💥 开头、6–10 个话题标签、同一列表 🔸 🔹 混用,属于个人风格,TopMind 不照搬:
64
64
 
65
65
  - 标题行首只放第三节对照表里的标题 emoji;对不上关键词就不放,不用 🔥 😍 🚀 凑热度。
66
66
  - 账号辨识度只靠人设点缀(🐔 🐱 + 小动物 / 植物),放首尾。
@@ -1,19 +1,18 @@
1
- # X 短文版式规律(参考帖拆解)
1
+ # X 短文版式规律
2
2
 
3
3
  > 适用:`topmind-briefs`(短文)、`topmind-format`(格式化)、`topmind-viral-posts`(段子 / 短帖)的 X 纯文本稿。
4
- > 本文只记**版式规律**,不收录原文;需要看原样时打开原帖。emoji 一律按 `emoji-system.md` 的 TopMind 体系取,参考帖里的 emoji 只作结构参考。
5
- > 拆解时间:2026-10-14。
4
+ > 本文只记**版式规律**,全部用我们自己的话描述。emoji 一律按 `emoji-system.md` 的 TopMind 体系取。
6
5
 
7
- ## 参考帖
6
+ ## 六种版式骨架
8
7
 
9
- | # | 原帖 | 体裁 | 一句话版式特征 |
10
- |---|---|---|---|
11
- | A | https://x.com/NFT_Chen/status/2110238874291110097 | 中文测评速报 | 标题行带结论 → 「证据拆解:」→ 1️⃣–5️⃣ 证据 → 一句评价 → 一句金句 → 末行话题标签 |
12
- | B | https://x.com/moritzkremb/status/2110108110203363626 | 英文视频导流 | 两行短句钩子,各自成段 → 「In this video:」+ 3 条短条目 → 末行「Full breakdown: 链接」 |
13
- | C | https://x.com/stevenmarkryan/status/2110184367347863796 | 英文清单体 | 一句引子 → 13 条 • 列表,每条一行,长短交错,无收尾 |
14
- | D | https://x.com/GitHub_Daily/status/2110219134357451045 | 中文工具推荐 | 痛点场景开头 → 是什么 → 技术来源 → 链接单独一段 → 用法举例 → 隐私说明 → 一句推荐收尾;全程无 emoji、无列表 |
15
- | E | https://x.com/NFT_Chen/status/2110146921646223867 | 中文作品拆解 | 情绪 emoji + 标题 → 「关键细节拆解:」→ 7 条 🔸 + 1 条 🔹 收束,条目间空行 → 一句总结 → 话题标签 → 末行链接 |
16
- | F | https://x.com/dotey/status/2110053992554238391 | 中文长帖资讯 | 标题行写全核心事实(谁/何时/价格)→ 导语段 → 【小标题】分节 × 5 → 每节 1–4 个短段 → 无 emoji、无话题标签 |
8
+ | # | 体裁 | 一句话版式特征 |
9
+ |---|---|---|
10
+ | A | 中文测评速报 | 标题行带结论 → 「证据拆解:」→ 1️⃣–5️⃣ 证据 → 一句评价 → 一句金句 → 末行话题标签 |
11
+ | B | 英文视频导流 | 两行短句钩子,各自成段 → 「In this video:」+ 3 条短条目 → 末行「Full breakdown: 链接」 |
12
+ | C | 英文清单体 | 一句引子 → 13 条 • 列表,每条一行,长短交错,无收尾 |
13
+ | D | 中文工具推荐 | 痛点场景开头 → 是什么 → 技术来源 → 链接单独一段 → 用法举例 → 隐私说明 → 一句推荐收尾;全程无 emoji、无列表 |
14
+ | E | 中文作品拆解 | 情绪 emoji + 标题 → 「关键细节拆解:」→ 7 条 🔸 + 1 条 🔹 收束,条目间空行 → 一句总结 → 话题标签 → 末行链接 |
15
+ | F | 中文长帖资讯 | 标题行写全核心事实(谁/何时/价格)→ 导语段 → 【小标题】分节 × 5 → 每节 1–4 个短段 → 无 emoji、无话题标签 |
17
16
 
18
17
  ## 一、开头钩子
19
18
 
@@ -43,9 +42,9 @@ TopMind 写法:短文首行 = 可选的标题 emoji(按关键词对照表,
43
42
 
44
43
  ## 四、emoji 用法
45
44
 
46
- 1. 参考帖的 emoji 只出现在三个位置:**标题行首、列表行首、(偶尔)收尾行**;正文段中间都不插。
45
+ 1. 常见写法里 emoji 只出现在三个位置:**标题行首、列表行首、(偶尔)收尾行**;正文段中间都不插。
47
46
  2. 信息密度越高、emoji 越少:F、D 零 emoji 依然好读,靠的是空行和【小标题】。
48
- 3. 不连用、不堆叠;🔥 😍 这类情绪 emoji 是参考帖的个人风格,**TopMind 不照搬**——标题 emoji 只按关键词对照表取,人设点缀用 🐔 🐱 🌱 等(见 `emoji-system.md`)。
47
+ 3. 不连用、不堆叠;🔥 😍 这类情绪 emoji 属于个人风格,**TopMind 不照搬**——标题 emoji 只按关键词对照表取,人设点缀用 🐔 🐱 🌱 等(见 `emoji-system.md`)。
49
48
  4. **段子体完全不用 emoji**:像 D 那样只靠一句一行和空行;分点不加符号。
50
49
 
51
50
  ## 五、中英混排
@@ -57,7 +56,7 @@ TopMind 写法:短文首行 = 可选的标题 emoji(按关键词对照表,
57
56
 
58
57
  ## 六、链接与话题标签位置
59
58
 
60
- 1. 参考帖把链接单独成段(D 的「GitHub:URL」、B 的「Full breakdown: URL」)。**TopMind 不照搬**:X 短文 / 段子的正文里不放任何 URL 和来源行,链接整理成单独一条另发(见 `x-delivery-contract.md` 第三节);正文里只用文字点到出处(「官方博客称」)。
59
+ 1. 常见写法是把链接单独成段(如「GitHub:URL」「Full breakdown: URL」)。**TopMind 不照搬**:X 短文 / 段子的正文里不放任何 URL 和来源行,链接整理成单独一条另发(见 `x-delivery-contract.md` 第三节);正文里只用文字点到出处(「官方博客称」)。
61
60
  2. **话题标签放末行**(A);E 在标签后又放链接、F 不放标签——TopMind 统一为话题标签是正文最后一行,标签 0–2 个(段子 1–3 个),不堆 6–10 个(A、E 的堆标签不学)。
62
61
 
63
62
  ## 七、结尾
@@ -4,7 +4,7 @@
4
4
 
5
5
  A reusable skill for generating cover art for X long-form posts and WeChat articles. Goal: **striking, eye-catching, theme-focused**.
6
6
 
7
- - Version: **v0.4.9** (ships with `@topmindspace/topmind-writing-skills@0.8.37`)
7
+ - Version: **v0.4.11** (ships with `@topmindspace/topmind-writing-skills@0.8.39`)
8
8
 
9
9
  ## Style gallery
10
10
 
@@ -23,11 +23,11 @@ npx @topmindspace/topmind-writing-skills install topmind-cover
23
23
  ## Usage
24
24
 
25
25
  0. **Pick a style combo**: choose a main style (1 of 22, light-first) from `references/cover-styles.md`, then a secondary style from section 4 of [`references/scene-builder.md`](./references/scene-builder.md); check the example image.
26
- 1. **Refine the title**: lock the title copy first (usually ≤ 10 chars, split into 2–3 lines with size contrast) using that style's title rules; no drawing yet.
26
+ 1. **Refine the title**: lock the title copy first (main title ≤ 8 Chinese characters is safest, plus one subtitle line) and run `scripts/check-title.py` to rule out rare, traditional and look-alike characters using that style's title rules; no drawing yet.
27
27
  2. **Seven-layer scene recipe**: theme → metaphor / conflict → hero (optionally the TopMind chick / cat / plant IP) → an action that interacts with the title → 2–4 props → ≥3 background layers → light. No recognizable real people.
28
28
  3. **2–3 options by default**: option card `Option A | metaphor | style: main + secondary | layout: L1–L10 | palette`, differing in at least three of the four; never repeat the main style on consecutive covers.
29
- 4. **Compose and generate**: fill every slot of the layered CN/EN template in `scene-builder.md`; pick 1 main + 1 secondary title treatment from the 24 in `typography-system.md`, plus chips / buttons / corner badges. For long titles or misrendered text use path B: generate the scene with a clean title area, then overlay the title with `scripts/overlay-title.py`.
30
- 5. **Score and self-check** (required): six-dimension score (richness / topic fit / title treatment / depth / readability / texture) must total ≥ 20 with no item ≤ 2, then pass the [impact self-check list](./SKILL.md#冲击力自检清单); otherwise revise and regenerate (max 3), then switch options.
29
+ 4. **Whole-image generation**: pick a pattern (X1–X16) from [`references/cover-patterns.md`](./references/cover-patterns.md) or one of the 22 named combos in [`references/cover-combos.md`](./references/cover-combos.md), and write the exact title, letter material and 3D treatment, scene-matched lighting, hierarchy, alignment and negative space into one English prompt so the model designs text and scene together. Then proof every character per section 9 of [`design-system.md`](./references/design-system.md): fix 1–2 wrong characters locally, regenerate otherwise (max 3 times), and only then fall back to a clean scene plus `scripts/title-engine.py` overlay.
30
+ 5. **Score and self-check** (required): seven-item design score (clear hierarchy / readability / alignment / color harmony / topic fit / single focus / finish quality) must total ≥ 26 with no item ≤ 2, then pass the [impact self-check list](./SKILL.md#冲击力自检清单); otherwise revise and regenerate (max 3), then switch options.
31
31
  6. Crop and save:
32
32
 
33
33
  ```bash
@@ -38,7 +38,12 @@ python3 scripts/crop-cover.py <main-image> --out-dir <package>/images/
38
38
  python3 scripts/crop-cover.py <16:9-image> --preset x-post --out-dir <dir>
39
39
  # produces 00-封面-X短文.png (1200x675)
40
40
 
41
- # Path B: scene background + scripted title overlay (line sizes, keyword color, stroke, shadow, marker underline, chips)
41
+ # Before whole-image generation: title risk check (length, rare / traditional / look-alike characters)
42
+ python3 scripts/check-title.py "main title" "subtitle"
43
+
44
+ # Fallback: scene background + multi-layer overlay (--check static rules, --strict contrast & safe area)
45
+ python3 scripts/title-engine.py <scene> <spec.json> --out <cover> --strict
46
+ # Quick single-layer overlay
42
47
  python3 scripts/overlay-title.py <background> <spec.json> --out <cover> [--font <font>]
43
48
  ```
44
49
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  为 X 长文和公众号文章生成封面图的可复用技能。目标:**震撼、醒目、主题突出**。
6
6
 
7
- - 版本:**v0.4.9**(随 `@topmindspace/topmind-writing-skills@0.8.37` 发布)
7
+ - 版本:**v0.4.11**(随 `@topmindspace/topmind-writing-skills@0.8.39` 发布)
8
8
 
9
9
  ## 风格样张
10
10
 
@@ -23,11 +23,11 @@ npx @topmindspace/topmind-writing-skills install topmind-cover
23
23
  ## 用法
24
24
 
25
25
  0. **选风格与组合**:按题材从 `references/cover-styles.md` 选主风格(22 选 1,浅色优先),再按 [`references/scene-builder.md`](./references/scene-builder.md) 第四节配一个辅风格;看示例图确认视觉语言。
26
- 1. **标题提炼**:先定标题文案(一般 ≤10 字,拆 2–3 行做大小对比),用该风格章节的标题写法规范;不满意重写,不先画图。
26
+ 1. **标题提炼**:先定标题文案(主标题 ≤ 8 字最稳,另配一行副标题),先跑 `scripts/check-title.py` 排除生僻字、繁体和形近字,用该风格章节的标题写法规范;不满意重写,不先画图。
27
27
  2. **七层场景配方**:主题 → 隐喻 / 冲突 → 主角(可用 TopMind 小鸡 / 小猫 / 小植物 IP)→ 与标题互动的动作 → 2–4 个道具 → ≥3 层背景 → 光线;不画可识别的真实人物。
28
28
  3. **默认出 2–3 个方案**:方案卡 `方案 A|隐喻|风格:主 + 辅|骨架:L1–L10|配色`,四项至少换三项;相邻封面不重复主风格。
29
- 4. **组 prompt 并出图**:用 `scene-builder.md` 的中英分层模板(槽位填满),标题花式从 `typography-system.md` 的 24 种里选 1 主 1 辅,副信息用胶囊 / 按钮 / 角标。标题长或模型错字时走双路径 B:场景图留白,再用 `scripts/overlay-title.py` 叠字。
30
- 5. **评分与自检**(必做):六维评分(丰富度 / 主题贴合 / 标题花式 / 层次 / 可读性 / 质感)总分 ≥20 且无项 ≤2,再过 [SKILL.md 冲击力自检清单](./SKILL.md#冲击力自检清单);不通过→改 prompt 重生成,最多 3 次,仍不过就换方案。
29
+ 4. **整张生成**:从 [`references/cover-patterns.md`](./references/cover-patterns.md) 选范式(X1–X16),或直接用 [`references/cover-combos.md`](./references/cover-combos.md) 的 22 个命名组合,把标题原文、字的材质与立体方式、与场景一致的光照、层级、对齐和留白写进英文 prompt,让模型把字和场景一起画出来。出图后按 [`design-system.md`](./references/design-system.md) 第九节逐字核对:错 1–2 个字就局部修正,错得多就整张重出(最多 3 次),仍不对才兜底:场景图加 `scripts/title-engine.py` 叠字。
30
+ 5. **评分与自检**(必做):七项设计评分(层级清晰 / 可读性 / 对齐统一 / 色彩和谐 / 主题契合 / 焦点单一 / 细节品质)总分 ≥26 且无项 ≤2,再过 [SKILL.md 冲击力自检清单](./SKILL.md#冲击力自检清单);不通过→改 prompt 重生成,最多 3 次,仍不过就换方案。
31
31
  6. 裁剪落盘:
32
32
 
33
33
  ```bash
@@ -38,7 +38,12 @@ python3 scripts/crop-cover.py <主图> --out-dir <包>/images/
38
38
  python3 scripts/crop-cover.py <16:9 主图> --preset x-post --out-dir <目录>
39
39
  # 产出 00-封面-X短文.png (1200×675)
40
40
 
41
- # 双路径 B:场景底图 + 脚本叠字(多行字号、关键词变色、描边、投影、手绘底线、胶囊)
41
+ # 整张生成前:标题风险检查(长度、生僻字、繁体、形近字)
42
+ python3 scripts/check-title.py "主标题" "副标题"
43
+
44
+ # 兜底:场景底图 + 多层叠字(--check 静态检查,--strict 查对比度与安全区)
45
+ python3 scripts/title-engine.py <场景图> <spec.json> --out <成图> --strict
46
+ # 快速单层叠字
42
47
  python3 scripts/overlay-title.py <底图> <spec.json> --out <成图> [--font <字体>]
43
48
  ```
44
49
 
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: topmind-cover
3
- description: "文章封面配图生成:X 长文与公众号共用,也为 X 短文 / 短帖在没有原图时出 16:9 首图,并供 topmind-briefs、topmind-viral-posts 的配图环节调用。震撼、醒目、主题突出;平台尺寸规范、22 种风格模板与风格组合、七层场景配方与中英提示词模板、默认 2–3 个方案、24 种标题花式与副信息组件、分层背景库、10 种构图骨架、TopMind IP 主角、六维评分重做门槛、生图 + 脚本叠字双路径、命名落盘全流程覆盖。Use when 文章封面、封面图、X 短文封面、短帖封面、头图、题图、首图、X 长文头图、公众号封面、公众号头图、封面风格、banner、cover、thumbnail。Do NOT use for 正文插图、长图、海报与信息图(→ topmind-poster)、短文与段子写稿(→ topmind-briefs / topmind-viral-posts)、PPT/报告封面与多页演示(→ topmind-presentation)。"
3
+ description: "文章封面配图生成:X 长文与公众号共用,也为 X 短文 / 短帖在没有原图时出 16:9 首图,并供 topmind-briefs、topmind-viral-posts 的配图环节调用。震撼、醒目、主题突出;平台尺寸规范、22 种风格模板与风格组合、七层场景配方与中英提示词模板、默认 2–3 个方案、24 种标题花式与副信息组件、分层背景库、10 种构图骨架、TopMind IP 主角、七项评分重做门槛、生图 + 脚本叠字双路径、命名落盘全流程覆盖。Use when 文章封面、封面图、X 短文封面、短帖封面、头图、题图、首图、X 长文头图、公众号封面、公众号头图、封面风格、banner、cover、thumbnail。Do NOT use for 正文插图、长图、海报与信息图(→ topmind-poster)、短文与段子写稿(→ topmind-briefs / topmind-viral-posts)、PPT/报告封面与多页演示(→ topmind-presentation)。"
4
4
  license: MIT
5
5
  metadata:
6
- version: "0.4.9"
6
+ version: "0.4.11"
7
7
  action_category: "write"
8
8
  triggers: "封面, 封面图, X 短文封面, 短帖封面, 头图, 题图, 首图, 封面配图, 缩略图, banner, cover, thumbnail, 公众号封面, 公众号题图, 公众号头图, X 封面, X 首图, X 长文头图, 文章封面, 封面风格"
9
9
  author: "TopMindSpace"
@@ -20,7 +20,7 @@ metadata:
20
20
  再叠加 22 种风格的设计手法。详见 [`references/md3-foundation.md`](references/md3-foundation.md)。
21
21
 
22
22
  ```
23
- 标题提炼 → 七层场景配方 → 2–3 个方案(风格组合 + 骨架 + 配色)→ 分层 prompt → 生成(或场景图 + 脚本叠字)→ 六维评分 + 冲击力自检 → 裁剪双尺寸 → 落盘命名
23
+ 标题提炼 → 七层场景配方 → 2–3 个方案(风格组合 + 骨架 + 配色)→ 分层 prompt → 整张生成 → 逐字核对 → 局部修正(兜底:场景图 + 脚本叠字)→ 七项评分 + 冲击力自检 → 裁剪双尺寸 → 落盘命名
24
24
  ```
25
25
 
26
26
  ## 风格索引(22 种,浅色优先)
@@ -54,7 +54,7 @@ metadata:
54
54
 
55
55
  适用场景细则、配色故事、prompt 配方见 `references/cover-styles.md`;单风格大图 `assets/examples/<style>.png`(git clone / Release zip 安装才有;npm 包为瘦身不含单风格样张,本地没有时看 overview.png 加 `cover-styles.md` 文字配方即可,或打开 GitHub 仓库同路径)。
56
56
  构图骨架(10 种)与文案排版密码见 `references/cover-styles.md` 末尾章节;24 种标题花式、副信息组件、字体气质与背景库见 `references/typography-system.md`;
57
- 场景配方、风格组合、主题 → 隐喻速查、IP 主角规则、六维评分与双路径见 `references/scene-builder.md`;
57
+ 场景配方、风格组合、主题 → 隐喻速查、IP 主角规则、七项设计评分与双路径见 `references/scene-builder.md`;标题层级、网格、安全区、配色比例、字体搭配、设计模式、克制原则与中文字生图规约见 `references/design-system.md`;整张生成的 16 个范式与英文 prompt 模板见 `references/cover-patterns.md`;22 个命名组合(范式 × 风格 × 标题字 × 场景层 × 配色)与优雅克制规则见 `references/cover-combos.md`;
58
58
  可直接粘贴的完整提示词(22 种风格 + X 短文封面 + 场景示例 + 场景配方多方案示例)见 `references/cover-prompts.md`。
59
59
 
60
60
  ## 场景 → 风格 → 标题花式(选型速查)
@@ -131,9 +131,9 @@ X 短文、X 短帖**原图优先**:有官方截图、基准图、后台截图
131
131
  3. **出 2–3 个方案(默认)**:每个方案一张方案卡 `方案 A|隐喻|风格:主 + 辅|骨架:L?|配色`,四项里至少换三项;用户说「直接出」就各出一张。相邻封面不重复主风格。
132
132
  4. **组 prompt**:用 `scene-builder.md` 第三节的中文 / 英文分层模板,槽位全部填满;标题逐字写明(防 AI 自造错别字),再加 `cover-prompts.md` 第五章的负面词。平台(`x` / `wechat` / `both`,默认 both)只影响画幅与安全区。
133
133
  5. **生成**:`media.generate_image`,`name` 用 `<slug>-cover`。
134
- **双路径**:A 让模型直接出字;标题长、有生僻字、要精确多行花式,或 A 路径错字 2 次时走 B:prompt 里留干净标题区、禁止生成文字,出图后用 `scripts/overlay-title.py <底图> <spec.json> --out <成图>` 叠字(支持多行字号、关键词变色、描边、投影、手绘底线、胶囊标签)。
134
+ **出字路径**:默认**整张生成**,让生图模型把字和场景一起设计。从 `references/cover-patterns.md` 选范式(X1–X16),在英文 prompt 里写死标题原文(`Simplified Chinese characters exactly as given`)、字的材质与立体方式、与场景一致的光照和透视、层级(主标题、副标题、胶囊标签)、对齐线和留白,并接上通用排版尾句。生成前跑 `scripts/check-title.py "主标题" "副标题"`:主标题 ≤ 8 字最稳,避开生僻字、繁体和形近字(如「于」常被写成「干」)。出图后按 `references/design-system.md` 第九节**逐字核对**:错 1–2 个字就局部修正,错得多就改 prompt 整张重出,最多 3 次;仍不对才走兜底,也就是场景图加 `scripts/title-engine.py` 叠字(多层标题,`--check` 和 `--strict` 自动查字号下限、对比度、安全区;`overlay-title.py` 只用于快速单层)。标题设计都按 `references/design-system.md`:三级层级与字号下限(主占画面高 25–45%、副 ≥ 9%、标签 ≥ 6%)、一条对齐线、60-30-10 配色、一主一辅字体、强调色只落 1–3 个字、字与场景同光同透视、文字留在中部水平带(适配 5:2 裁切)。
135
135
  **多样性**:同一系列或同一天连发的封面,相邻两张至少在「风格 / 标题花式 / 背景」三项中换两项;同一风格内也要换主体和构图骨架。
136
- 6. **评分与自检**(必做):先按 `scene-builder.md` 第八节六维评分(丰富度 / 主题贴合 / 标题花式 / 层次 / 可读性 / 质感,各 1–5):**总分 ≥20 且没有一项 ≤2 才交付**;再过下方冲击力自检 11 项。不通过→按低分项改 prompt 重生成,最多 3 次;3 次仍不过→换方案,或回步骤 1 重写标题。
136
+ 6. **评分与自检**(必做):先按 `scene-builder.md` 第八节七项设计评分(层级清晰 / 可读性 / 对齐统一 / 色彩和谐 / 主题契合 / 焦点单一 / 细节品质,各 1–5):**总分 ≥26 且没有一项 ≤2 才交付**;再过下方冲击力自检 11 项。不通过→按低分项改 prompt 重生成,最多 3 次;3 次仍不过→换方案,或回步骤 1 重写标题。
137
137
  7. **裁剪落盘**:
138
138
  ```bash
139
139
  python3 scripts/crop-cover.py <主图> --out-dir <包>/images/
@@ -20,6 +20,10 @@
20
20
  硬核立体字 `hard-core-type` / 爆款干货 `gan-huo` / 品牌发布 `brand-launch` /
21
21
  IP 趣味 `ip-fun` / 橙色暖阳 `orange-warm` / 卡通素描 `sketch-cartoon` / 赛博霓虹 `cyber-neon`,浅色优先排序):适用场景索引与配方见 `../references/cover-styles.md`。
22
22
 
23
+ ## 生成方式(v0.8.38 起)
24
+
25
+ 全部示例改为**整张生成**:按 `../../references/cover-combos.md` 的命名组合(范式 × 风格 × 标题字 × 场景层 × 配色)写一段英文 prompt,标题原文写死,让字和场景在同一光照与透视里一起画出;出图后逐字核对,再按 5:2 裁出主图(1500×600)、按中部水平带裁出公众号版(900×383),并做轻度锐化与 PNG 调色板压缩。各图使用的组合标在 `cover-styles.md` 每个风格的「示例图」一行。组合是我们自己总结的配方,仓库不收录任何第三方原图或原文。
26
+
23
27
  ## 原创与虚构声明(重要)
24
28
 
25
29
  本目录 55 张示例图均为**原创设计**(只演示抽象设计原则,不临摹任何第三方封面的
@@ -0,0 +1,6 @@
1
+ {"pattern":"P1 发布会左轴三段式","layers":[
2
+ {"type":"text","role":"label","text":"NEW · 新品发布","font":"hei-medium","size":0.065,"tracking":0.18,"fill":"#39FF88","x":0.07,"y":0.22,"anchor":"lm"},
3
+ {"type":"text","role":"main","text":"晨光 3.0","font":"hei-black","size":0.26,"sizes":[0.26,0.26,0.26,0.34,0.34,0.34],"char_colors":["#FFFFFF","#FFFFFF",null,"#39FF88","#39FF88","#39FF88"],"fill":"#FFFFFF","tracking":0.02,
4
+ "glow":{"color":"#39FF88","radius":0.06,"strength":0.9},"x":0.065,"y":0.50,"anchor":"lm"},
5
+ {"type":"text","role":"sub","text":"更轻、更快的全新一代","font":"hei-medium","size":0.095,"fill":"#D6E2F2","x":0.07,"y":0.78,"anchor":"lm"}
6
+ ]}