@topmindspace/topmind-writing-skills 0.8.34 → 0.8.36

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 (63) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.en.md +12 -12
  3. package/README.md +12 -12
  4. package/package.json +1 -1
  5. package/topmind-briefs/CHANGELOG.md +9 -0
  6. package/topmind-briefs/README.en.md +6 -7
  7. package/topmind-briefs/README.md +11 -10
  8. package/topmind-briefs/SKILL.md +40 -33
  9. package/topmind-briefs/package.json +1 -1
  10. package/topmind-briefs/references/emoji-system.md +31 -21
  11. package/topmind-briefs/references/examples.md +38 -33
  12. package/topmind-briefs/references/platform-specs.md +13 -12
  13. package/topmind-briefs/references/style-guide.md +8 -6
  14. package/topmind-briefs/references/writing-principles.md +18 -7
  15. package/topmind-briefs/references/x-delivery-contract.md +65 -60
  16. package/topmind-briefs/references/x-layout-patterns.md +9 -9
  17. package/topmind-briefs/references/x-post-format.md +25 -21
  18. package/topmind-briefs/scripts/format_text.py +75 -28
  19. package/topmind-briefs/scripts/lint_x_post.py +70 -29
  20. package/topmind-cover/README.en.md +1 -1
  21. package/topmind-cover/README.md +1 -1
  22. package/topmind-format/README.en.md +6 -5
  23. package/topmind-format/README.md +8 -7
  24. package/topmind-format/SKILL.md +26 -24
  25. package/topmind-format/package.json +1 -1
  26. package/topmind-format/references/emoji-system.md +31 -21
  27. package/topmind-format/references/x-delivery-contract.md +65 -60
  28. package/topmind-format/references/x-layout-patterns.md +9 -9
  29. package/topmind-format/references/x-post-format.md +25 -21
  30. package/topmind-format/scripts/format_text.py +75 -28
  31. package/topmind-format/scripts/lint_x_post.py +70 -29
  32. package/topmind-format/scripts/negative_tests.py +44 -7
  33. package/topmind-poster/README.en.md +1 -1
  34. package/topmind-poster/README.md +1 -1
  35. package/topmind-viral-posts/README.en.md +3 -3
  36. package/topmind-viral-posts/README.md +5 -5
  37. package/topmind-viral-posts/SKILL.md +25 -25
  38. package/topmind-viral-posts/package.json +1 -1
  39. package/topmind-viral-posts/references/emoji-system.md +31 -21
  40. package/topmind-viral-posts/references/patterns.md +46 -46
  41. package/topmind-viral-posts/references/tags-and-topics.md +4 -6
  42. package/topmind-viral-posts/references/writing-principles.md +18 -7
  43. package/topmind-viral-posts/references/x-delivery-contract.md +65 -60
  44. package/topmind-viral-posts/references/x-layout-patterns.md +9 -9
  45. package/topmind-viral-posts/references/x-post-format.md +25 -21
  46. package/topmind-viral-posts/scripts/format_text.py +75 -28
  47. package/topmind-viral-posts/scripts/lint_x_post.py +70 -29
  48. package/topmind-wechat-post/README.en.md +1 -1
  49. package/topmind-wechat-post/README.md +1 -1
  50. package/topmind-wechat-post/SKILL.md +5 -5
  51. package/topmind-wechat-post/package.json +1 -1
  52. package/topmind-wechat-post/references/writing-principles.md +18 -7
  53. package/topmind-wechat-post/references/x-delivery-contract.md +65 -60
  54. package/topmind-wechat-post/references/x-post-format.md +25 -21
  55. package/topmind-wechat-post/scripts/lint_x_post.py +70 -29
  56. package/topmind-x-article/README.en.md +1 -1
  57. package/topmind-x-article/README.md +1 -1
  58. package/topmind-x-article/SKILL.md +4 -4
  59. package/topmind-x-article/package.json +1 -1
  60. package/topmind-x-article/references/writing-principles.md +18 -7
  61. package/topmind-x-article/references/x-delivery-contract.md +65 -60
  62. package/topmind-x-article/references/x-post-format.md +25 -21
  63. package/topmind-x-article/scripts/lint_x_post.py +70 -29
package/CHANGELOG.md CHANGED
@@ -1,3 +1,33 @@
1
+ ## [0.8.36] - 2026-10-14
2
+
3
+ > 根包 0.8.35 → **0.8.36**(patch);技能版本:topmind-briefs 0.2.18 → 0.2.19、topmind-format 0.1.3 → 0.1.4、topmind-viral-posts 0.3.10 → 0.3.11、
4
+ > topmind-wechat-post 0.3.10 → 0.3.11、topmind-x-article 0.4.16 → 0.4.17;topmind-cover、topmind-poster 不变。
5
+
6
+ ### 变更(交付规约重写)
7
+
8
+ - **短文工作流顺序**:核实信源(一手来源,厂商口径 / 传言标注)→ 找原帖原图 → 写内容 → 排版;排版目标是方便阅读(合理分段、合理列表)。
9
+ - **短文 emoji 不强制**:撤销 0.8.35「短文分点必须用 emoji」;分点可用 emoji,也可用「1)」「·」【小标题】,只禁用 `- ` `* ` `1. `;用 emoji 时必须合理并遵循 TopMind 体系。段子仍完全不用 emoji。
10
+ - **交付**:X 短文 / 段子的正文是一段可直接复制的纯文本;链接(含来源 URL)、原图、配图另发,聊天里正文一条、链接一条、图片一条。撤销「来源:名称 URL 行属于正文」;X 长文与公众号长文可保留文内链接(写明适用范围)。
11
+ - **`lint_x_post.py`**:新增 E10(正文有 URL)、E11(来源行)、E12(配图说明 / 图片占位),`--long` 不查;W10 改为「首行过长不像钩子」(原「有数据缺来源」随来源另发而撤销);W9 套话扩充(「总的来说」「不仅…更…」、三连「更×、更×、更×」、空泛形容、升华结尾等);「1)」「·」识别为列表符号;`--fix --style plain` 改写成「·」「1)」。
12
+ - **`format_text.py`**:短文默认把 Markdown 列表改成「·」「1)」,`--bullets emoji` 改 🔹 / 1️⃣;两种模式都把 URL、来源行、配图行拿出正文,打印「另发」清单,`--links-out` 另存。
13
+ - **去 AI 味 + 吸引力**:合并进 `writing-principles.md` 第五点五节(递进套句、过度对称、空洞断言等;首行钩子、具体数字和场景、人话、有观点的收尾)。
14
+ - **对齐清理**:briefs / viral-posts / format / x-article / wechat-post 的 description 与正文;`x-post-format.md`、`emoji-system.md`、`x-layout-patterns.md`、briefs `platform-specs.md` / `style-guide.md` / `examples.md`、viral `patterns.md` / `tags-and-topics.md` 里的来源行与强制 emoji 表述全部改掉;各 README。
15
+ - 评测 66 → 70 条并改写 12 条期望;format 负向测试新增链接拿出、E10–E12、`--long` 豁免、零 emoji 短文通过、W9 / W10。
16
+
17
+ ## [0.8.35] - 2026-10-14
18
+
19
+ > 根包 0.8.34 → **0.8.35**(patch);技能版本:topmind-briefs 0.2.17 → 0.2.18、topmind-format 0.1.2 → 0.1.3、topmind-viral-posts 0.3.9 → 0.3.10、
20
+ > topmind-wechat-post 0.3.9 → 0.3.10、topmind-x-article 0.4.15 → 0.4.16;topmind-cover、topmind-poster 不变。
21
+
22
+ ### 变更(更正 0.8.34:短文用 emoji,段子不用)
23
+
24
+ - **段子体完全不用 emoji**:不加人设点缀(🐔 🐱 🌱)、情绪表情和 emoji 列表符号;分点一条一行、靠行间空行区分,不加任何符号。
25
+ - **短文体分点必须用 emoji 列表符号**,按 `emoji-system.md`(该体系只适用于短文体,段子配额全为 0)。
26
+ - **`format_text.py --mode duanzi`**:去掉原文 emoji 与列表符号(Markdown 列表、🔹 等)后输出纯文字条目;不再接受 `--open` / `--close` / `--title-emoji`(报错退出 2)。
27
+ - **`lint_x_post.py --duanzi`**:新增 W13,段子里出现任何 emoji(含点缀和列表符号)时警告。
28
+ - 同步修正:`x-delivery-contract.md`(第一节改为短文 / 段子对照表,正反例更新)、`x-post-format.md`、`x-layout-patterns.md`、viral-posts SKILL / `patterns.md` / `tags-and-topics.md` 示例去 emoji、format SKILL 与示例、各 README。
29
+ - 评测 63 → 66 条(新增段子零 emoji、段子拒绝点缀、短文 emoji 列表);format 负向测试改为验证段子去 emoji、拒绝 `--open`、lint W13。
30
+
1
31
  ## [0.8.34] - 2026-10-14
