@topmindspace/topmind-writing-skills 0.8.49 → 0.8.50

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 (160) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.en.md +19 -17
  3. package/README.md +21 -19
  4. package/package.json +1 -1
  5. package/topmind-briefs/README.en.md +11 -54
  6. package/topmind-briefs/README.md +13 -74
  7. package/topmind-briefs/SKILL.md +36 -166
  8. package/topmind-briefs/package.json +1 -1
  9. package/topmind-briefs/references/core-voice.md +63 -307
  10. package/topmind-briefs/references/creative-practice.md +112 -0
  11. package/topmind-briefs/references/de-ai-rules.md +22 -22
  12. package/topmind-briefs/references/emoji-system.md +11 -118
  13. package/topmind-briefs/references/examples.md +1 -1
  14. package/topmind-briefs/references/image-sourcing.md +13 -41
  15. package/topmind-briefs/references/information-design.md +40 -115
  16. package/topmind-briefs/references/platform-specs.md +17 -85
  17. package/topmind-briefs/references/research-mode.md +11 -23
  18. package/topmind-briefs/references/revision-workflow.md +34 -37
  19. package/topmind-briefs/references/social-writing-principles.md +24 -59
  20. package/topmind-briefs/references/x-delivery-contract.md +20 -126
  21. package/topmind-briefs/references/x-layout-patterns.md +12 -71
  22. package/topmind-briefs/references/x-post-format.md +17 -90
  23. package/topmind-briefs/scripts/audit_skill.py +8 -6
  24. package/topmind-briefs/scripts/de_ai_lint.py +19 -19
  25. package/topmind-briefs/scripts/format_text.py +24 -41
  26. package/topmind-briefs/scripts/lint_x_post.py +18 -50
  27. package/topmind-cover/README.en.md +11 -53
  28. package/topmind-cover/README.md +14 -50
  29. package/topmind-cover/SKILL.md +49 -184
  30. package/topmind-cover/package.json +1 -1
  31. package/topmind-cover/references/core-voice.md +63 -307
  32. package/topmind-cover/references/cover-combos.md +5 -3
  33. package/topmind-cover/references/cover-patterns.md +3 -1
  34. package/topmind-cover/references/cover-prompts.md +10 -8
  35. package/topmind-cover/references/cover-styles.md +10 -8
  36. package/topmind-cover/references/creative-practice.md +112 -0
  37. package/topmind-cover/references/design-system.md +15 -15
  38. package/topmind-cover/references/image-sourcing.md +13 -41
  39. package/topmind-cover/references/impact-language.md +15 -91
  40. package/topmind-cover/references/information-design.md +40 -115
  41. package/topmind-cover/references/md3-foundation.md +2 -0
  42. package/topmind-cover/references/scene-builder.md +53 -179
  43. package/topmind-cover/references/social-writing-principles.md +24 -59
  44. package/topmind-cover/references/typography-system.md +2 -0
  45. package/topmind-cover/scripts/audit_skill.py +8 -6
  46. package/topmind-cover/scripts/check-title.py +5 -5
  47. package/topmind-cover/scripts/de_ai_lint.py +19 -19
  48. package/topmind-cover/scripts/negative_tests.py +12 -12
  49. package/topmind-cover/scripts/title-engine.py +11 -6
  50. package/topmind-format/README.en.md +11 -30
  51. package/topmind-format/README.md +13 -47
  52. package/topmind-format/SKILL.md +29 -115
  53. package/topmind-format/package.json +1 -1
  54. package/topmind-format/references/core-voice.md +63 -307
  55. package/topmind-format/references/creative-practice.md +112 -0
  56. package/topmind-format/references/de-ai-rules.md +22 -22
  57. package/topmind-format/references/emoji-system.md +11 -118
  58. package/topmind-format/references/information-design.md +40 -115
  59. package/topmind-format/references/social-writing-principles.md +24 -59
  60. package/topmind-format/references/x-delivery-contract.md +20 -126
  61. package/topmind-format/references/x-layout-patterns.md +12 -71
  62. package/topmind-format/references/x-post-format.md +17 -90
  63. package/topmind-format/scripts/audit_skill.py +8 -6
  64. package/topmind-format/scripts/de_ai_lint.py +19 -19
  65. package/topmind-format/scripts/format_text.py +24 -41
  66. package/topmind-format/scripts/lint_x_post.py +18 -50
  67. package/topmind-format/scripts/negative_tests.py +6 -6
  68. package/topmind-poster/README.en.md +9 -44
  69. package/topmind-poster/README.md +12 -41
  70. package/topmind-poster/SKILL.md +30 -255
  71. package/topmind-poster/package.json +1 -1
  72. package/topmind-poster/references/creative-practice.md +112 -0
  73. package/topmind-poster/references/image-sourcing.md +13 -41
  74. package/topmind-poster/references/information-design.md +40 -115
  75. package/topmind-poster/references/social-writing-principles.md +24 -59
  76. package/topmind-poster/scripts/audit_skill.py +8 -6
  77. package/topmind-revise/README.en.md +10 -63
  78. package/topmind-revise/README.md +11 -58
  79. package/topmind-revise/SKILL.md +33 -139
  80. package/topmind-revise/package.json +1 -1
  81. package/topmind-revise/references/calibration-drill.md +5 -5
  82. package/topmind-revise/references/core-voice.md +63 -307
  83. package/topmind-revise/references/creative-practice.md +112 -0
  84. package/topmind-revise/references/de-ai-rules.md +22 -22
  85. package/topmind-revise/references/fact-check.md +4 -4
  86. package/topmind-revise/references/image-sourcing.md +13 -41
  87. package/topmind-revise/references/information-design.md +40 -115
  88. package/topmind-revise/references/report-template.md +20 -71
  89. package/topmind-revise/references/research-mode.md +11 -23
  90. package/topmind-revise/references/revision-workflow.md +34 -37
  91. package/topmind-revise/references/social-writing-principles.md +24 -59
  92. package/topmind-revise/scripts/audit_skill.py +8 -6
  93. package/topmind-revise/scripts/de_ai_lint.py +19 -19
  94. package/topmind-revise/scripts/lint_x_post.py +18 -50
  95. package/topmind-viral-posts/README.en.md +11 -72
  96. package/topmind-viral-posts/README.md +13 -82
  97. package/topmind-viral-posts/SKILL.md +33 -195
  98. package/topmind-viral-posts/package.json +1 -1
  99. package/topmind-viral-posts/references/core-voice.md +63 -307
  100. package/topmind-viral-posts/references/creative-practice.md +112 -0
  101. package/topmind-viral-posts/references/de-ai-rules.md +22 -22
  102. package/topmind-viral-posts/references/emoji-system.md +11 -118
  103. package/topmind-viral-posts/references/image-sourcing.md +13 -41
  104. package/topmind-viral-posts/references/information-design.md +40 -115
  105. package/topmind-viral-posts/references/patterns.md +4 -20
  106. package/topmind-viral-posts/references/research-mode.md +11 -23
  107. package/topmind-viral-posts/references/revision-workflow.md +34 -37
  108. package/topmind-viral-posts/references/social-writing-principles.md +24 -59
  109. package/topmind-viral-posts/references/tags-and-topics.md +13 -100
  110. package/topmind-viral-posts/references/x-delivery-contract.md +20 -126
  111. package/topmind-viral-posts/references/x-layout-patterns.md +12 -71
  112. package/topmind-viral-posts/references/x-post-format.md +17 -90
  113. package/topmind-viral-posts/scripts/audit_skill.py +8 -6
  114. package/topmind-viral-posts/scripts/de_ai_lint.py +19 -19
  115. package/topmind-viral-posts/scripts/format_text.py +24 -41
  116. package/topmind-viral-posts/scripts/lint_x_post.py +18 -50
  117. package/topmind-wechat-post/README.en.md +10 -115
  118. package/topmind-wechat-post/README.md +13 -114
  119. package/topmind-wechat-post/SKILL.md +36 -257
  120. package/topmind-wechat-post/package.json +1 -1
  121. package/topmind-wechat-post/references/core-voice.md +63 -307
  122. package/topmind-wechat-post/references/creative-practice.md +112 -0
  123. package/topmind-wechat-post/references/de-ai-rules.md +22 -22
  124. package/topmind-wechat-post/references/image-sourcing.md +13 -41
  125. package/topmind-wechat-post/references/information-design.md +40 -115
  126. package/topmind-wechat-post/references/platform-operations.md +173 -0
  127. package/topmind-wechat-post/references/research-mode.md +11 -23
  128. package/topmind-wechat-post/references/revision-workflow.md +34 -37
  129. package/topmind-wechat-post/references/social-writing-principles.md +24 -59
  130. package/topmind-wechat-post/references/typography-rules.md +16 -48
  131. package/topmind-wechat-post/references/workflow.md +1 -1
  132. package/topmind-wechat-post/references/workspace.md +9 -25
  133. package/topmind-wechat-post/references/writing-quality.md +15 -97
  134. package/topmind-wechat-post/references/x-delivery-contract.md +20 -126
  135. package/topmind-wechat-post/references/x-post-format.md +17 -90
  136. package/topmind-wechat-post/scripts/article_scaffold.py +11 -26
  137. package/topmind-wechat-post/scripts/audit_skill.py +8 -6
  138. package/topmind-wechat-post/scripts/de_ai_lint.py +19 -19
  139. package/topmind-wechat-post/scripts/lint_x_post.py +18 -50
  140. package/topmind-wechat-post/scripts/negative_tests.py +2 -2
  141. package/topmind-x-article/README.en.md +10 -113
  142. package/topmind-x-article/README.md +13 -105
  143. package/topmind-x-article/SKILL.md +39 -168
  144. package/topmind-x-article/package.json +1 -1
  145. package/topmind-x-article/references/core-voice.md +63 -307
  146. package/topmind-x-article/references/creative-practice.md +112 -0
  147. package/topmind-x-article/references/de-ai-rules.md +22 -22
  148. package/topmind-x-article/references/image-sourcing.md +13 -41
  149. package/topmind-x-article/references/information-design.md +40 -115
  150. package/topmind-x-article/references/platform-operations.md +34 -0
  151. package/topmind-x-article/references/research-mode.md +11 -23
  152. package/topmind-x-article/references/revision-workflow.md +34 -37
  153. package/topmind-x-article/references/social-writing-principles.md +24 -59
  154. package/topmind-x-article/references/workspace.md +9 -25
  155. package/topmind-x-article/references/x-delivery-contract.md +20 -126
  156. package/topmind-x-article/references/x-post-format.md +17 -90
  157. package/topmind-x-article/scripts/article_scaffold.py +11 -26
  158. package/topmind-x-article/scripts/audit_skill.py +8 -6
  159. package/topmind-x-article/scripts/de_ai_lint.py +19 -19
  160. package/topmind-x-article/scripts/lint_x_post.py +18 -50
