@topmindspace/topmind-writing-skills 0.8.30 → 0.8.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -0
- package/README.en.md +34 -11
- package/README.md +36 -13
- package/package.json +4 -1
- package/topmind-briefs/CHANGELOG.md +11 -0
- package/topmind-briefs/README.en.md +14 -14
- package/topmind-briefs/README.md +16 -11
- package/topmind-briefs/SKILL.md +105 -77
- package/topmind-briefs/package.json +2 -2
- package/topmind-briefs/references/emoji-system.md +104 -0
- package/topmind-briefs/references/platform-specs.md +7 -6
- package/topmind-briefs/references/writing-principles.md +26 -1
- package/topmind-briefs/references/x-post-format.md +53 -3
- package/topmind-briefs/scripts/format_text.py +149 -0
- package/topmind-briefs/scripts/lint_x_post.py +29 -0
- package/topmind-cover/README.en.md +7 -2
- package/topmind-cover/README.md +7 -2
- package/topmind-cover/SKILL.md +70 -33
- package/topmind-cover/assets/examples/README.md +10 -0
- package/topmind-cover/package.json +1 -1
- package/topmind-cover/references/cover-prompts.md +211 -81
- package/topmind-cover/references/typography-system.md +40 -1
- package/topmind-cover/scripts/crop-cover.py +18 -7
- package/topmind-format/README.en.md +35 -0
- package/topmind-format/README.md +40 -0
- package/topmind-format/SKILL.md +92 -0
- package/topmind-format/package.json +13 -0
- package/topmind-format/references/emoji-system.md +104 -0
- package/topmind-format/references/x-post-format.md +142 -0
- package/topmind-format/scripts/audit_css.py +39 -0
- package/topmind-format/scripts/audit_docs.py +80 -0
- package/topmind-format/scripts/audit_skill.py +76 -0
- package/topmind-format/scripts/audit_styles.py +54 -0
- package/topmind-format/scripts/format_text.py +149 -0
- package/topmind-format/scripts/lint_x_post.py +291 -0
- package/topmind-format/scripts/negative_tests.py +139 -0
- package/topmind-format/scripts/package_skill.py +196 -0
- package/topmind-poster/README.en.md +1 -1
- package/topmind-poster/README.md +1 -1
- package/topmind-poster/SKILL.md +3 -3
- package/topmind-poster/package.json +1 -1
- package/topmind-viral-posts/README.en.md +7 -3
- package/topmind-viral-posts/README.md +12 -4
- package/topmind-viral-posts/SKILL.md +47 -18
- package/topmind-viral-posts/package.json +2 -2
- package/topmind-viral-posts/references/emoji-system.md +104 -0
- package/topmind-viral-posts/references/patterns.md +131 -2
- package/topmind-viral-posts/references/tags-and-topics.md +5 -1
- package/topmind-viral-posts/references/writing-principles.md +134 -0
- package/topmind-viral-posts/references/x-post-format.md +53 -3
- package/topmind-viral-posts/scripts/format_text.py +149 -0
- package/topmind-viral-posts/scripts/lint_x_post.py +29 -0
- package/topmind-wechat-post/README.en.md +1 -1
- package/topmind-wechat-post/README.md +1 -1
- package/topmind-wechat-post/SKILL.md +3 -3
- package/topmind-wechat-post/package.json +1 -1
- package/topmind-wechat-post/references/writing-principles.md +26 -1
- package/topmind-wechat-post/references/x-post-format.md +53 -3
- package/topmind-wechat-post/scripts/lint_x_post.py +29 -0
- package/topmind-x-article/README.en.md +1 -1
- package/topmind-x-article/README.md +1 -1
- package/topmind-x-article/SKILL.md +3 -3
- package/topmind-x-article/package.json +1 -1
- package/topmind-x-article/references/writing-principles.md +26 -1
- package/topmind-x-article/references/x-post-format.md +53 -3
- package/topmind-x-article/scripts/lint_x_post.py +29 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,54 @@
|
|
|
1
|
+
## [0.8.32] - 2026-10-14
|
|
2
|
+
|
|
3
|
+
> 根包 0.8.31 → **0.8.32**(patch);新增技能 **topmind-format 0.1.0**;技能版本:topmind-briefs 0.2.14 → 0.2.15、topmind-viral-posts 0.3.6 → 0.3.7、
|
|
4
|
+
> topmind-cover 0.4.7 → 0.4.8、topmind-x-article 0.4.12 → 0.4.13、topmind-wechat-post 0.3.6 → 0.3.7、topmind-poster 0.1.4 → 0.1.5(后四者为路由 / 共享文件同步)。
|
|
5
|
+
|
|
6
|
+
### 新增
|
|
7
|
+
|
|
8
|
+
- **topmind-format · X 纯文本格式化**:用户贴现成文字,「转段子」→ 每句一行、行与行之间空一行;「格式化成短文」→ 合理分段、Markdown 列表改 emoji、标题 emoji 对应关键词、首尾人设点缀。只动排版不改字;新增共享脚本 `format_text.py`(`--mode duanzi|short`、`--split`、`--title-emoji`、`--open`、`--close`),输出前做原文保真校验(去空白 / 列表符号 / emoji 后逐字比对),改动文字即报错。带 README 中英文、负向测试与 6 条路由评测用例,自动进入 npm `files` 与 Release 打包。
|
|
9
|
+
- **TopMind emoji 体系**:新增共享 `references/emoji-system.md`(分发到 briefs、viral-posts、format)——人设点缀(主角 🐔 🐱,配角 🐰 🐶 🦊 与 🌱 🌿 🍀 🌸 🌼)0–2 个只放首尾、严肃内容不放;标题 emoji 0–1 个、按 14 类关键词对照表取,对不上就不放;列表符号一帖一套;点缀类合计 ≤3。
|
|
10
|
+
|
|
11
|
+
### 变更
|
|
12
|
+
|
|
13
|
+
- **topmind-briefs**:短文不是长文,默认不出 HTML——X 版是一段纯文本,公众号版是 Markdown;HTML 脚本只在用户明确要求时使用。新增「尊重原始信息」铁律与交付格式,交付时写明信息来源、发布时间、来源链接与图片来源。
|
|
14
|
+
- **配图口径统一**:原图优先;没有原图时封面可选(不再默认配封面)。`x-post-format.md`、briefs、viral-posts、cover 的「X 短文封面」场景说明同步。
|
|
15
|
+
- **topmind-viral-posts**:类型从 14 扩到 18(新增冷知识揭秘、差额冲刺、反差对照、自问自答),新增「段子体排版」(一句一行、行间空行)与「组合玩法(钩子 × 主体 × 收尾)」两节、8 种常用组合;示例按用户提供的两条参考帖改写(未复制第三方截图与账号信息);表情规则接入 emoji 体系。
|
|
16
|
+
|
|
17
|
+
### 优化
|
|
18
|
+
|
|
19
|
+
- 路由与分流:briefs、viral-posts、x-article、wechat-post、poster 的 Do NOT 点名 topmind-format;根 README 中英文新增「怎么选、怎么组合」表(briefs→format、viral→format、briefs+cover、x-article vs briefs 等)。
|
|
20
|
+
- `lint_x_post.py` 的表情识别补上 🆕 等 U+1F100–1F2FF 区段。
|
|
21
|
+
- `evals/evals.json` 增至 59 条(覆盖 7 个技能);README、`docs/PUBLISHING.md` 版本号与能力描述同步。
|
|
22
|
+
|
|
23
|
+
## [0.8.31] - 2026-10-14
|
|
24
|
+
|
|
25
|
+
> 根包 0.8.30 → **0.8.31**(patch);技能版本:topmind-briefs 0.2.13 → 0.2.14、topmind-viral-posts 0.3.5 → 0.3.6、topmind-cover 0.4.6 → 0.4.7、
|
|
26
|
+
> topmind-wechat-post 0.3.5 → 0.3.6、topmind-x-article 0.4.11 → 0.4.12(后两者只同步共享文件);topmind-poster 不变。
|
|
27
|
+
|
|
28
|
+
### 特性支持
|
|
29
|
+
|
|
30
|
+
- **X 短文默认配封面**:briefs 与 viral-posts 的 X 稿默认配 1 张 16:9 封面(1200×675)作为第 1 张图,由 `topmind-cover` 新增的「X 短文封面」场景出图;一手证据图排在封面之后,合计不超过 4 张;用户说不要配图时跳过。
|
|
31
|
+
- **X 稿来源规范**:共享 `x-post-format.md` 新增「来源与核实」——一手来源优先、二手至少 2 个独立来源交叉确认,厂商数字标「(厂商口径)」、未证实消息标「(传言)」,正文后单独一行 `来源:名称 URL`(最多 3 条);新增三种版式骨架(钩子 + 列表 / 步骤 / 对比)和留白、emoji 分寸规则。
|
|
32
|
+
- `lint_x_post.py` 新增三类警告:点缀表情过多(W8)、疑似 AI 套话(W9)、有数据但缺来源(W10);只警告,不改变退出码(`--strict` 时算失败)。
|
|
33
|
+
- `topmind-cover`:
|
|
34
|
+
- 新增「场景 → 风格 → 标题花式」选型表(9 个场景,每个场景 3 种风格轮换)和封面多样性规则(相邻封面在风格 / 花式 / 背景中至少换两项)。
|
|
35
|
+
- `typography-system.md` 新增 12 种标题花式(T1 巨字压版 … T12 贴纸描边)与 10 类背景库。
|
|
36
|
+
- `cover-prompts.md` 补齐橙色暖阳、卡通素描、赛博霓虹三种风格的完整提示词(第 1 章覆盖全部 22 种风格),新增第 2 章 X 短文 16:9 封面的 6 条场景提示词与填充示例;第 4 章场景推荐补 4 行。
|
|
37
|
+
- `crop-cover.py` 新增 `--preset x-post`,输出 `00-封面-X短文.png`(1200×675);默认行为不变。
|
|
38
|
+
|
|
39
|
+
### 修复
|
|
40
|
+
|
|
41
|
+
- `cover-prompts.md` 里的变量占位符此前全部丢失(只剩 `""`、`()` 和附录空白列),提示词无法照填;现统一恢复为 `【标题】`、`【胶囊标签】` 等 `【】` 变量。
|
|
42
|
+
- `cover-prompts.md` 标题「十九种」、样张数「42 张」与实际不符,改为 22 种风格、55 张样张。
|
|
43
|
+
- `topmind-cover/SKILL.md` 风格索引只列了 19 种且浅深色分组写错,改为完整 22 种并标注色调;两份 cover README 的风格列表补上橙色暖阳、卡通素描、赛博霓虹。
|
|
44
|
+
|
|
45
|
+
### 优化
|
|
46
|
+
|
|
47
|
+
- **去 AI 味**:共享 `writing-principles.md` 新增「去 AI 味清单」(11 类常见句式及改法 + 朗读 / 删句 / 替换三项自查),并分发到 `topmind-viral-posts`;viral-posts 的写作铁律指向这份清单。
|
|
48
|
+
- briefs、viral-posts 的工作流、自检、输出模板加上来源行、封面和 lint 警告处理;briefs 增加一个带来源行的 X 版示例。
|
|
49
|
+
- `evals/evals.json` 增至 53 条(X 短文封面、带来源的 X 短文、带配图和来源的热点段子)。
|
|
50
|
+
- 根 README 中英文、各技能 README 与 `docs/PUBLISHING.md` 的版本号和能力描述同步。
|
|
51
|
+
|
|
1
52
|
## [0.8.30] - 2026-10-11
|
|
2
53
|
|
|
3
54
|
> 根包 0.8.29 → **0.8.30**(patch);技能版本:topmind-briefs 0.2.12 → 0.2.13、topmind-viral-posts 0.3.4 → 0.3.5、topmind-x-article 0.4.10 → 0.4.11、
|
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).
|
|
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.
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
41
|
npx @topmindspace/topmind-writing-skills install topmind-briefs
|
|
@@ -43,12 +43,22 @@ npx @topmindspace/topmind-writing-skills install topmind-briefs
|
|
|
43
43
|
|
|
44
44
|
### topmind-viral-posts · X viral short posts
|
|
45
45
|
|
|
46
|
-
|
|
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, optional generated image via `topmind-cover`. Every post carries **1–3 hashtags plus classification tags** (type / purpose / platform / tone). X drafts never use Markdown lists; bullets are emoji.
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
49
|
npx @topmindspace/topmind-writing-skills install topmind-viral-posts
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
+
### topmind-format · X plain-text formatter (new)
|
|
53
|
+
|
|
54
|
+
Paste existing text: **to duanzi** → one sentence per line with blank lines between; **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.
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npx @topmindspace/topmind-writing-skills install topmind-format
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
> **TopMind emoji system** (`emoji-system.md`, shared by briefs / viral-posts / format): 0–2 persona motifs at start/end only; 0–1 title emoji that must match the keyword; one bullet set per post; ≤3 decorative emoji in total.
|
|
61
|
+
|
|
52
62
|
### topmind-cover · Cover art generation
|
|
53
63
|
|
|
54
64
|
Shared cover art for X long-form and WeChat: striking, eye-catching, theme-focused. **Pick a style → check the example → compose the prompt from the recipe**, 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).
|
|
@@ -81,14 +91,26 @@ npx @topmindspace/topmind-writing-skills install topmind-poster
|
|
|
81
91
|
|
|
82
92
|
| Skill | Version | What it does |
|
|
83
93
|
|-------|---------|--------------|
|
|
84
|
-
| [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.
|
|
85
|
-
| [`topmind-x-article`](./topmind-x-article/) | **0.4.
|
|
86
|
-
| [`topmind-cover`](./topmind-cover/) | **0.4.
|
|
87
|
-
| [`topmind-briefs`](./topmind-briefs/) | **0.2.
|
|
88
|
-
| [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.
|
|
89
|
-
| [`topmind-
|
|
90
|
-
|
|
91
|
-
|
|
94
|
+
| [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.7** | WeChat article lifecycle: package, review, 3 quality gates, inline typography & publish checklist |
|
|
95
|
+
| [`topmind-x-article`](./topmind-x-article/) | **0.4.13** | X long-form one-click publish: Markdown → one-click-copy HTML (images/prompt copy, click-to-zoom images) / plain-text fallback + cover + checklist |
|
|
96
|
+
| [`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 |
|
|
97
|
+
| [`topmind-briefs`](./topmind-briefs/) | **0.2.15** | 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; original images first, cover optional; delivery lists source / publish time / link |
|
|
98
|
+
| [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.7** | X viral short posts: 18 template types + combinations, duanzi layout (blank line between lines), hashtags + classification tags, source links for factual posts; original images first, optional 16:9 image via topmind-cover |
|
|
99
|
+
| [`topmind-format`](./topmind-format/) | **0.1.0** | X plain-text formatter: to duanzi (blank lines) / to short post (paragraphing + emoji system); layout only, words unchanged, with a fidelity check |
|
|
100
|
+
| [`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) |
|
|
101
|
+
|
|
102
|
+
Installer [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) is **0.8.32** (whole-repo same-tag releases).
|
|
103
|
+
|
|
104
|
+
### Which skill, and how they combine
|
|
105
|
+
|
|
106
|
+
| Task | Skill | Typical combination |
|
|
107
|
+
|---|---|---|
|
|
108
|
+
| A data-driven brief (numbers, rankings, launches) | `topmind-briefs` | → `topmind-format` for layout; no original image → `topmind-cover` 16:9 |
|
|
109
|
+
| Engagement jokes, follower posts | `topmind-viral-posts` | → `topmind-format` to re-lay duanzi; pair with a briefs version for the same event |
|
|
110
|
+
| Existing text, layout only | `topmind-format` | words unchanged; rewriting → briefs / viral-posts |
|
|
111
|
+
| Thousands-of-words X article | `topmind-x-article` | + `topmind-cover` (5:2); shorter than a post → briefs |
|
|
112
|
+
| WeChat long-form & layout | `topmind-wechat-post` | + `topmind-cover`; 300–800-char briefs → briefs |
|
|
113
|
+
| Long images, posters, infographics | `topmind-poster` | copy written first by briefs / wechat-post |
|
|
92
114
|
|
|
93
115
|
> SKILL.md frontmatter uses only Agent Skills spec keys at the top level (`name` / `description` / `license` / `metadata`); version, `action_category`, `triggers` and other custom keys live under `metadata` as strings, so `skills-ref validate` passes. Shared scripts and `writing-principles.md` have a single source in `shared/`; skill folders keep byte-identical copies (CI checks with `node scripts/sync_shared.js --check`). The npm package ships only `overview.png` from the cover examples; the per-style samples stay on GitHub / in the Release zip.
|
|
94
116
|
|
|
@@ -118,7 +140,8 @@ Default probe order: `./.agents` → `./.claude` → `./.cursor` → `./.codex`
|
|
|
118
140
|
```
|
|
119
141
|
topmind-writing-skills/
|
|
120
142
|
├─ topmind-briefs/ # skill (SKILL.md + assets + references + scripts)
|
|
121
|
-
├─ topmind-viral-posts/ # skill (X viral short posts,
|
|
143
|
+
├─ topmind-viral-posts/ # skill (X viral short posts, duanzi layout)
|
|
144
|
+
├─ topmind-format/ # skill (X plain-text formatter: duanzi / short post)
|
|
122
145
|
├─ topmind-poster/ # skill (HTML → high-res long image / section images)
|
|
123
146
|
├─ topmind-cover/ # skill
|
|
124
147
|
├─ topmind-wechat-post/ # skill
|
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 双平台干货短文:一件事讲透(数据榜单 / 论文解读 / 新品速递 /
|
|
36
|
+
公众号 + X 双平台干货短文:一件事讲透(数据榜单 / 论文解读 / 新品速递 / 机制讲解)。短文不是长文,**默认不出 HTML**:X 版是一段可直接复制的纯文本(分段换行、克制的 emoji、来源链接、0–2 个话题标签),公众号版约 300–800 字 Markdown。尊重原始信息、原图、原文,配图原图优先、封面可选;交付时写明信息来源、发布时间与来源链接。只起草不代发。
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
39
|
npx @topmindspace/topmind-writing-skills install topmind-briefs
|
|
@@ -41,17 +41,27 @@ npx @topmindspace/topmind-writing-skills install topmind-briefs
|
|
|
41
41
|
|
|
42
42
|
### topmind-viral-posts · X 引流段子/爆款短篇
|
|
43
43
|
|
|
44
|
-
基于对 X 中文区常见高互动写法的归纳,提供
|
|
44
|
+
基于对 X 中文区常见高互动写法的归纳,提供 18 类型模板 + 钩子×主体×收尾组合玩法(示例均为自编),默认**段子体**(一句一行、行与行之间空一行)、口语化、带互动钩子,配图原图优先(官方 / 第三方 / 自己的后台截图),没有原图时可选走 topmind-cover 出图,并附**话题标签(1–3 个 hashtag)与内部分类标签**;X 稿不用 Markdown 列表,分点用 emoji 项目符号。
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
47
|
npx @topmindspace/topmind-writing-skills install topmind-viral-posts
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
>
|
|
50
|
+
> 18 类型:干货忠告 / 互关求粉 / 自嘲幽默 / 互动提问 / 打卡日常 / 新人报到 / **热点资讯**(基于真实检索,配官方原图可多图)/ 暴论 / 数据晒单 / 真诚交友 / 吐槽共鸣 / 干货技巧 / 经验忠告 / 执行清单 / **冷知识揭秘** / **差额冲刺** / **反差对照** / **自问自答**。
|
|
51
|
+
|
|
52
|
+
### topmind-format · X 纯文本格式化(新)
|
|
53
|
+
|
|
54
|
+
用户贴一段现成文字:**转段子** → 每句一行、行间空一行;**格式化成短文** → 合理分段换行、列表改 emoji、标题 emoji 对应关键词、开头结尾加鸡/猫/植物人设点缀(🐔 🐱 🌱 🌸)。只动排版不改字,`format_text.py` 自带原文保真校验。
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npx @topmindspace/topmind-writing-skills install topmind-format
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
> **TopMind emoji 体系**(`emoji-system.md`,briefs / viral-posts / format 共用):人设点缀 0–2 个只放首尾;标题 emoji 0–1 个、必须对上关键词;列表符号一帖一套;点缀类合计 ≤3。
|
|
51
61
|
|
|
52
62
|
### topmind-cover · 封面配图生成
|
|
53
63
|
|
|
54
|
-
X 长文与公众号共用的封面图:震撼、醒目、主题突出。**选风格 → 看示例 → 按配方组 prompt** 三步出图,`crop-cover.py` 一键裁出双平台尺寸(X 1500×600、公众号 900×383)。22 种风格索引与配方见 [`references/cover-styles.md`](./topmind-cover/references/cover-styles.md)。
|
|
64
|
+
X 长文与公众号共用的封面图:震撼、醒目、主题突出。**选风格 → 看示例 → 按配方组 prompt** 三步出图,`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)。
|
|
55
65
|
|
|
56
66
|
```bash
|
|
57
67
|
npx @topmindspace/topmind-writing-skills install topmind-cover
|
|
@@ -81,14 +91,26 @@ npx @topmindspace/topmind-writing-skills install topmind-poster
|
|
|
81
91
|
|
|
82
92
|
| 技能 | 版本 | 做什么 |
|
|
83
93
|
|------|------|--------|
|
|
84
|
-
| [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.
|
|
85
|
-
| [`topmind-x-article`](./topmind-x-article/) | **0.4.
|
|
86
|
-
| [`topmind-cover`](./topmind-cover/) | **0.4.
|
|
87
|
-
| [`topmind-briefs`](./topmind-briefs/) | **0.2.
|
|
88
|
-
| [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.
|
|
89
|
-
| [`topmind-
|
|
90
|
-
|
|
91
|
-
|
|
94
|
+
| [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.7** | 公众号文章全生命周期:交付包、审校改写、质量三关、微信内联排版与发布清单 |
|
|
95
|
+
| [`topmind-x-article`](./topmind-x-article/) | **0.4.13** | X 长文一键发布:Markdown 原稿 → 一键复制 HTML(含配图/提示词复制、图片点击放大)/ 纯文本兜底 + 封面图 + 发布清单 |
|
|
96
|
+
| [`topmind-cover`](./topmind-cover/) | **0.4.8** | 文章封面配图(X / 公众号共用,X 主尺寸 1500×600 / 5:2):震撼醒目主题突出;22 种封面风格库 + X 短文 16:9 封面场景 + 12 种标题花式 + 55 张示例图(22 种风格 × 2 尺寸 + 11 张变体样张) + 1 张风格总览图 |
|
|
97
|
+
| [`topmind-briefs`](./topmind-briefs/) | **0.2.15** | 干货短文(公众号 + X 双平台):一件事讲透,数据榜单/论文解读/新品速递;X 版一段纯文本(默认不出 HTML)+ emoji 列表 + 来源链接 + 话题标签建议;原图优先、封面可选;交付附信息来源 / 发布时间 / 链接 |
|
|
98
|
+
| [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.7** | X 引流段子/爆款短篇:18 大类型模板 + 组合玩法,段子体(行间空行)、事实类带来源链接、带话题标签与分类标签;配图原图优先,无原图可选走 topmind-cover 出 16:9 图 |
|
|
99
|
+
| [`topmind-format`](./topmind-format/) | **0.1.0** | X 纯文本格式化:转段子(行间空行)/ 格式化成短文(分段 + emoji 体系),只动排版不改字,带原文保真校验 |
|
|
100
|
+
| [`topmind-poster`](./topmind-poster/) | **0.1.5** | HTML+CSS → 高清长图 / 海报 / 信息图 PNG:无头 Chrome 2× 截图 + 自动裁白;「一段一图」分段图批量出图(生成器 + 渲染器) |
|
|
101
|
+
|
|
102
|
+
安装器 [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) 为 **0.8.32**(整仓同 tag 发版)。
|
|
103
|
+
|
|
104
|
+
### 怎么选、怎么组合
|
|
105
|
+
|
|
106
|
+
| 你要做的事 | 用哪个 | 常见组合 |
|
|
107
|
+
|---|---|---|
|
|
108
|
+
| 一件事的干货短文(数据、榜单、发布) | `topmind-briefs` | → `topmind-format` 统一排版;没有原图 → `topmind-cover` 出 16:9 首图 |
|
|
109
|
+
| 引流段子、涨粉帖、互关帖 | `topmind-viral-posts` | → `topmind-format` 重排段子体;同一事件可配一条 briefs 干货版 |
|
|
110
|
+
| 现成文字只要排版(转段子 / 格式化) | `topmind-format` | 只动排版不改字;要改写内容再转 briefs / viral-posts |
|
|
111
|
+
| 数千字 X 长文 | `topmind-x-article` | + `topmind-cover`(5:2 封面);短于一帖的内容走 briefs |
|
|
112
|
+
| 公众号长文与排版 | `topmind-wechat-post` | + `topmind-cover`;300–800 字短文走 briefs |
|
|
113
|
+
| 长图、海报、信息图 PNG | `topmind-poster` | 文案先由 briefs / wechat-post 写好 |
|
|
92
114
|
|
|
93
115
|
> SKILL.md frontmatter 顶层只用 Agent Skills 规范字段(`name` / `description` / `license` / `metadata`),版本、`action_category`、`triggers` 等自定义字段放在 `metadata` 下(字符串值),能通过官方校验器 `skills-ref validate`。
|
|
94
116
|
>
|
|
@@ -122,7 +144,8 @@ npx github:topmindspace/topmind-writing-skills install topmind-briefs
|
|
|
122
144
|
```
|
|
123
145
|
topmind-writing-skills/
|
|
124
146
|
├─ topmind-briefs/ # 技能(SKILL.md + assets + references + scripts)
|
|
125
|
-
├─ topmind-viral-posts/ # 技能(X
|
|
147
|
+
├─ topmind-viral-posts/ # 技能(X 引流段子/爆款短篇,段子体)
|
|
148
|
+
├─ topmind-format/ # 技能(X 纯文本格式化:转段子 / 格式化成短文)
|
|
126
149
|
├─ topmind-poster/ # 技能(HTML → 高清长图 / 分段图)
|
|
127
150
|
├─ topmind-cover/ # 技能
|
|
128
151
|
├─ topmind-wechat-post/ # 技能
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@topmindspace/topmind-writing-skills",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.32",
|
|
4
4
|
"description": "TopMindSpace 写作技能合集 — 通过 npm / npx 安装技能(公众号长文、X 长文、干货短文、X 引流短帖、封面图、长图海报)。只出稿与发布包,不代发。",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "TopMindspace",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"CHANGELOG.md",
|
|
36
36
|
"topmind-briefs",
|
|
37
37
|
"topmind-cover",
|
|
38
|
+
"topmind-format",
|
|
38
39
|
"topmind-poster",
|
|
39
40
|
"topmind-viral-posts",
|
|
40
41
|
"topmind-wechat-post",
|
|
@@ -43,12 +44,14 @@
|
|
|
43
44
|
"topmind-cover/assets/examples/overview.png",
|
|
44
45
|
"!topmind-briefs/dist/",
|
|
45
46
|
"!topmind-cover/dist/",
|
|
47
|
+
"!topmind-format/dist/",
|
|
46
48
|
"!topmind-poster/dist/",
|
|
47
49
|
"!topmind-viral-posts/dist/",
|
|
48
50
|
"!topmind-wechat-post/dist/",
|
|
49
51
|
"!topmind-x-article/dist/",
|
|
50
52
|
"!topmind-briefs/package-lock.json",
|
|
51
53
|
"!topmind-cover/package-lock.json",
|
|
54
|
+
"!topmind-format/package-lock.json",
|
|
52
55
|
"!topmind-poster/package-lock.json",
|
|
53
56
|
"!topmind-viral-posts/package-lock.json",
|
|
54
57
|
"!topmind-wechat-post/package-lock.json",
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.15 (2026-10-14)
|
|
4
|
+
|
|
5
|
+
- 变更:短文默认不出 HTML——X 版交付一段可直接复制的纯文本,公众号版交付 Markdown;`md2x-html.py` / `md2wechat.py` 仍随包自带,仅在用户明确要求时使用
|
|
6
|
+
- 特性支持:新增「尊重原始信息」铁律(原始信息 / 原文 / 原图 / 口径标注 / 不洗稿)与交付格式(X 版、公众号版、配图、信息来源:来源名称|发布时间|链接)
|
|
7
|
+
- 变更:配图原图优先,没有原图时封面可选(不再默认配封面);接入共享 `emoji-system.md` 与 `format_text.py`
|
|
8
|
+
- 优化:新增「和其他技能怎么配合」表;description 的 Do NOT 增加格式化 / 转段子 → topmind-format
|
|
9
|
+
|
|
10
|
+
## 0.2.14 (2026-10-14)
|
|
11
|
+
|
|
12
|
+
- X 版来源行规范、默认 16:9 封面、lint W8/W9/W10 警告处理(见根 CHANGELOG 0.8.31)
|
|
13
|
+
|
|
3
14
|
## 0.2.13 (2026-10-11)
|
|
4
15
|
|
|
5
16
|
- 特性支持:X 版纯文本排版——不用 Markdown 列表、标题和加粗,分点改用 emoji 项目符号;新增共享规则文档 `references/x-post-format.md` 与检查脚本 `scripts/lint_x_post.py`
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
**[中文](./README.md)** | English
|
|
4
4
|
|
|
5
|
-
One topic,
|
|
6
|
-
|
|
7
|
-
|
|
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.
|
|
8
10
|
|
|
9
|
-
- Version: **v0.2.
|
|
11
|
+
- Version: **v0.2.15** (ships with `@topmindspace/topmind-writing-skills@0.8.32`)
|
|
10
12
|
|
|
11
13
|
## Install
|
|
12
14
|
|
|
@@ -16,21 +18,19 @@ npx @topmindspace/topmind-writing-skills install topmind-briefs
|
|
|
16
18
|
|
|
17
19
|
## Usage
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
```bash
|
|
22
|
+
python3 scripts/lint_x_post.py brief-x.txt # check the X version
|
|
23
|
+
python3 scripts/format_text.py brief-x.txt --mode short --title-emoji 📊 # layout only, words unchanged
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
HTML only on explicit request (scripts ship with the skill; single source of truth is `shared/scripts/` in the repo):
|
|
20
27
|
|
|
21
28
|
```bash
|
|
22
|
-
# X version (image order derived from the WeChat draft; never hand-order --images)
|
|
23
29
|
python3 scripts/md2x-html.py brief-x.md --out brief-x.html --images-from brief-wechat.md
|
|
24
|
-
|
|
25
|
-
# WeChat version (images inlined as base64; writes <slug>-公众号版.html + 图片上传清单.md)
|
|
26
30
|
python3 scripts/md2wechat.py --input brief-wechat.md --out-dir out --slug brief --embed-images --no-toc
|
|
27
31
|
```
|
|
28
32
|
|
|
29
|
-
|
|
30
|
-
install of briefs can render HTML. They are byte-identical copies of the same-named
|
|
31
|
-
scripts in `topmind-x-article` / `topmind-wechat-post`; inside the repo,
|
|
32
|
-
`scripts/negative_tests.py` checks they stay in sync. See [SKILL.md](./SKILL.md)
|
|
33
|
-
for the full workflow.
|
|
33
|
+
See [SKILL.md](./SKILL.md) for the workflow and [references/emoji-system.md](./references/emoji-system.md) for the emoji system.
|
|
34
34
|
|
|
35
35
|
## X formatting and hashtags
|
|
36
36
|
|
|
@@ -54,6 +54,6 @@ python3 scripts/lint_x_post.py brief-x.md
|
|
|
54
54
|
|
|
55
55
|
## When NOT to use
|
|
56
56
|
|
|
57
|
-
X long-form → `topmind-x-article`; WeChat long-form → `topmind-wechat-post`;
|
|
57
|
+
Formatting existing text / converting to duanzi → `topmind-format`; X long-form → `topmind-x-article`; WeChat long-form → `topmind-wechat-post`;
|
|
58
58
|
engagement-style short posts and jokes → `topmind-viral-posts`; standalone long images/posters → `topmind-poster`;
|
|
59
59
|
covers and header images → `topmind-cover`; posting → `topmind-x` (only after the user confirms).
|
package/topmind-briefs/README.md
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
[English](./README.en.md) | 中文
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
X
|
|
5
|
+
一件事,讲完就停。干货向短文:数据榜单、论文解读、新品速递。短文不是长文——**默认不出 HTML**:
|
|
6
|
+
X 版是一段可直接复制的纯文本(分段换行 + 克制的 emoji + 来源链接),公众号版约 300–800 字 Markdown。
|
|
7
|
+
尊重原始信息、原图、原文;配图原图优先,没有原图时封面可选(`topmind-cover`);交付时写明信息来源、发布时间与来源链接。
|
|
7
8
|
|
|
8
|
-
- 版本:**v0.2.
|
|
9
|
+
- 版本:**v0.2.15**(随 `@topmindspace/topmind-writing-skills@0.8.32` 发布)
|
|
9
10
|
|
|
10
11
|
## 安装
|
|
11
12
|
|
|
@@ -15,19 +16,23 @@ npx @topmindspace/topmind-writing-skills install topmind-briefs
|
|
|
15
16
|
|
|
16
17
|
## 用法
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
```bash
|
|
20
|
+
# 检查 X 版:无 Markdown 残留、符号一致、表情不过量、有来源
|
|
21
|
+
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
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
交付格式:`【X 版】`纯文本 +(可选)`【公众号版】`Markdown + `【配图】`原图与来源 + `【信息来源】`来源名称 / 发布时间 / 链接。
|
|
27
|
+
|
|
28
|
+
用户明确要 HTML 时才用(脚本随包自带,唯一真源在仓库 `shared/scripts/`):
|
|
19
29
|
|
|
20
30
|
```bash
|
|
21
|
-
# X 版(图片顺序从公众号稿派生,禁止手工拼 --images)
|
|
22
31
|
python3 scripts/md2x-html.py X短文.md --out X短文.html --images-from 公众号短文.md
|
|
23
|
-
|
|
24
|
-
# 公众号版(图片 base64 内嵌,输出 <短名>-公众号版.html + 图片上传清单.md)
|
|
25
32
|
python3 scripts/md2wechat.py --input 公众号短文.md --out-dir 交付 --slug 短名 --embed-images --no-toc
|
|
26
33
|
```
|
|
27
34
|
|
|
28
|
-
|
|
29
|
-
唯一真源在仓库 `shared/scripts/`,与 `topmind-x-article` / `topmind-wechat-post` 是同一份逐字节副本,
|
|
30
|
-
仓库 CI 用 `node scripts/sync_shared.js --check` 校验一致。工作流细节见 [SKILL.md](./SKILL.md)。
|
|
35
|
+
工作流细节见 [SKILL.md](./SKILL.md);emoji 体系见 [references/emoji-system.md](./references/emoji-system.md)。
|
|
31
36
|
|
|
32
37
|
## X 版格式与话题标签
|
|
33
38
|
|
|
@@ -48,6 +53,6 @@ python3 scripts/lint_x_post.py X短文.md
|
|
|
48
53
|
|
|
49
54
|
## 何时不用
|
|
50
55
|
|
|
51
|
-
X 长文 → `topmind-x-article`;公众号长文 → `topmind-wechat-post`;
|
|
56
|
+
现成文字格式化 / 转段子 → `topmind-format`;X 长文 → `topmind-x-article`;公众号长文 → `topmind-wechat-post`;
|
|
52
57
|
引流互动型短帖与段子 → `topmind-viral-posts`;单独出长图/海报 → `topmind-poster`;
|
|
53
58
|
封面/头图 → `topmind-cover`;发帖 → `topmind-x`(须用户确认)。
|