2
32
 
3
33
  > 根包 0.8.33 → **0.8.34**(patch);技能版本:topmind-briefs 0.2.16 → 0.2.17、topmind-format 0.1.1 → 0.1.2、topmind-viral-posts 0.3.8 → 0.3.9、
package/README.en.md CHANGED
@@ -35,7 +35,7 @@ npx @topmindspace/topmind-writing-skills install topmind-x-article
35
35
 
36
36
  ### topmind-briefs · Short-form briefs
37
37
 
38
- Short-form briefs for WeChat + X: one topic, one chart (data rankings / paper explainers / product alerts / mechanism explainers). A brief is not long-form: **no HTML by default**. The X version is one copy-ready plain-text block (paragraphing, restrained emoji, source links, 0–2 hashtags); the WeChat version is ~300–800 Chinese characters of Markdown. Original facts, images and quotes first; cover optional. Every delivery lists source, publish time and link. Draft only — never auto-post.
38
+ Short-form briefs for WeChat + X: one topic, one chart (data rankings / paper explainers / product alerts / mechanism explainers). A brief is not long-form: **no HTML by default**. Workflow: verify first-hand sources → find the original post and images → write (no AI tone, a real hook) → lay out (sensible paragraphs and lists). The X version is one copy-ready plain-text block (emoji optional, 0–2 hashtags); **links (with source and publish time), 1–2 original images and generated images are sent separately**; the WeChat version is ~300–800 Chinese characters of Markdown. Draft only — never auto-post.
39
39
 
40
40
  ```bash
41
41
  npx @topmindspace/topmind-writing-skills install topmind-briefs
@@ -43,7 +43,7 @@ npx @topmindspace/topmind-writing-skills install topmind-briefs
43
43
 
44
44
  ### topmind-viral-posts · X viral short posts
45
45
 
46
- 18 post types plus hook × body × closer combinations, summarised from common high-engagement writing patterns in the Chinese X community (all examples are original): **duanzi layout** (one sentence per line, a blank line between lines), conversational tone, an engagement hook; original images first; asks before generating one via `topmind-cover`. Hashtags (1–3) are part of the post body; classification tags (type / purpose / platform / tone) are listed separately. Jokes may use bullets too — always emoji bullets, one per line with blank lines between. Each post is delivered in its own copyable block.
46
+ 18 post types plus hook × body × closer combinations, summarised from common high-engagement writing patterns in the Chinese X community (all examples are original): **duanzi layout** (one sentence per line, a blank line between lines), conversational tone, an engagement hook; original images first; asks before generating one via `topmind-cover`. Hashtags (1–3) are part of the post body; classification tags (type / purpose / platform / tone) are listed separately. Duanzi posts use no emoji at all — no persona motif, no reaction emoji, no bullet symbols; bullets are plain lines separated by blank lines. Each post body is one copy-ready plain-text block; links, original images and generated images are sent separately.
47
47
 
48
48
  ```bash
49
49
  npx @topmindspace/topmind-writing-skills install topmind-viral-posts
@@ -51,7 +51,7 @@ npx @topmindspace/topmind-writing-skills install topmind-viral-posts
51
51
 
52
52
  ### topmind-format · X plain-text formatter
53
53
 
54
- Paste existing text: **to duanzi** → one sentence per line with blank lines between, bullets turned into emoji bullets; **to short post** → paragraphing, emoji bullets, a keyword-matched title emoji and the chicken/cat/plant persona motif (🐔 🐱 🌱 🌸) at the start or end. Layout only — words never change; `format_text.py` enforces fidelity.
54
+ Paste existing text: **to duanzi** → one sentence per line with blank lines between, all emoji and bullet symbols removed; **to short post** → paragraphing, lists as 「·」/「1)」 or emoji; title emoji and persona motif optional. Layout only — words never change; `format_text.py` enforces fidelity and pulls links, source lines and image notes out of the body to be sent separately.
55
55
 