package/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
1
+ ## [0.8.50] - 2026-10-26
2
+
3
+ ### 创作方式与参考
4
+
5
+ - 重构 8 个技能入口:按任务读取参考、看实际样张、按需探索不同方向;口吻、长度、emoji、开头结尾和视觉风格改为选项。
6
+ - 新增共享 `creative-practice.md`:同素材不同短文、段子与长文结构片段、真实参考阅读和匿名比较方法;事实、隐私、授权、文件恢复与输出完整性继续核对。
7
+ - 清理共享规则与局部经验中的固定判断 / 图片配额、分数定稿门槛、全局角色动作要求;平台操作细节移到按需参考。必要归因、近似值和不确定性保留正文。
8
+
9
+ ### 行为变化
10
+
11
+ - `format_text.py` 默认保留原文表情、链接和来源,`--strip-emoji` / `--separate-links` 显式选择转换;段子支持作者指定首尾表情。
12
+ - `lint_x_post.py` 默认允许文字列表、正文链接 / 来源、段子 emoji;链接分离检查仅在 `--separate-links` 启用。格式残留与缺失输入继续检查。
13
+ - `title-engine.py --check` 默认输出建议,`--strict` 主动选择模板门禁;无效 JSON 和空图层仍失败。
14
+ - 技能结构审计不再要求固定标题与禁用清单;移除把公开来源和致谢当隐私泄漏的封面测试,独立隐私扫描保留。
15
+
16
+ ### 验证与版本
17
+
18
+ - 增加 11 项 CLI 行为回归并接入 CI;更新旧用例预期,新增 12 个创作场景。用例结构检查不等于已执行模型评测或真实盲选。
19
+ - 根包 0.8.49 → 0.8.50;8 个技能各递增 patch,同步独立安装副本与中英文说明。提交并推送 v0.8.50 标签后,由 Release 工作流分发。
20
+
1
21
  ## [0.8.49] - 2026-10-24