56
56
  ```bash
57
57
  npx @topmindspace/topmind-writing-skills install topmind-format
@@ -63,12 +63,12 @@ Single source in `shared/references/`, distributed to each skill's `references/`
63
63
 
64
64
  | Doc | Covers |
65
65
  |---|---|
66
- | `x-delivery-contract.md` (must read) | Bullets are always emoji bullets (jokes and briefs alike; no `- ` / `1. `); the post body is one copy-ready block (including the source line and hashtags); sources, original images, image suggestions, internal tags and notes are listed separately; one block per post |
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
- | `emoji-system.md` | The TopMind emoji system: 0–2 persona motifs (🐔 🐱 🌱) at start/end; 0–1 keyword-matched title emoji; one bullet set per post |
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
69
  | `x-layout-patterns.md` | Layout patterns distilled from reference posts |
70
70
 
71
- Checks: `lint_x_post.py` (E1–E9 Markdown leftovers; W12 notes / sources / image lines / internal tags inside the post body).
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
 
@@ -102,15 +102,15 @@ npx @topmindspace/topmind-writing-skills install topmind-poster
102
102
 
103
103
  | Skill | Version | What it does |
104
104
  |-------|---------|--------------|
105
- | [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.9** | WeChat article lifecycle: package, review, 3 quality gates, inline typography & publish checklist |
106
- | [`topmind-x-article`](./topmind-x-article/) | **0.4.15** | X long-form one-click publish: Markdown → one-click-copy HTML (images/prompt copy, click-to-zoom images) / plain-text fallback + cover + checklist |
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
107
  | [`topmind-cover`](./topmind-cover/) | **0.4.8** | 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 + 12 title treatments + 55 example images (22 styles × 2 sizes + 11 variant samples) + 1 style overview |
108
- | [`topmind-briefs`](./topmind-briefs/) | **0.2.17** | Short-form briefs (WeChat + X): one topic, one chart; data rankings / paper explainers / product alerts / mechanism explainers; one plain-text X block (no HTML by default) with emoji bullets, source links and hashtag suggestions; post body in its own copy-ready block, sources and 1–2 original images listed separately; asks before generating any image |
109
- | [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.9** | X viral short posts: 18 template types + combinations, duanzi layout (blank lines, emoji bullets), one copy-ready block per post, hashtags in the body and classification tags listed separately; asks before generating an image |
110
- | [`topmind-format`](./topmind-format/) | **0.1.2** | X plain-text formatter: to duanzi (blank lines) / to short post (paragraphing + emoji system); layout only, words unchanged, with a fidelity check; body delivered as its own block |
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
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
112
 
113
- Installer [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) is **0.8.34** (whole-repo same-tag releases).
113
+ Installer [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) is **0.8.36** (whole-repo same-tag releases).
114
114
 
115
115
  ### Which skill, and how they combine
116
116
 
package/README.md CHANGED
@@ -33,7 +33,7 @@ npx @topmindspace/topmind-writing-skills install topmind-x-article
33
33
 
34
34
  ### topmind-briefs · 干货短文
35
35
 
36
- 公众号 + X 双平台干货短文:一件事讲透(数据榜单 / 论文解读 / 新品速递 / 机制讲解)。短文不是长文,**默认不出 HTML**:X 版是一段可直接复制的纯文本(分段换行、克制的 emoji、来源链接、0–2 个话题标签),公众号版约 300–800 字 Markdown。尊重原始信息、原图、原文;按 X 交付规约交付:正文单独一块可直接复制,信源(含发布时间)、1–2 张原图、说明各自另列;没有原图时主动询问是否配图(可选 topmind-cover),不擅自生图。只起草不代发。
36
+ 公众号 + X 双平台干货短文:一件事讲透(数据榜单 / 论文解读 / 新品速递 / 机制讲解)。短文不是长文,**默认不出 HTML**:工作流按「核实一手信源 → 找原帖原图 → 写内容(去 AI 味、首行钩子)→ 排版(合理分段、合理列表)」;X 版交付一段可直接复制的纯文本(emoji 可选、0–2 个话题标签),**链接(含来源与发布时间)、1–2 张原图、配图另发**,不混进正文;公众号版约 300–800 字 Markdown;没有原图时主动询问是否配图(可选 topmind-cover),不擅自生图。只起草不代发。
37
37
 
38
38
  ```bash
39
39
  npx @topmindspace/topmind-writing-skills install topmind-briefs
@@ -41,7 +41,7 @@ npx @topmindspace/topmind-writing-skills install topmind-briefs
41
41
 
42
42
  ### topmind-viral-posts · X 引流段子/爆款短篇
43
43
 
44
- 基于对 X 中文区常见高互动写法的归纳,提供 18 类型模板 + 钩子×主体×收尾组合玩法(示例均为自编),默认**段子体**(一句一行、行与行之间空一行)、口语化、带互动钩子,配图原图优先(官方 / 第三方 / 自己的后台截图),没有原图时先问是否配图、同意后走 topmind-cover 出图,话题标签(1–3 个)在正文末行,内部分类标签另列;段子也可以分点,分点必须用 emoji 列表符号,条目间空行;每条正文单独一块。
44
+ 基于对 X 中文区常见高互动写法的归纳,提供 18 类型模板 + 钩子×主体×收尾组合玩法(示例均为自编),默认**段子体**(一句一行、行与行之间空一行)、口语化、带互动钩子,配图原图优先(官方 / 第三方 / 自己的后台截图),没有原图时先问是否配图、同意后走 topmind-cover 出图,话题标签(1–3 个)在正文末行,内部分类标签另列;段子**完全不用 emoji**,分点不加符号、一条一行靠行间空行区分;每条交付一段可直接复制的纯文本,链接、原图、配图另发。
45
45
 
46
46
  ```bash
47
47
  npx @topmindspace/topmind-writing-skills install topmind-viral-posts
@@ -51,7 +51,7 @@ npx @topmindspace/topmind-writing-skills install topmind-viral-posts
51
51
 
52
52
  ### topmind-format · X 纯文本格式化
53
53
 
54
- 用户贴一段现成文字:**转段子** → 每句一行、行间空一行,分点改 emoji 列表符号;**格式化成短文** → 合理分段换行、列表改 emoji、标题 emoji 对应关键词、开头结尾加鸡/猫/植物人设点缀(🐔 🐱 🌱 🌸)。只动排版不改字,`format_text.py` 自带原文保真校验。
54
+ 用户贴一段现成文字:**转段子** → 每句一行、行间空一行,去掉所有 emoji 与列表符号;**格式化成短文** → 合理分段换行,列表改「·」「1)」或 emoji,标题 emoji 与人设点缀可选。只动排版不改字,`format_text.py` 自带原文保真校验;原文里的链接、来源行、配图行拿出来另发。
55
55
 
56
56
  ```bash
57
57
  npx @topmindspace/topmind-writing-skills install topmind-format
@@ -63,12 +63,12 @@ npx @topmindspace/topmind-writing-skills install topmind-format
63
63
 
64
64
  | 文档 | 管什么 |
65
65
  |---|---|
66
- | `x-delivery-contract.md`(必读必守) | 分点必须用 emoji 列表符号(段子、短文都一样,禁用 `- ` `1. `);正文单独一个可直接复制的块(含来源行与话题标签),信源、原图、配图建议、内部标签、说明各自另列;多条帖子每条一块 |
66
+ | `x-delivery-contract.md`(必读必守) | 短文工作流:信源 → 原帖原图 → 内容 → 排版;短文 emoji 不强制(分点可用 emoji 或「1)」「·」【小标题】),段子完全不用 emoji,都禁用 `- ` `1. `;X 短文 / 段子的正文是一段可直接复制的纯文本(话题标签在末行),**链接(含来源)、原图、配图另发**;X 长文与公众号长文可保留文内链接 |
67
67
  | `x-post-format.md` | 不用 Markdown、列表符号、留白、来源、骨架、配图、公众号稿→X 稿 |
68
- | `emoji-system.md` | TopMind emoji 体系唯一出处:人设点缀 🐔 🐱 🌱 0–2 个只放首尾;标题 emoji 0–1 个对上关键词;列表符号一帖一套 |
68
+ | `emoji-system.md` | TopMind emoji 体系唯一出处(只用于短文体,且不强制):人设点缀 🐔 🐱 🌱 0–2 个只放首尾;标题 emoji 0–1 个对上关键词;列表符号一帖一套 |
69
69
  | `x-layout-patterns.md` | 参考帖拆出的版式规律(首行给结论、列表引导语、【小标题】分节等) |
70
70
 
71
- 检查:`lint_x_post.py`(E1–E9 Markdown 残留;W12 正文混入信源 / 配图 / 说明 / 内部标签)。
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
 
@@ -102,15 +102,15 @@ npx @topmindspace/topmind-writing-skills install topmind-poster
102
102
 
103
103
  | 技能 | 版本 | 做什么 |
104
104
  |------|------|--------|