2
22
 
3
23
  > 根包 0.8.48 → **0.8.49**(patch);技能版本:topmind-briefs 0.2.27 → 0.2.28、topmind-cover 0.4.16 → 0.4.17、topmind-viral-posts 0.3.19 → 0.3.20、topmind-wechat-post 0.3.19 → 0.3.20。其余技能不变。
package/README.en.md CHANGED
@@ -18,19 +18,21 @@ npx @topmindspace/topmind-writing-skills install topmind-viral-posts # install
18
18
  npx @topmindspace/topmind-writing-skills list # see all
19
19
  ```
20
20
 
21
- ## How it differs from "AI, write me a post"
21
+ ## More choices, concrete references
22
22
 
23
- - **Pick the type first.** 14 ways to write a duanzi (one-line-per-sentence post) and 9 content types for briefs, each with its own opening, structure and ending.
24
- - **Glanceable.** The X body keeps facts, numbers and the highlight. Verification notes, caliber notes, links and original images are delivered separately, so the body copies straight into X.
25
- - **De-AI with scripts.** Boilerplate phrases, newsreader tone, engagement-bait endings, fake first-hand claims and punctuation tics get flagged line by line; you decide what to change.
26
- - **Long-form starts with judgments.** The skeleton requires "my judgments" up front; material backs them up instead of piling up.
27
- - **Facts stay put.** Revision changes wording, never numbers, quotes or certainty; every edit cites a rule.
23
+ - Read actual references and visible specimens, then adapt their methods to the current material.
24
+ - Explore a few distinct directions when useful; deliver one finished result for a clear one-result request.
25
+ - Treat voice, length, emoji, openings and visual style as choices. Current user intent and author samples guide them.
26
+ - Preserve necessary attribution, approximation and uncertainty in public copy. Facts, privacy, authorization and usable output remain concrete boundaries.
27
+ - Linters offer context-sensitive signals, not a style score to maximize. Writing quality still needs real author or reader evaluation.
28
+
29
+ See the [practice and specimens](./shared/references/creative-practice.md) and [audit](./docs/creative-skills-audit.md).
28
30
 
29
31
  ## What it writes
30
32
 
31
33
  | Category | Skill | What it does | Say |
32
34
  |---|---|---|---|
33
- | Duanzi | [`topmind-viral-posts`](./topmind-viral-posts/) | One sentence per line, zero emoji, 14 patterns | "来条段子", "不懂就问", "写个群聊体" |
35
+ | Duanzi | [`topmind-viral-posts`](./topmind-viral-posts/) | X humor and conversational posts; 14 optional patterns | "来条段子", "不懂就问", "写个群聊体" |
34
36
  | Briefs | [`topmind-briefs`](./topmind-briefs/) | One thing, then stop: news, previews, launches, deals, rankings, papers, hands-on | "发个快讯", "来篇短的", "写条预告" |
35
37
  | Long-form · X | [`topmind-x-article`](./topmind-x-article/) | X Article: single-source Markdown → one-click copy HTML + preview image | "写 X 长文", "出一键复制版" |
36
38
  | Long-form · WeChat | [`topmind-wechat-post`](./topmind-wechat-post/) | WeChat articles: three quality gates, inline-image layout, publish checklist | "写公众号", "公众号排版" |
@@ -76,7 +78,7 @@ Each pattern has topics, hook, structure, ending, counter-examples and original
76
78
  | Hands-on | The result (broke, fast, pricey) | Self-roast or a real question |
77
79
  | One-line take | An insider's light judgment | The judgment |
78
80
 
79
- The first-post window is measured in minutes; if you're late, change the angle. Previews and launches are separate posts. See [topmind-briefs](./topmind-briefs/SKILL.md).
81
+ These are optional directions, not fixed openings or endings. Keep preview and launch states distinct; add a fresh angle when useful. See [topmind-briefs](./topmind-briefs/SKILL.md).
80
82
 
81
83
  ## Examples
82
84
 
@@ -112,7 +114,7 @@ Nova:我们也上线了,价格动了
112
114
  单任务成本两毛钱出头...
113
115
  ```