105
- | [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.9** | 公众号文章全生命周期:交付包、审校改写、质量三关、微信内联排版与发布清单 |
106
- | [`topmind-x-article`](./topmind-x-article/) | **0.4.15** | X 长文一键发布:Markdown 原稿 → 一键复制 HTML(含配图/提示词复制、图片点击放大)/ 纯文本兜底 + 封面图 + 发布清单 |
105
+ | [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.11** | 公众号文章全生命周期:交付包、审校改写、质量三关、微信内联排版与发布清单 |
106
+ | [`topmind-x-article`](./topmind-x-article/) | **0.4.17** | X 长文一键发布:Markdown 原稿 → 一键复制 HTML(含配图/提示词复制、图片点击放大)/ 纯文本兜底 + 封面图 + 发布清单 |
107
107
  | [`topmind-cover`](./topmind-cover/) | **0.4.8** | 文章封面配图(X / 公众号共用,X 主尺寸 1500×600 / 5:2):震撼醒目主题突出;22 种封面风格库 + X 短文 16:9 封面场景 + 12 种标题花式 + 55 张示例图(22 种风格 × 2 尺寸 + 11 张变体样张) + 1 张风格总览图 |
108
- | [`topmind-briefs`](./topmind-briefs/) | **0.2.17** | 干货短文(公众号 + X 双平台):一件事讲透,数据榜单/论文解读/新品速递;X 版一段纯文本(默认不出 HTML)+ emoji 列表 + 来源链接 + 话题标签建议;正文单独成块,信源 / 原图另列,无原图先询问配图 |
109
- | [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.9** | X 引流段子/爆款短篇:18 大类型模板 + 组合玩法,段子体(行间空行,分点用 emoji 列表)、每条正文单独成块、话题标签在正文、分类标签另列;无原图先询问再走 topmind-cover |
110
- | [`topmind-format`](./topmind-format/) | **0.1.2** | X 纯文本格式化:转段子(行间空行,分点用 emoji 列表)/ 格式化成短文(分段 + emoji 体系),只动排版不改字,带原文保真校验;正文单独成块 |
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
111
  | [`topmind-poster`](./topmind-poster/) | **0.1.5** | HTML+CSS → 高清长图 / 海报 / 信息图 PNG:无头 Chrome 2× 截图 + 自动裁白;「一段一图」分段图批量出图(生成器 + 渲染器) |
112
112
 
113
- 安装器 [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) 为 **0.8.34**(整仓同 tag 发版)。
113
+ 安装器 [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) 为 **0.8.36**(整仓同 tag 发版)。
114
114
 
115
115
  ### 怎么选、怎么组合
116
116
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topmindspace/topmind-writing-skills",
3
- "version": "0.8.34",
3
+ "version": "0.8.36",
4
4
  "description": "TopMindSpace 写作技能合集 — 通过 npm / npx 安装技能(公众号长文、X 长文、干货短文、X 引流短帖、封面图、长图海报)。只出稿与发布包,不代发。",
5
5
  "license": "MIT",
6
6
  "author": "TopMindspace",
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.19 (2026-10-14)
4
+
5
+ - 变更:工作流改为「信源 → 原帖原图 → 内容 → 排版」;X 正文一段可复制纯文本,不含 URL 与来源行,链接 / 原图另发;emoji 不强制,分点可用「1)」「·」【小标题】
6
+ - 优化:示例与 platform-specs、style-guide 按新规约重写;去 AI 味 + 吸引力清单并入 writing-principles
7
+
8
+ ## 0.2.18 (2026-10-14)
9
+
10
+ - 更正:共享规约改为「短文分点用 emoji 列表符号、段子完全不用 emoji」;`emoji-system.md` 标明只适用于短文体;`lint_x_post.py` 新增 `--duanzi`(W13)
11
+
3
12
  ## 0.2.17 (2026-10-14)
4
13
 
5
14
  - 特性支持:接入共享 X 交付规约 `x-delivery-contract.md`(必读必守)——X 正文单独成块,信源 / 原图 / 说明另列;分点必须用 emoji 列表符号
@@ -3,12 +3,11 @@
3
3
  **[中文](./README.md)** | English
4
4
 
5
5
  One topic, then stop. Data-driven short posts: rankings, paper explainers, product launches.
6
- A brief is not a long-form article — **no HTML by default**: the X version is one copy-ready plain-text block
7
- (sensible paragraphing, restrained emoji, source links); the WeChat version is ~300–800 Chinese characters of Markdown.
8
- Original facts, images and quotes come first; a cover is optional when no original image exists. Every delivery lists
9
- each source's name, publish time and link.
6
+ A brief is not a long-form article — **no HTML by default**: the workflow is verify first-hand sources → find the original post and images → write → lay out.
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
+ The WeChat version is ~300–800 Chinese characters of Markdown. With no original image it asks before generating one.
10
9
 
11
- - Version: **v0.2.17** (ships with `@topmindspace/topmind-writing-skills@0.8.34`)
10
+ - Version: **v0.2.19** (ships with `@topmindspace/topmind-writing-skills@0.8.36`)
12
11
 
13
12
  ## Install
14
13
 
@@ -34,8 +33,8 @@ See [SKILL.md](./SKILL.md) for the workflow and [references/emoji-system.md](./r
34
33
 
35
34
  ## X formatting and hashtags
36
35
 
37
- X does not render Markdown, so the X version never uses `- ` lists, `#` headings or `**bold**`. Lists use emoji bullets
38
- (🔹 items, ▫️ sub-items, 1️⃣ steps, ✅/❌ contrasts); one style per post, one item per line, at most two levels.
36
+ X does not render Markdown, so the X version never uses `- ` lists, `#` headings or `**bold**`. Lists may use emoji bullets
37
+ (🔹 items, 1️⃣ steps, ✅/❌ contrasts) or plain-text markers (「1)」, 「·」, 【headings】); emoji are optional; one style per post, at most two levels.
39
38
  The WeChat draft keeps Markdown lists; the X draft is derived from it and only the layout may differ.
40
39
  Each X version ends with 0–2 suggested hashtags on their own last line (none on the WeChat version). See
41
40
  [references/x-post-format.md](./references/x-post-format.md) and [references/platform-specs.md](./references/platform-specs.md).
@@ -3,10 +3,11 @@
3
3
  [English](./README.en.md) | 中文
4
4
 
5
5
  一件事,讲完就停。干货向短文:数据榜单、论文解读、新品速递。短文不是长文——**默认不出 HTML**:
6
- X 版是一段可直接复制的纯文本(分段换行 + 克制的 emoji + 来源链接),公众号版约 300–800 字 Markdown。
7
- 尊重原始信息、原图、原文;配图原图优先,没有原图时封面可选(`topmind-cover`);交付时写明信息来源、发布时间与来源链接。
6
+ 工作流:核实一手信源 → 找原帖原图 → 写内容(去 AI 味、首行钩子)→ 排版(合理分段、合理列表)。
7
+ X 版交付一段可直接复制的纯文本(emoji 可选),**链接(含来源)、原图、配图另发**,不和正文混在一起;公众号版约 300–800 字 Markdown。
8
+ 没有原图时先问要不要配图(`topmind-cover`);链接那一条写明来源名称、发布时间与 URL。
8
9
 
9
- - 版本:**v0.2.17**(随 `@topmindspace/topmind-writing-skills@0.8.34` 发布)
10
+ - 版本:**v0.2.19**(随 `@topmindspace/topmind-writing-skills@0.8.36` 发布)
10
11
 
11
12
  ## 安装
12
13
 
@@ -17,13 +18,13 @@ npx @topmindspace/topmind-writing-skills install topmind-briefs
17
18
  ## 用法
18
19
 
19
20
  ```bash
20
- # 检查 X 版:无 Markdown 残留、符号一致、表情不过量、有来源
21
+ # 检查 X 版:无 Markdown 残留;正文无 URL / 来源行 / 配图说明(E10–E12);去 AI 味(W9)
21
22
  python3 scripts/lint_x_post.py X短文.txt
22
- # 只动排版不改字:统一分段、列表改 emoji、加标题 emoji 与人设点缀
23
- python3 scripts/format_text.py X短文.txt --mode short --title-emoji 📊 --out X短文.txt
23
+ # 只动排版不改字:统一分段、列表改「·」「1)」(--bullets emoji 改 🔹 / 1️⃣),链接与来源行拿出来另列
24
+ python3 scripts/format_text.py X短文.txt --mode short --out X短文.txt
24
25
  ```
25
26
 
26
- 交付格式:`【X 版】`纯文本 +(可选)`【公众号版】`Markdown + `【配图】`原图与来源 + `【信息来源】`来源名称 / 发布时间 / 链接。
27
+ 交付格式:正文一段纯文本(一条消息)→ 链接一条(来源名称|发布时间|URL)→ 图片一条(1–2 张原图或询问是否配图)→(可选)公众号版 Markdown。
27
28
 
28
29
  用户明确要 HTML 时才用(脚本随包自带,唯一真源在仓库 `shared/scripts/`):
29
30
 
@@ -36,9 +37,9 @@ python3 scripts/md2wechat.py --input 公众号短文.md --out-dir 交付 --slug
36
37
 
37
38
  ## X 版格式与话题标签
38
39
 
39
- X 不渲染 Markdown,X 版不用 `- ` 列表、`#` 标题和 `**加粗**`:分点用 emoji 项目符号(🔹 并列、▫️ 二级、1️⃣ 步骤、✅/❌ 对比),
40
- 同帖风格一致、每条一行、最多两层。公众号稿继续用 Markdown 列表;X 稿由公众号稿派生,只允许排版差异,内容一致。
41
- X 版末尾附 0–2 个话题标签建议(单独成行放最后,公众号稿不加)。规则见 [references/x-post-format.md](./references/x-post-format.md)
40
+ X 不渲染 Markdown,X 版不用 `- ` 列表、`#` 标题和 `**加粗**`:分点可用 emoji(🔹 并列、1️⃣ 步骤、✅/❌ 对比)或纯文本(「1)」「·」【小标题】),
41
+ emoji 不强制,同帖一套、每条一行、最多两层。公众号稿继续用 Markdown 列表;X 稿由公众号稿派生,只允许排版差异,内容一致。
42
+ X 版末尾附 0–2 个话题标签(正文最后一行,公众号稿不加)。规则见 [references/x-post-format.md](./references/x-post-format.md)
42
43
  与 [references/platform-specs.md](./references/platform-specs.md)。
43
44
 
44
45
  ```bash
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: topmind-briefs
3
- description: "干货短文:一件事讲透,X + 公众号双平台。短文不是长文——默认不出 HTML:X 版是一段可直接复制的纯文本(首行给结论、合理分段换行、emoji 项目符号列表,emoji 只用 TopMind 体系,带来源链接,0–2 个话题标签),公众号版是 300–800 字 Markdown;交付遵守 X 交付规约:正文单独成块可直接复制(含来源行与话题标签),信源、原图(1–2 张)、说明各自分块;分点必须用 emoji 列表符号;没有原图时主动询问是否配图,不擅自生图。尊重原始信息、原图、原文。只交付不代发。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,须用户确认)。"
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.17"
6
+ version: "0.2.19"
7
7
  action_category: "write"
8
8
  triggers: "写短文, 公众号短文, X 短文, 发快讯, 快讯, 简讯, 速报, 干货短文, 论文解读, 数据榜单, 榜单速报, 新品速递, brief, 来篇短的, 短平快, 发个快讯"
9
9
  author: "TopMindSpace"
@@ -15,7 +15,7 @@ metadata:
15
15
 
16
16
  一件事,一段话,讲完就停。短文不是长文:**默认不出 HTML、不做排版包**,交付的是可以直接复制粘贴的文字。
17
17
 
18
- > **必读必守**:[references/x-delivery-contract.md](references/x-delivery-contract.md)——分点必须用 emoji 列表符号(禁用 `- ` `1. `);X 正文单独一个 `text` 块、只放可发布内容;信源、原图、说明各自分块。
18
+ > **必读必守**:[references/x-delivery-contract.md](references/x-delivery-contract.md)——X 正文是一段可直接复制的纯文本,**不含 URL 和来源行**;链接一条、图片一条另发。分点可用 emoji 或「1)」「·」【小标题】,禁用 `- ` `1. `;emoji 不强制。
19
19
 
20
20
  - 跟 `topmind-viral-posts` 的区别:那是引流互动型段子(第一人称、钩子、涨粉);这是**信息密度型干货短文**(数据、榜单、论文、新品,第三方客观口吻)。
21
21
  - 跟 `topmind-x-article` / `topmind-wechat-post` 的区别:那两个是长文(数千字、多节多图、HTML 发布包);本技能 X 版一帖或 ≤3 条 thread,公众号版 300–800 字。
@@ -46,33 +46,37 @@ metadata:
46
46
 
47
47
  ## 工作流
48
48
 
49
- 1. **定主题**:一篇只讲一件事——一个数据、一个榜单变化、一篇论文的核心结论、一个新品的关键参数。定不下来就问:这篇让读者记住哪一个数字或结论?
50
- 2. **找素材**:先核实,再找图。记下每条信息的**来源名称、链接、发布时间**(交付时要报给用户)。
51
- 3. **写 X 版**:一段纯文本,按 [references/platform-specs.md](references/platform-specs.md)、[references/style-guide.md](references/style-guide.md) 和参考帖版式规律 [references/x-layout-patterns.md](references/x-layout-patterns.md):
52
- - 标题一行,写出「是什么 + 最扎眼的事实」(只看首行也拿到信息),行首可放 1 个与关键词对应的 emoji(发布 🆕、数据 📊、论文 📄 …);
53
- - 正文一段 1–3 行,段与段空一行;并列信息用 emoji 列表(默认 🔹,步骤 1️⃣,对比 ✅/❌),一帖一套;列表前一行写「xx:」引导语,列表后一句收尾;
54
- - 中英混排:英文专名保留原文,中英之间加半角空格;链接单独一行写明用途;
55
- - 信息量大(约 500 字以上、账号支持长帖)时用【小标题】分节,不用 `#`;
56
- - 正文后单独一行 `来源:名称 URL`,最后一行 0–2 个话题标签;
57
- - emoji 只用 TopMind 体系,唯一出处 [references/emoji-system.md](references/emoji-system.md):标题 emoji 按关键词对照表取(对不上就不放,不用 🔥 😍 凑数),人设点缀(🐔 🐱 🌱)最多 2 个、只放首尾,严肃资讯不放;
58
- - 不用 Markdown(X 不渲染),规则见 [references/x-post-format.md](references/x-post-format.md)。
49
+ 顺序固定:**信源 → 原帖原图 → 内容 → 排版**,前一步没做完不进下一步(见交付规约第一节)。
50
+
51
+ 1. **核实信源**:一篇只讲一件事(一个数据、一个榜单变化、一篇论文的核心结论、一个新品的关键参数)。先找一手来源(官方公告、更新日志、论文、仓库、当事人原帖);厂商数字标「官方称 / 厂商口径」,传言标「据传 / 未证实」。记下每条的**来源名称、发布时间(时区)、URL**——这些另发给用户,不进正文。
52
+ 2. **找原帖、原图**:原帖链接、官方图 / 截图 1–2 张。
53
+ 3. **写内容**:
54
+ - 首行是钩子:「是什么 + 最扎眼的事实」,约 30 字内,只看首行也拿到信息;
55
+ - 具体数字和场景,说人话,最后一句给判断、建议或具体问题(不复述、不升华);
56
+ - 按 [references/writing-principles.md](references/writing-principles.md) 第五点五节「去 AI 味 + 吸引力清单」过一遍;
57
+ - 出处在正文里只用文字点到(「官方称」「据论文」),不贴 URL、不写来源行。
58
+ 4. **排版**(目标:方便阅读),按 [references/platform-specs.md](references/platform-specs.md)、[references/x-post-format.md](references/x-post-format.md)、[references/x-layout-patterns.md](references/x-layout-patterns.md):
59
+ - 一段 1–3 行,段间空一行;3–7 条并列信息才用列表,前一行写「xx:」引导语,2 条就写成两句;
60
+ - 分点任选一套:emoji(🔹 / 1️⃣ / ✅❌)或纯文本(「1)」「·」【小标题】分节),禁用 `- ` `* ` `1. `;
61
+ - emoji **不强制**;要用就只用 TopMind 体系([references/emoji-system.md](references/emoji-system.md)):标题 emoji 0–1 个且对上关键词,人设点缀 0–2 个只放首尾,严肃资讯不放;
62
+ - 中英混排:英文专名保留原文,中英之间加半角空格;
63
+ - 最后一行 0–2 个话题标签;不用 Markdown(X 不渲染)。
59
64
  4. **写公众号版**(用户要双平台时):300–800 字 Markdown,内容与 X 版一致,只允许排版差异;不写前言导读。