114
116
 
115
- Links, the official chart and caliber notes ("scores are vendor-reported") go to the author separately, not into the body.
117
+ Keep necessary vendor attribution and uncertainty in the copy. Detailed sources and charts can be listed separately; useful links may stay in the body.
116
118
 
117
119
  **De-AI · before → after**
118
120
 
@@ -140,21 +142,21 @@ Removed the newsreader hype, the "not just X but Y" construction and the uplifti
140
142
 
141
143
  More: [duanzi](./topmind-viral-posts/examples/) · [briefs](./topmind-briefs/examples/) · [format](./topmind-format/examples/) · [revise](./topmind-revise/examples/) · [X article](./topmind-x-article/examples/) · [WeChat](./topmind-wechat-post/examples/) · [poster](./topmind-poster/examples/) · [cover](./topmind-cover/assets/examples/)
142
144
 
143
- ## Long-form: judgments first, material second
145
+ ## Long-form: choose a structure that fits
144
146
 
145
147
  One folder per article, created by `article_scaffold.py`:
146
148
 
147
149
  ```text
148
150
  <title>/
149
151
  ├─ <title>.md the only source
150
- ├─ 骨架.md message, reader, my judgments (required), per-section form and figures
152
+ ├─ 骨架.md message, reader, main thread and evidence (optional), per-section form and figures
151
153
  ├─ 素材来源.md where every image and number came from (not published)
152
154
  ├─ images/ cover/ raw/自制图源/
153
155
  └─ out/ X HTML, WeChat HTML, 预览.png (rebuildable)
154
156
  ```
155
157
 
156
- - **My judgments**: 3–5, each with its basis and the likely pushback. A long section with no judgment gets a "material dump" hint.
157
- - **Own diagrams**: method, architecture and comparison pieces get at least one diagram of your own view.
158
+ - **Main thread**: claims and counterexamples for opinion, scenes for stories, tasks and steps for tutorials; no fixed number of judgments.
159
+ - **Diagrams**: originals and custom diagrams are options when they improve understanding; no figure quota.
158
160
  - **Preview**: render `out/预览.png` before delivery; tables X can't paste can become images.
159
161
 
160
162
  ## Rules: principles first
@@ -165,10 +167,10 @@ All skills share layered rules (single source `shared/references/`, copied into
165
167
  |---|---|---|
166
168
  | Principles | `social-writing-principles.md` | Know the message, lead with it, new info every line, form follows content, originals first, reader's side |
167
169
  | Information design | `information-design.md` | Skeleton first, content → form (list / table / figure / paragraph), length and density |
168
- | Voice | `core-voice.md` | Ten wording principles; V01–V40 show them in titles, openings, numbers, questions, replies, duanzi |
170
+ | Voice | `core-voice.md` | Contextual V01–V40 options for titles, openings, numbers, questions, replies and humor |
169
171
  | Review | `de-ai-rules.md` + `topmind-revise` | De-AI patterns (long-form + social S01–S10), rewrite boundaries, fidelity audit |
170
172
 
171
- The persona is **an ordinary person still learning**: talks about what they saw and tried, no lectern, says so when unsure.
173
+ The voice follows the current request, author samples, audience and genre; it is not one fixed persona.
172
174
 
173
175
  ### Scripts hint, people decide
174
176
 
@@ -182,8 +184,8 @@ python3 scripts/de_ai_lint.py article.md --genre long # long-form
182
184
 
183
185
  | Level | Meaning | Required |
184
186
  |---|---|---|
185
- | E error | Markdown leftovers; URLs / source lines / image notes in the body | Must be zero |
186
- | W warning | Boilerplate, engagement-bait endings, forced analogies, English template lines, punctuation tics, over-long replies… | Each needs a decision: fix or justify |
187
+ | E format issue | Likely marker leftovers and image placeholders; URL/source enforcement only with `--separate-links` | Check actual formatting and semantic exceptions |
188
+ | W editorial signal | Patterns, length, literal lists and inline links | Use context; valid choices need no written justification |
187
189
  | H hint / I1–I9 | Context words, long first line, caliber notes in the body, newsreader template; information design (long runs, list candidates, material dumps…) | For judgment only, never in `--strict` |
188
190
 
189
191
  If you have your own post data, `post_type_report.py` shows which openings, endings and types work for you and writes a habits summary for revision; the data stays on your machine.
package/README.md CHANGED
@@ -18,19 +18,21 @@ npx @topmindspace/topmind-writing-skills install topmind-viral-posts # 装一
18
18
  npx @topmindspace/topmind-writing-skills list # 看全部
19
19
  ```
20
20
 
21
- ## 它和「让 AI 随便写一条」有什么不一样
21
+ ## 加选项,让经验帮助创作
22
22
 
23
- - **先定类型,再动笔**:段子有 14 种写法,短文有 9 种内容类型,每种的首行、结构、收尾都不一样。
24
- - **一眼快餐**:X 正文只留事实、数字和亮点;查证过程、口径说明、链接、原图都另发,正文可以直接复制。
25
- - **去 AI 味有脚本**:套话、播报腔、套路互动尾巴、编出来的亲历、标点腔,脚本逐条标出来,人来决定改不改。
26
- - **长文先有判断**:骨架里必须先写「我的判断」,素材给判断作证,不写成资料汇编。
27
- - **事实不动**:改稿只改表达,不改数字、引语和确定性;每处改动都说得出依据。
23
+ - **看过再借鉴**:实际阅读参考作品和可见样张,迁移角度、组织、节奏与设计关系。
24
+ - **按需探索**:方向未定时试几种真的不同的写法;明确要一稿就交完成稿,不固定多稿与审批回合。
25
+ - **偏好是选项**:口吻、长度、emoji、开头结尾和视觉风格跟任务与作者走,模板可以拆、混合或不用。
26
+ - **事实边界清楚**:正文保留必要归因、近似值和不确定性;隐私、授权、文件恢复与输出完整性仍明确核对。
27
+ - **工具帮助判断**:lint 提示回到语境,词面分数不作定稿门槛;真实质量通过作者或读者使用验证。
28
+
29
+ 完整方法与同素材样张见 [创作实践](./shared/references/creative-practice.md),整改范围与验证见 [审查报告](./docs/creative-skills-audit.md)。
28
30
 
29
31
  ## 能写什么
30
32
 
31
33
  | 类别 | 技能 | 用途 | 你可以这样说 |
32
34
  |---|---|---|---|
33
- | 段子 | [`topmind-viral-posts`](./topmind-viral-posts/) | 一句一行、零 emoji 的 X 短帖,14 种写法 | 「来条段子」「不懂就问」「写个群聊体」 |
35
+ | 段子 | [`topmind-viral-posts`](./topmind-viral-posts/) | X 段子与互动短帖,14 类参考写法 | 「来条段子」「不懂就问」「写个群聊体」 |
34
36
  | 短文 | [`topmind-briefs`](./topmind-briefs/) | 一件事讲完就停:快讯、预告、新品、羊毛、榜单、论文、实测 | 「发个快讯」「来篇短的」「写条预告」 |
35
37
  | 长文 · X | [`topmind-x-article`](./topmind-x-article/) | X Article:单源 Markdown → 一键复制 HTML + 图文预览 | 「写 X 长文」「出一键复制版」 |
36
38
  | 长文 · 公众号 | [`topmind-wechat-post`](./topmind-wechat-post/) | 公众号长文:质量三关、图片内嵌排版、发布清单 | 「写公众号」「公众号排版」 |
@@ -39,7 +41,7 @@ npx @topmindspace/topmind-writing-skills list # 看全
39
41
  | 封面 | [`topmind-cover`](./topmind-cover/) | X 和公众号封面:22 种风格、标题逐字核对 | 「做个封面」「头图」 |
40
42
  | 长图 | [`topmind-poster`](./topmind-poster/) | HTML → 高清长图 / 海报 / 信息图,文字数字逐字正确 | 「出张长图」「做个榜单图」 |
41
43
 
42
- **短文** = X 纯文本帖,1000 字以内都行;**长文** = X Article 或公众号长文;**段子** = 一句一行、行间空一行的短帖。
44
+ **短文** = X 纯文本帖,1000 字以内都行;**长文** = X Article 或公众号长文;**段子** = 以观察、反差或幽默推进的短帖,排版按节奏选择。
43
45
 
44
46
  ## 段子:14 种写法
45
47
 
@@ -78,7 +80,7 @@ npx @topmindspace/topmind-writing-skills list # 看全
78
80
  | 实测 | 结果一句(翻车、快、贵) | 自嘲或一个真问题 |
79
81
  | 观点一句话 | 一句内行的轻判断 | 判断本身 |
80
82
 
81
- 首发窗口以分钟计,晚了就换角度;预告和正式发布分开写。细则见 [topmind-briefs](./topmind-briefs/SKILL.md)。
83
+ 以下是方向示例,不限定标点或收尾;时效已过时可补新角度,预告与发布保留状态差别。细则见 [topmind-briefs](./topmind-briefs/SKILL.md)。
82
84
 
83
85
  ## 看看效果
84
86
 
@@ -130,7 +132,7 @@ Nova:我们也上线了,价格动了
130
132
  单任务成本两毛钱出头...
131
133
  ```
132
134
 
133
- 链接、官方评测图、「分数是厂商自测」这类口径提醒,都另发给作者,不进正文。
135
+ 正文保留“分数是厂商自测”等影响理解的归因与限定;详细来源、原图可另列,有用的链接也可随文。
134
136
 
135
137
  **去 AI 味 · 改前 → 改后**
136
138
 
@@ -158,21 +160,21 @@ Nova:我们也上线了,价格动了
158
160
 
159
161
  更多示例:[段子](./topmind-viral-posts/examples/) · [短文](./topmind-briefs/examples/) · [格式化](./topmind-format/examples/) · [改稿](./topmind-revise/examples/) · [X 长文](./topmind-x-article/examples/) · [公众号](./topmind-wechat-post/examples/) · [长图](./topmind-poster/examples/) · [封面](./topmind-cover/assets/examples/)
160
162
 
161
- ## 长文:先有判断,再有素材
163
+ ## 长文:结构按内容选择
162
164
 
163
165
  一篇长文一个文件夹,`article_scaffold.py` 一条命令建好:
164
166
 
165
167
  ```text
166
168
  <文章名>/
167
169
  ├─ <文章名>.md 唯一源稿
168
- ├─ 骨架.md 主要信息、读者、我的判断(必填)、每节要点 / 形式 / 图表计划
170
+ ├─ 骨架.md 主要信息、读者、主线与依据(按需)、每节要点 / 形式 / 图表计划
169
171
  ├─ 素材来源.md 每张图、每个数字的出处(不发布)
170
172
  ├─ images/ cover/ raw/自制图源/
171
173
  └─ out/ X 长文 HTML、公众号 HTML、预览.png(随时可重建)
172
174
  ```
173
175
 
174
- - **我的判断**:3–5 条,每条写依据和读者会怎么反驳;一节很长却没有判断,脚本会提示「素材罗列」。
175
- - **自制图**:方法论、架构、对比类文章至少一张,把自己的判断画出来。
176
+ - **主线**:观点稿可列判断与反例,故事可列场景,教程可列任务与步骤,不凑固定数量。
177
+ - **配图**:原图、自制结构图和纯文字按理解价值选择,不设图片配额。
176
178
  - **图文预览**:交付前生成 `out/预览.png` 先看一遍;X 粘贴不了的表格可以自动转成图。
177
179
 
178
180
  ## 写法规则:原则优先
@@ -183,10 +185,10 @@ Nova:我们也上线了,价格动了
183
185
  |---|---|---|
184
186
  | 写作原则 | `social-writing-principles.md` | 先想清楚传达什么、结论先行、每句有新信息、形式跟内容走、原图优先、站在读者那边 |
185
187
  | 信息设计 | `information-design.md` | 先写骨架、内容 → 形式(列表 / 表格 / 图 / 段落)、篇幅和密度 |
186
- | 措辞口吻 | `core-voice.md` | 十条措辞原则,V01–V40 是它们在标题、开头、数字、问句、回复、段子里的例子 |
188
+ | 措辞口吻 | `core-voice.md` | V01–V40 是标题、开头、数字、问句、回复、段子的场景选项 |
187
189
  | 审稿 | `de-ai-rules.md` + `topmind-revise` | 去 AI 味(长文模式 + 社交短帖 S01–S10)、改写边界、保真审计 |
188
190
 
189
- 人设是**还在学习的普通人**:讲自己看到、试过的,不站讲台,不确定就直说。
191
+ 声音跟当前任务、作者样本、读者与体裁走,不把所有作者固定成同一种人设。
190
192
 
191
193
  ### 脚本只提示,人来判断
192
194
 
@@ -200,9 +202,9 @@ python3 scripts/de_ai_lint.py 文章.md --genre long # 长文
200
202
 
201
203
  | 级别 | 含义 | 要求 |
202
204
  |---|---|---|
203
- | E 错误 | Markdown 残留;正文里有 URL / 来源行 / 配图说明 | 必须清零 |
204
- | W 警告 | AI 套话、套路互动尾巴、类比腔、英文模板句、标点腔、回复过长…… | 每条给结论:改,或写明保留理由 |
205
- | H 提示 / I1–I9 | 语境词、首行偏长、口径词进了正文、播报模板;信息设计(长段、可转列表、素材罗列……) | 只供判断,不进 `--strict` |
205
+ | E 格式问题 | 误带标记、图片占位;链接分离只在 `--separate-links` 启用 | 核对实际格式;特殊代码和引用按语义处理 |
206
+ | W 编辑提示 | 句式、长度、标点、文字列表、正文链接等现象 | 按语境取用,可保留,无需逐条报告 |
207
+ | H 提示 / I1–I9 | 语境词、首行偏长、归因与限定、播报模板;信息设计(长段、可转列表、素材罗列……) | 只供判断,不进 `--strict` |
206
208
 
207
209
  作者有往期帖子数据时,`post_type_report.py` 可以统计自己哪些开头、收尾、类型表现更好,生成一份习惯摘要给改稿用;数据只留在作者本机。
208
210
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topmindspace/topmind-writing-skills",
3
- "version": "0.8.49",
3
+ "version": "0.8.50",
4
4
  "description": "TopMindSpace 写作技能合集 — 通过 npm / npx 安装技能(公众号长文、X 长文、干货短文、X 引流短帖、改稿与质检、封面图、长图海报)。只出稿与发布包,不代发。",
5
5
  "license": "MIT",
6
6
  "author": "TopMindspace",
@@ -1,72 +1,29 @@
1
- # topmind-briefs · Briefs (X + WeChat)
1
+ # topmind-briefs
2
2
 
3
3
  English | [中文](./README.md)
4
4
 
5
- **One thing, then stop.** News, previews, launches, deals, rankings, papers, hands-on results and one-line takes: nine content types, each with its own opening and ending. The X version is one block of plain text you can paste straight in, facts and highlight at a glance; links, original images and caliber notes are delivered separately. The WeChat version is 300–800 characters of Markdown. Writes in Chinese by default.
5
+ Write information-focused short posts for X and WeChat: releases, previews, tools, rankings, papers, hands-on results and opinions. Deliver copy for the requested platforms, keeping necessary attribution and uncertainty in the text. Chinese is the default language; current user instructions and author samples take priority. See [SKILL.md](./SKILL.md) for the capability, workflow and tools.
6
6
 
7
- - Version: **v0.2.28**
7
+ ## Install
8
8
 
9
9
  ```bash
10
10
  npx @topmindspace/topmind-writing-skills install topmind-briefs
11
11
  ```
12
12
 
13
- Say: "发个快讯", "来篇短的", "写条预告", "有个羊毛帮我发一条", "这个榜单换第一了", "公众号和 X 各一版".
13
+ ## How it works
14
14
 
15
- ## Nine content types
15
+ Read actual references and relevant [specimens](./references/creative-practice.md). Explore distinct directions when that helps the task; deliver one complete result when the request is clear. Voice, length, emoji, structure and visual styles are choices rather than universal gates. Facts, attribution, privacy, authorization and usable output still matter.
16
16
 
17
- | Type | For | Opening | Ending |
18
- |---|---|---|---|
19
- | News (first) | Just announced | What + the sharpest number, vs a rival readers know | "..." or none |
20
- | News (late) | Window has passed | New angle: hands-on, math, verification | "..." |
21
- | Preview / rumor | Teasers, gray rollouts, docs | "Coming?!", verbs match the caliber | "?!" |
22
- | Launch / tool | Something useful and new | Genuine question or a sincere pick | "..." |
23
- | Deal | Limited-time, free | What you can grab now | none |
24
- | Ranking / data | Rank changes, benchmarks | Who's first, by how much | none |
25
- | Paper | New method or result | One-line conclusion | none |
26
- | Hands-on | You ran it | The result (broke, fast, pricey) | Self-roast or a real question |
27
- | One-line take | Persona-building know-how | An insider's light judgment | The judgment |
17
+ ## Tools
28
18
 
29
- ## Example (original, fictional)
30
-
31
- ```text
32
- 某模型低调上线新版:编程评测 31 → 42,价格不变
33
-
34
- 网页、App、接口已全量切换,权重开源。
35
-
36
- 几项关键提升:
37
-
38
- 1)编程评测:31 → 42
39
- 2)推理评测:37 → 43
40
- 3)智能体评测:74 → 77,比某知名闭源模型高 3 分
41
-
42
- 单任务成本两毛钱出头...
43
- ```
44
-
45
- Delivered separately: the source line, `[图1]` the official chart, and the caliber note "scores are vendor-reported". More in [references/examples.md](./references/examples.md) and [`examples/`](./examples/).
46
-
47
- ## Key practices
48
-
49
- - **Glanceable**: the X body keeps facts, key numbers and the highlight; verification notes go into the caliber note.
50
- - **Match the caliber**: a preview is not a launch; a gray rollout is not an announcement.
51
- - **Timing**: the first-post window is minutes; if late, change the angle.
52
- - **One event, several posts**: performance in one, price in another.
53
- - **Images** only when the image is the information; no original → ask first.
54
- - **Hashtags**: none by default, at most 2.
55
-
56
- ## Delivery and checks
57
-
58
- Order: body (plain text) → links (source|time|URL) → images (1–2 originals) → caliber note → (optional) WeChat Markdown.
19
+ Run from this skill directory, using actual input paths:
59
20
 
60
21
  ```bash
61
- python3 scripts/lint_x_post.py X短文.txt --kind news
62
- python3 scripts/check_article.py <brief-folder>/
63
- python3 scripts/format_text.py X短文.txt --mode short --out X短文.txt
22
+ python3 scripts/lint_x_post.py X短文.txt
64
23
  ```
65
24
 
66
- HTML only on request: `md2x-html.py` (X one-click copy), `md2wechat.py --embed-images --no-toc --preview` (WeChat layout + preview image).
67
-
68
- ## When not to use
25
+ Style diagnostics are contextual suggestions, not a quality score. Platform conversion and directory requirements apply when using the corresponding tools. Check actual previews and disclose unverified steps.
69
26
 
70
- Duanzi → `topmind-viral-posts`; layout only → `topmind-format`; long-form → `topmind-x-article` / `topmind-wechat-post`; long images → `topmind-poster`; covers → `topmind-cover`; posting → `topmind-x` (with your confirmation).
27
+ Formatting preserves links and emoji by default. In skills that include `format_text.py`, `--separate-links` and `--strip-emoji` are explicit optional conversions. X lint only enforces link separation when `--separate-links` is requested.
71
28
 
72
- All samples are self-written; no third-party text is included.
29
+ Deliver the requested text or artifacts; these skills do not publish externally. MIT License. See the [collection](https://github.com/topmindspace/topmind-writing-skills) for installation options and maintenance.
@@ -1,94 +1,33 @@
1
- # topmind-briefs · 短文(X + 公众号)
1
+ # topmind-briefs · 干货短文
2
2
 
3
3
  [English](./README.en.md) | 中文
4
4
 
5
- **一件事,讲完就停。** 快讯、预告、新品、羊毛、榜单、论文、实测、观点一句话,九种内容类型各有各的首行和收尾。X 版是一段可以直接复制的纯文本,一眼就看到事实和亮点;链接、原图、口径提醒另发。公众号版 300–800 字 Markdown。
5
+ 快讯、新品、榜单、论文、实测、观点,一件事讲清楚。
6
6
 
7
- - 版本:**v0.2.28**
7
+ ## 使用
8
8
 
9
9
  ```bash
10
10
  npx @topmindspace/topmind-writing-skills install topmind-briefs
11
11
  ```
12
12
 
13
- 你可以这样说:「发个快讯」「来篇短的」「写条预告」「有个羊毛帮我发一条」「这个榜单换第一了」「讲讲这篇论文」「公众号和 X 各一版」。
13
+ 安装后直接告诉 agent 你要的结果、读者和已有材料;明确要一稿就直接给成品,探索任务再比较方向。完整能力、流程与脚本说明见 [SKILL.md](./SKILL.md)。
14
14
 
15
- ## 九种内容类型
15
+ ## 方法与样张
16
16
 
17
- | 类型 | 适用 | 首行怎么写 | 收尾 |
18
- |---|---|---|---|
19
- | 快讯(首发) | 官宣、上线,刚发生 | 是什么 + 最狠的一个数,比读者认识的对手 | 「...」或不收 |
20
- | 快讯(晚到) | 首发窗口已过 | 换角度:实测、算账、求证 | 「...」 |
21
- | 预告 / 传闻 | 预告、灰度、文档里出现 | 「要来了?!」,动词照口径 | 「?!」 |
22
- | 新品 / 工具 | 好用的新东西 | 真疑问或一句真心推荐 | 「...」 |
23
- | 羊毛 / 优惠 | 限时、免费 | 直说能马上拿到什么 | 不收 |
24
- | 榜单 / 数据 | 排名变化、评测 | 谁第一、领先多少 | 不收 |
25
- | 论文 | 新方法、新结论 | 一句结论 | 不收 |
26
- | 实测 | 自己跑过 | 结果一句(翻车、快、贵) | 自嘲或一个真问题 |
27
- | 观点一句话 | 立人设的干货 | 一句内行的轻判断 | 判断本身 |
17
+ [创作方法与样张](./references/creative-practice.md) 给同素材不同写法和看参考的方法。模板、口吻、篇幅、emoji 与视觉风格是选项;事实准确、授权、隐私与输出完整性继续核对。当前用户要求和作者样本优先。
28
18
 
29
- ## 示例(原创,名称和数字虚构)
19
+ ## 常用脚本
30
20
 
31
- **快讯(首发)**
32
-
33
- ```text
34
- 某模型低调上线新版:编程评测 31 → 42,价格不变
35
-
36
- 网页、App、接口已全量切换,权重开源。
37
-
38
- 几项关键提升:
39
-
40
- 1)编程评测:31 → 42
41
- 2)推理评测:37 → 43
42
- 3)智能体评测:74 → 77,比某知名闭源模型高 3 分
43
-
44
- 单任务成本两毛钱出头...
45
- ```
46
-
47
- 另发:`官方发布帖|2026-10-17 16:00(UTC+8)|链接`、`[图1] 官方评测表`、口径提醒「分数是厂商自测」。
48
-
49
- **预告**
50
-
51
- ```text
52
- 某编辑器的后台 agent 要来了?!
53
-
54
- 设置里已经能看到开关,点了没反应,官方还没说哪天上...
55
- ```
56
-
57
- **实测**
58
-
59
- ```text
60
- 让三个模型各写一个贪吃蛇,只有一个能跑起来
61
-
62
- 另外两个,一个蛇不会转弯,一个吃到食物直接退出...
63
-
64
- 难道是我提示词写得不对?
65
- ```
66
-
67
- 更多见 [references/examples.md](./references/examples.md) 和 [`examples/`](./examples/)。
68
-
69
- ## 几条关键做法
70
-
71
- - **一眼快餐**:X 正文只留事实、关键数字、亮点;「官方称」「按图估读」这类查证过程写进交付说明的口径提醒。
72
- - **口径照实**:预告不写成发布,灰度不写成官宣。
73
- - **时效**:首发窗口以分钟计;晚了就换角度,别重复别人已经发过的那句。
74
- - **一个事件多角度连发**:性能一条、价格一条,每条一个主角。
75
- - **配图**:图本身就是信息时才配(跑分、截图、价格卡、榜单);没有原图先问要不要配图。
76
- - **话题标签**:默认不带,要带最多 2 个。
77
-
78
- ## 交付和检查
79
-
80
- 交付顺序:正文(一段纯文本)→ 链接(来源名称|发布时间|URL)→ 图片(1–2 张原图)→ 口径提醒 →(可选)公众号版 Markdown。
21
+ 在本技能目录运行;示例文件名替换为实际路径:
81
22
 
82
23
  ```bash
83
- python3 scripts/lint_x_post.py X短文.txt --kind news # 快讯
84
- python3 scripts/check_article.py <短文文件夹>/ # 短文文件夹体检
85
- python3 scripts/format_text.py X短文.txt --mode short --out X短文.txt # 只动排版不改字
24
+ python3 scripts/lint_x_post.py X短文.txt
86
25
  ```
87
26
 
88
- 用户明确要 HTML 时才出:`md2x-html.py`(X 一键复制)、`md2wechat.py --embed-images --no-toc --preview`(公众号排版 + 预览图)。
27
+ 风格提示按上下文判断,不要求警告清零或达到词面分数;平台与目录协议在采用相关导出工具时核对。生成预览需当前环境具备相应浏览器与依赖,未验证时如实说明。
89
28
 
90
- ## 何时不用
29
+ ## 交付
91
30
 
92
- 段子 → `topmind-viral-posts`;现成文字只排版 → `topmind-format`;X 长文 → `topmind-x-article`;公众号长文 → `topmind-wechat-post`;长图 → `topmind-poster`;封面 → `topmind-cover`;发帖 → `topmind-x`(须你确认)。
31
+ 交当前请求所需的文本或文件,说明重要取舍和未核实项。需要图片、HTML 或完整报告时再扩展对应环节;本技能不执行对外发布。
93
32
 
94
- 示例全部自己写,不收录任何第三方原文。
33
+ MIT License。仓库维护、安装选项与版本说明见 [合集说明](https://github.com/topmindspace/topmind-writing-skills)。