60
65
  5. **配图**:原图优先,交付 1–2 张(官方图、原帖配图 / 原帖截图、基准图、榜单实拍),每张写一句图注说明它证明什么;给可直接打开的图片地址,能下载就下载到交付目录。**没有可用原图时,必须主动问用户「要不要配图?可以用 topmind-cover 出一张 16:9 封面」**,用户说要再调用 `topmind-cover` 的「X 短文封面」(16:9,1200×675);不擅自生图。
61
66
  6. **自检**:
62
- - 每个数字都有来源;图和文字说的是同一件事;推测已标注;
63
- - 按 [references/writing-principles.md](references/writing-principles.md)「去 AI 味清单」过一遍;
64
- - `python3 scripts/lint_x_post.py X短文.txt`:错误清零(含 Markdown 列表/标题/加粗/引用/链接/删除线/代码围栏残留),W8(表情过多)/ W9(AI 套话)/ W10(缺来源)逐条处理;
65
- - 需要统一排版时可跑 `python3 scripts/format_text.py X短文.txt --mode short --out X短文.txt`(只动排版不改字)。
66
- 7. **交付**(只交付,不发布):见下节「交付格式」;落盘时 `X短文.txt` 只放正文,信源 / 配图 / 说明写进 `交付说明.md`。
67
+ - 每个数字都能在另发的链接里找到出处;图和文字说的是同一件事;推测已标注;
68
+ - `python3 scripts/lint_x_post.py X短文.txt`:错误清零(Markdown 残留,以及 E10 正文有 URL、E11 有来源行、E12 有配图说明),W9(AI 套话)/ W10(首行太长)/ W8(表情过多)逐条处理;
69
+ - 需要统一排版时可跑 `python3 scripts/format_text.py X短文.txt --mode short --out X短文.txt`(只动排版不改字;正文里的链接、来源行会被拿出来另列)。
70
+ 7. **交付**(只交付,不发布):见下节「交付格式」;落盘时 `X短文.txt` 只放正文,链接 / 图片 / 说明写进 `交付说明.md`。
67
71
 
68
72
  ## 交付格式
69
73
 
70
74
  默认交付纯文本,不生成 HTML,严格按 [references/x-delivery-contract.md](references/x-delivery-contract.md)(含正反例):
71
75
 
72
- 1. **X 正文块**:一个 `text` 代码块,只放可发布内容——标题、正文、emoji 列表、`来源:名称 URL` 行、末行话题标签。thread 每条一块。
73
- 2. **公众号版**(用户要时):单独一个 `markdown` 块。
74
- 3. **信源**:`来源名称|发布时间(注明时区)|URL`,每条承重事实一行;发布时间取原文页面,没有就写「未标注」。
75
- 4. **原图**:1–2 张,`[图1] 图片地址或文件名 — 图注;来源`;视频给封面帧地址并注明。没有原图写「未找到原图」,最后问:「要不要配图?可以用 topmind-cover 出一张 16:9 封面。」
76
+ 1. **正文**(一条消息或一个独立 `text` 块):一段可直接复制的纯文本——标题行、正文、列表、末行话题标签;**不含 URL、来源行、配图说明**。thread 每条一块。
77
+ 2. **链接**(单独一条):`来源名称|发布时间(注明时区)|URL`,每条承重事实一行,原帖链接也放这里;发布时间取原文页面,没有就写「未标注」。
78
+ 3. **图片**(单独一条):1–2 张,`[图1] 图片地址或文件名 — 图注;来源`;视频给封面帧地址并注明。没有原图写「未找到原图」,并问:「要不要配图?可以用 topmind-cover 出一张 16:9 封面。」
79
+ 4. **公众号版**(用户要时):单独一个 `markdown` 块,可以有文内链接。
76
80
  5. **说明**(可选):口径提醒、改动说明,放最后。
77
81
 
78
82
  **HTML 只在用户明确要求时出**(例如「出个一键复制 HTML」「公众号要排版好的版本」):
@@ -84,24 +88,27 @@ metadata:
84
88
  ## X 版示例
85
89
 
86
90
  ```text
87
- 📊 SWE-bench Verified 榜单 10 月 13 日更新,第一名换人了
91
+ SWE-bench 榜单换了第一:领先只有 1.3 分
88
92
 
89
- 🔹 模型 A:78.2%
90
- 🔹 模型 B:76.9%
91
- 🔹 模型 C:74.5%
93
+ 10 月 13 日更新后的前三名:
92
94
 
93
- 前三名差距不到 4 个百分点,成本差距见图 1。
95
+ 1)模型 A:78.2%
96
+ 2)模型 B:76.9%
97
+ 3)模型 C:74.5%
94
98
 
95
- 来源:SWE-bench 官方榜单 https://www.swebench.com
99
+ 分差不到 4 个点,选模型先看单任务成本,别只看名次。
96
100
 
97
101
  #SWEbench #AI编程
98
102
  ```
99
103
 
100
- (示例中的模型名与分数为虚构演示。更多示例见 [references/examples.md](references/examples.md)。)
104
+ 链接(另发):`SWE-bench 官方榜单|2026-10-13(UTC)|https://www.swebench.com`
105
+ 图片(另发):`[图1] 榜单截图 — 前三名分数;来源:官方榜单`
106
+
107
+ (示例中的模型名与分数为虚构演示;同一条也可以用 🔹 列表加 📊 标题 emoji。更多示例见 [references/examples.md](references/examples.md)。)
101
108
 
102
109
  ## 话题标签
103
110
 
104
- X 版末尾给 0–2 个话题标签(属正文;备选标签写在正文块外),单独成行放在最后:榜单、发布类取榜单名或产品通用名,再加 1 个领域词;
111
+ X 版末尾给 0–2 个话题标签(属正文,是正文最后一行;备选标签写在说明里),单独成行放在最后:榜单、发布类取榜单名或产品通用名,再加 1 个领域词;
105
112
  不堆砌,不蹭无关热点,不用诱导互动或敏感标签;中文帖用中文话题,英文帖用英文驼峰。公众号稿不加话题标签。细则见 `references/platform-specs.md`。
106
113
 
107
114
  ## 内容类型(四种)
@@ -110,8 +117,8 @@ X 版末尾给 0–2 个话题标签(属正文;备选标签写在正文块
110
117
  |------|------|------|
111
118
  | 数据榜单型 | 基准评测、成本对比 | 判断句开头 → 基准一句 → 最扎眼数字 → 核心图(解决率 / 成本) |
112
119
  | 榜单速报型 | 排行榜更新、排名变动 | 排名 + 分数 → 性价比 → 细分展开 → 纵向对比 → 榜单实拍 |
113
- | 论文解读型 | 新论文、新方法 | 判断句开头 → 核心方法一句 + 3 条 emoji 要点 → 论文原图 |
114
- | 机制讲解型 | 技术原理、流程拆解 | 痛点一句 → 1️⃣2️⃣3️⃣ 分步 → 「简单来说」一句 → 流程图 |
120
+ | 论文解读型 | 新论文、新方法 | 判断句开头 → 核心方法一句 + 3 条要点 → 论文原图(另发) |
121
+ | 机制讲解型 | 技术原理、流程拆解 | 痛点一句 → 1)2)3)或 1️⃣2️⃣3️⃣ 分步 → 一句结论 → 流程图(另发) |
115
122
 
116
123
  ## 和其他技能怎么配合
117
124
 
@@ -126,7 +133,7 @@ X 版末尾给 0–2 个话题标签(属正文;备选标签写在正文块
126
133
  ## 运营铁律
127
134
 
128
135
  - 只起草,不代发。发布前用户确认。
129
- - 数字必须有来源;厂商数字标「厂商口径」。
136
+ - 数字必须有一手来源(链接另发);厂商数字标「官方称 / 厂商口径」。
130
137
  - 不碰医疗建议、投资建议、政治站队。
131
138
 
132
139
  ## 发文铁律
@@ -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.17"
12
+ "version": "0.2.19"
13
13
  }
@@ -1,7 +1,8 @@
1
1
  # TopMind emoji 体系(账号人设 · 标题 · 列表)
2
2
 
3
3
  > 交付与列表规约见 `x-delivery-contract.md`(必读必守)。
4
- > 适用:`topmind-briefs`(短文)、`topmind-viral-posts`(段子)、`topmind-format`(格式化)的 X 稿,以及其他技能派生 X 纯文本稿时。
4
+ > **只用于短文体,而且不强制**:短文可以一个 emoji 都不用;要用,就必须用得合理(对得上内容、不堆砌),并且只用本体系。适用于 `topmind-briefs`(短文)、`topmind-format` 的「格式化成短文」、viral-posts 热点资讯型的短文版,以及其他技能派生的 X 短文稿。
5
+ > **段子体完全不用 emoji**(`topmind-viral-posts` 段子、`topmind-format` 转段子):不用人设点缀、情绪表情、标题 emoji,也不用 emoji 列表符号;分点就一条一行、靠行间空行区分。
5
6
  > 公众号稿正文不用人设点缀。列表符号的细则见 `x-post-format.md`,本文只定「用哪些、用几个、放哪里」。
6
7
  > **唯一真源**:本文是 TopMind emoji 体系的唯一出处(仓库 `shared/references/emoji-system.md`,各技能目录里是逐字节副本)。各技能 SKILL.md 只引用本文,不另写一套 emoji 规则;要改体系只改这里。
7
8
 
@@ -13,7 +14,7 @@
13
14
  | 标题 emoji | 一眼看出这帖讲什么 | 标题行行首 | 0–1 个 |
14
15
  | 列表符号 | 分点、步骤、对比 | 每条列表项行首 | 一套,见 `x-post-format.md` |
15
16
 
16
- 三类之外的情绪表情(😂 🤝 😭)每帖最多 1 个,放在钩子或吐槽那一句的句尾。
17
+ 三类之外的情绪表情(😂 🤝 😭)短文一般不用。
17
18
 
18
19
  ## 二、人设点缀(账号 motif)
19
20
 
@@ -28,7 +29,7 @@
28
29
 
29
30
  用法:
30
31
 
31
- 1. **开头**:放在第一行行尾,或单独一行(段子可以单独一行)。例:`说个冷知识 🐱`
32
+ 1. **开头**:放在第一行(标题行)行尾。例:`🆕 某编辑器 3.0 发布 🐱`
32
33
  2. **结尾**:放在最后一句行尾(话题标签之前)。例:`明天见 🌱`
33
34
  3. **不进正文和列表**:正文中间、列表项里不放人设 emoji。
34
35
  4. **严肃内容不放**:事故、伤亡、争议、监管处罚类帖子不用人设点缀,也不用情绪表情。
@@ -66,9 +67,10 @@
66
67
  - 信息密度高的长帖(分【小标题】的那种)可以完全不用 emoji,靠空行和【】小标题分层——这也是 TopMind 风格。
67
68
  - 版式规律见 `x-layout-patterns.md`。
68
69
 
69
- ## 五、列表 emoji:统一、克制
70
+ ## 五、列表 emoji:可选、统一、克制
70
71
 
71
- - 默认 🔹(二级 ▫️),步骤 1️⃣ 2️⃣ 3️⃣,对比 ✅ / ❌ 成对,严肃内容用 • ▪。
72
+ - 短文分点不强制用 emoji:也可以用「1)」「·」【小标题】(见 `x-post-format.md`);只是不能用 `- ` `* ` `1.`。
73
+ - 选 emoji 时:默认 🔹(二级 ▫️),步骤 1️⃣ 2️⃣ 3️⃣,对比 ✅ / ❌ 成对,严肃内容用 • ▪。
72
74
  - 一帖一套,不在同一层级混用;列表项里不再加第二个 emoji。
73
75
  - 数据型列表可以用一次 📌 标最关键那一条,其余仍用 🔹。
74
76
  - 列表前写一句「xx:」引导语(如「三处变化:」),引导语本身不加 emoji。
@@ -77,8 +79,8 @@
77
79
 
78
80
  | 体裁 | 人设点缀 | 标题 emoji | 列表符号 | 情绪表情 |
79
81
  |---|---|---|---|---|
80
- | 段子(topmind-viral-posts / 转段子) | 0–2 | 不用(段子没有标题行) | 分点时一套(条目间空一行) | ≤1 |
81
- | 短文(topmind-briefs / 格式化成短文) | 0–2 | 0–1 | 一套 | 0 |
82
+ | 段子(viral-posts 段子 / 转段子) | 0 | 0 | 0(分点不加符号,靠行间空行) | 0 |
83
+ | 短文(topmind-briefs / 格式化成短文) | 0–2 | 0–1 | 一套 emoji 或纯文本符号 | 0 |
82
84
  | 严肃资讯 | 0 | 0–1(只用 ⚡ 📄 ⚠️ 📅) | • ▪ 或 🔹 | 0 |
83
85
  | 长帖资讯(【小标题】分节) | 0–1(只放结尾) | 0–1 | 一套或不用 | 0 |
84
86
 
@@ -86,32 +88,40 @@
86
88
 
87
89
  ## 七、示例(原创)
88
90
 
89
- 段子:
91
+ 短文:
90
92
 
91
93
  ```text
92
- 说个冷知识 🐱
94
+ 🆕 某编辑器 3.0 发布,三处变化 🐔
93
95
 
94
- X 的创作者收益,看的不只是浏览量。
96
+ 🔹 补全延迟降到 200ms 内(厂商口径)
97
+ 🔹 支持多文件同时修改
98
+ 🔹 免费版每月 50 次
95
99
 
96
- 付费蓝V用户的互动,权重明显更高。
100
+ #AI编程
101
+ ```
97
102
 
98
- 所以同样十万浏览,收益可能差很多。
103
+ 同一条不用 emoji 也完全成立:
104
+
105
+ ```text
106
+ 某编辑器 3.0 发布,三处变化:
99
107
 
100
- 难怪大家都在找蓝V互动😂
108
+ 1)补全延迟降到 200ms 内(厂商口径)
109
+ 2)支持多文件同时修改
110
+ 3)免费版每月 50 次
101
111
 
102
- 蓝V互关,评论区报到 🌱
112
+ #AI编程
103
113
  ```
104
114
 
105
- 短文:
115
+ (两种写法的官方链接都另发,不进正文。)
116
+
117
+ 段子(零 emoji,对照用):
106
118
 
107
119
  ```text
108
- 🆕 某编辑器 3.0 发布,三处变化 🐔
120
+ 说个冷知识:
109
121
 
110
- 🔹 补全延迟降到 200ms 内(厂商口径)
111
- 🔹 支持多文件同时修改
112
- 🔹 免费版每月 50 次
122
+ X 的创作者收益,看的不只是浏览量。
113
123
 
114
- 来源:官方更新日志 https://example.com/changelog
124
+ 付费蓝V用户的互动,权重明显更高。
115
125
 
116
- #AI编程
126
+ 蓝V互关,评论区报到
117
127
  ```