@topmindspace/topmind-writing-skills 0.8.42 → 0.8.43
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 +18 -6
- package/README.en.md +15 -7
- package/README.md +15 -7
- package/package.json +1 -1
- package/topmind-briefs/CHANGELOG.md +4 -0
- package/topmind-briefs/README.en.md +1 -1
- package/topmind-briefs/README.md +1 -1
- package/topmind-briefs/SKILL.md +5 -4
- package/topmind-briefs/examples/01-X/347/237/255/346/226/207-/347/274/226/350/276/221/345/231/250/345/217/221/345/270/203.txt +1 -1
- package/topmind-briefs/package.json +1 -1
- package/topmind-briefs/references/de-ai-rules.md +80 -0
- package/topmind-briefs/references/image-sourcing.md +39 -0
- package/topmind-briefs/references/revision-workflow.md +32 -0
- package/topmind-briefs/references/writing-principles.md +48 -3
- package/topmind-briefs/scripts/lint_x_post.py +173 -4
- package/topmind-briefs/scripts/md2x-html.py +121 -31
- package/topmind-cover/README.en.md +1 -1
- package/topmind-cover/README.md +1 -1
- package/topmind-format/README.en.md +1 -1
- package/topmind-format/README.md +1 -1
- package/topmind-format/SKILL.md +3 -2
- package/topmind-format/package.json +1 -1
- package/topmind-format/references/de-ai-rules.md +80 -0
- package/topmind-format/scripts/lint_x_post.py +173 -4
- package/topmind-format/scripts/negative_tests.py +28 -0
- package/topmind-poster/README.en.md +1 -1
- package/topmind-poster/README.md +1 -1
- package/topmind-viral-posts/README.en.md +1 -1
- package/topmind-viral-posts/README.md +1 -1
- package/topmind-viral-posts/SKILL.md +5 -5
- package/topmind-viral-posts/package.json +1 -1
- package/topmind-viral-posts/references/de-ai-rules.md +80 -0
- package/topmind-viral-posts/references/image-sourcing.md +39 -0
- package/topmind-viral-posts/references/revision-workflow.md +32 -0
- package/topmind-viral-posts/references/writing-principles.md +48 -3
- package/topmind-viral-posts/scripts/lint_x_post.py +173 -4
- package/topmind-wechat-post/README.en.md +2 -5
- package/topmind-wechat-post/README.md +4 -6
- package/topmind-wechat-post/SKILL.md +15 -15
- package/topmind-wechat-post/package.json +1 -1
- package/topmind-wechat-post/references/de-ai-rules.md +80 -0
- package/topmind-wechat-post/references/image-sourcing.md +39 -0
- package/topmind-wechat-post/references/known-pits.md +1 -1
- package/topmind-wechat-post/references/revision-workflow.md +32 -0
- package/topmind-wechat-post/references/workflow.md +2 -1
- package/topmind-wechat-post/references/writing-principles.md +48 -3
- package/topmind-wechat-post/references/writing-quality.md +21 -21
- package/topmind-wechat-post/scripts/lint-wechat.py +1 -1
- package/topmind-wechat-post/scripts/lint_x_post.py +173 -4
- package/topmind-wechat-post/scripts/negative_tests.py +21 -9
- package/topmind-wechat-post/scripts/scan_ai_flavor.py +29 -53
- package/topmind-wechat-post/scripts/scan_ai_flavor_builtin.py +114 -436
- package/topmind-x-article/README.en.md +1 -1
- package/topmind-x-article/README.md +1 -1
- package/topmind-x-article/SKILL.md +22 -5
- package/topmind-x-article/package.json +1 -1
- package/topmind-x-article/references/de-ai-rules.md +80 -0
- package/topmind-x-article/references/image-sourcing.md +39 -0
- package/topmind-x-article/references/publish-checklist.md +10 -2
- package/topmind-x-article/references/revision-workflow.md +32 -0
- package/topmind-x-article/references/writing-principles.md +48 -3
- package/topmind-x-article/references/x-html-format.md +13 -8
- package/topmind-x-article/scripts/lint_x_post.py +173 -4
- package/topmind-x-article/scripts/md2x-html.py +121 -31
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
## [0.8.43] - 2026-10-17
|
|
2
|
+
|
|
3
|
+
> 根包 0.8.42 → **0.8.43**(patch);技能版本:topmind-briefs 0.2.21 → 0.2.22、topmind-format 0.1.6 → 0.1.7、topmind-viral-posts 0.3.13 → 0.3.14、topmind-wechat-post 0.3.13 → 0.3.14、topmind-x-article 0.4.19 → 0.4.20。
|
|
4
|
+
|
|
5
|
+
### 变更(去 AI 味必过 + 原图优先 + 固定改稿流程)
|
|
6
|
+
|
|
7
|
+
- 新增共享规约 `de-ai-rules.md`:中英文结构模式规则表(Z01–Z23、E01–E12、P01–P06)与改写边界;briefs、viral-posts、x-article、wechat-post 改为必过步骤,format 只报告命中不改字。
|
|
8
|
+
- `lint_x_post.py` 新增 W15 中文结构套话、W16 英文结构套话、W17 标点腔、W18 自制图没标数据来源,新增 `--md`(Markdown 稿只查内容类警告);W9 增加公式化计数标签,`--long` 增加 W14 单段过长。正则刻意收窄,negative_tests 覆盖命中与正常写法不误报。
|
|
9
|
+
- 新增共享规约 `image-sourcing.md`(写字前先找原图,来源记进交付包里的私有清单,自制图兜底并标注)与 `revision-workflow.md`(逻辑与事实 → 删冗余 → 去 AI 味 → 排版,每轮备份、报改前 / 改后字数);各技能 SKILL.md 与 x-article 发布清单加入对应步骤;`writing-principles.md` 新增第五点六节「长文改稿」。
|
|
10
|
+
- topmind-wechat-post:去掉对仓库外技能的依赖;`scan_ai_flavor.py` 默认跑重写后的内置打分(与 lint 同一套规则),`$TOPMIND_AI_SCAN` 可接外部脚本,`--require-external` 替代 `--require-canonical`(旧名仍可用)。
|
|
11
|
+
- `md2x-html.py`:「一键复制全文」改为 copy 事件 + `execCommand` 优先,再退 `ClipboardItem` / `writeText`,都失败就全选正文并提示 Cmd/Ctrl+C;file:// 与沙箱 iframe 预览里也能复制。复制内容不再夹带 base64 图片,配图位置留 `[图N]`;「复制图片」改为在点击的同步栈里写剪贴板。
|
|
12
|
+
- 修正 CHANGELOG 0.8.39–0.8.41 缺失的版本标题。
|
|
13
|
+
|
|
1
14
|
## [0.8.42] - 2026-10-16
|
|
2
15
|
|
|
3
16
|
> 根包 0.8.41 → **0.8.42**(patch,仅安装器与文档);技能版本不变。
|
|
@@ -5,7 +18,7 @@
|
|
|
5
18
|
- 文档对齐默认升级:README 中英文加 `@latest` 升级、`--force` 重装 / 降级示例,钉版本示例注明已装更新时需 `--force`;PUBLISHING 加「升级」一行。
|
|
6
19
|
- CI 安装冒烟改测新行为:同版本 → Already up to date,旧版本 → Upgraded。
|
|
7
20
|
|
|
8
|
-
- 2026-10-16
|
|
21
|
+
## [0.8.41] - 2026-10-16
|
|
9
22
|
|
|
10
23
|
> 根包 0.8.40 → **0.8.41**(patch,仅安装器);技能版本不变。
|
|
11
24
|
|
|
@@ -14,7 +27,7 @@
|
|
|
14
27
|
- `install` 遇到已装技能时默认升级:包内版本更新(或已装版本缺失 / 解析不了)→ 直接覆盖,不备份,打印 `Upgraded <id> <旧> -> <新>`;版本相同 → `Already up to date`,exit 0,`--force` 重装;已装版本更新 → 拒绝降级,`--force` 才覆盖。
|
|
15
28
|
- 帮助文本、README 中英文同步;`test_installer_cli.js` 新增升级 / 同版本 / 已装更新 / 版本缺失用例。
|
|
16
29
|
|
|
17
|
-
- 2026-10-16
|
|
30
|
+
## [0.8.40] - 2026-10-16
|
|
18
31
|
|
|
19
32
|
> 根包 0.8.39 → **0.8.40**(patch);技能版本:topmind-briefs 0.2.20 → 0.2.21、topmind-format 0.1.5 → 0.1.6、topmind-viral-posts 0.3.12 → 0.3.13、topmind-wechat-post 0.3.12 → 0.3.13、topmind-x-article 0.4.18 → 0.4.19。
|
|
20
33
|
|
|
@@ -24,7 +37,7 @@
|
|
|
24
37
|
- 删掉所有 280 字 / 加权字数限制和「超了拆 thread / 确认账号支持长帖」的说法;briefs 的 platform-specs、style-guide、examples、SKILL.md,viral-posts 写作铁律,evals 同步。
|
|
25
38
|
- `lint_x_post.py` 的 W7 改为:超过约 1000 字才提示写成长文(X Article);format negative_tests 新增对应用例。
|
|
26
39
|
|
|
27
|
-
- 2026-10-16
|
|
40
|
+
## [0.8.39] - 2026-10-16
|
|
28
41
|
|
|
29
42
|
> 根包 0.8.38 → **0.8.39**(patch);技能版本:topmind-briefs 0.2.19 → 0.2.20、topmind-cover 0.4.10 → 0.4.11、topmind-format 0.1.4 → 0.1.5、topmind-poster 0.1.5 → 0.1.6、topmind-viral-posts 0.3.11 → 0.3.12、topmind-wechat-post 0.3.11 → 0.3.12、topmind-x-article 0.4.17 → 0.4.18。
|
|
30
43
|
|
|
@@ -314,9 +327,8 @@
|
|
|
314
327
|
|
|
315
328
|
> - 特性支持:**公众号技能收为唯一真源**。topmind-skills 里的 `topmind-wechat` 并入 `topmind-wechat-post`(topmind-skills 4.15.2 起删除旧技能):
|
|
316
329
|
> - 新增 `scripts/audit-provenance.py`:改稿保真双向逐段溯源(本稿→源稿 / 源稿→本稿),有源稿时定稿必跑
|
|
317
|
-
> - `scripts/scan_ai_flavor.py`
|
|
318
|
-
>
|
|
319
|
-
> 找不到时回落内置 `scan_ai_flavor_builtin.py` 并在 stderr 提示缺姿态维度,`--require-canonical` 可强制要求
|
|
330
|
+
> - `scripts/scan_ai_flavor.py` 改为转发器:可转发到外部扫描脚本,不写死个人路径;
|
|
331
|
+
> 找不到时回落内置 `scan_ai_flavor_builtin.py` 并在 stderr 提示缺姿态维度(0.8.43 起改为环境变量 `$TOPMIND_AI_SCAN` 指定)
|
|
320
332
|
> - `md2wechat.py` 两版逐段比对:本仓 1801 行版本已包含旧版全部能力,并多出括号 URL、嵌套围栏、行内图片管线、
|
|
321
333
|
> 原子写、坏输入干净报错等处理,保留本仓版本;旧版独有的左衬条样式、自我介绍签名行、minimal-ink 默认主题
|
|
322
334
|
> 是 2026-10-01/02 按用户要求去掉的,不恢复
|
package/README.en.md
CHANGED
|
@@ -68,7 +68,7 @@ Single source in `shared/references/`, distributed to each skill's `references/`
|
|
|
68
68
|
| `emoji-system.md` | The TopMind emoji system (short posts only, optional): 0–2 persona motifs (🐔 🐱 🌱) at start/end; 0–1 keyword-matched title emoji; one bullet set per post |
|
|
69
69
|
| `x-layout-patterns.md` | Layout patterns in our own words |
|
|
70
70
|
|
|
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).
|
|
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; W14 long-form paragraph too long, W15 / W16 Chinese / English structural patterns, W17 punctuation tics, W18 self-made image without data source; W13 any emoji in a duanzi post with `--duanzi`; `--long` skips E10–E12 for long-form; `--md` runs the content warnings on Markdown drafts). De-AI rule table: `de-ai-rules.md`; hook checklist: section 5.5 of `writing-principles.md`.
|
|
72
72
|
|
|
73
73
|
### topmind-cover · Cover art generation
|
|
74
74
|
|
|
@@ -99,6 +99,14 @@ npx @topmindspace/topmind-writing-skills install topmind-poster
|
|
|
99
99
|
> Also do not install the old package's `^2` (2.0.0–2.1.1 deprecated).
|
|
100
100
|
|
|
101
101
|
|
|
102
|
+
## Shared writing workflow (since 0.8.43)
|
|
103
|
+
|
|
104
|
+
briefs, viral-posts, x-article and wechat-post share three references (`shared/references/`, copied into each skill):
|
|
105
|
+
|
|
106
|
+
- **Originals first** (`image-sourcing.md`): find official / original-post / third-party images before writing and log sources in a private list inside the delivery package; self-made charts are a fallback and must be labeled 自制 with the data source.
|
|
107
|
+
- **De-AI pass is mandatory** (`de-ai-rules.md`): Chinese and English structural-pattern table plus rewrite boundaries (change wording, never facts or certainty). `lint_x_post.py` checks the scriptable part: W9 stock phrases, W15 Chinese structural patterns, W16 English structural patterns, W17 punctuation tics, W18 unlabeled self-made images; use `--md` for WeChat drafts. topmind-format reports hits without rewriting.
|
|
108
|
+
- **Fixed revision order** (`revision-workflow.md`): logic & facts → cut redundancy → de-AI → layout; back up first and report before/after word counts every round.
|
|
109
|
+
|
|
102
110
|
## Original examples
|
|
103
111
|
|
|
104
112
|
Every skill ships sample outputs written by us (fictional or neutral topics; no third-party text or images):
|
|
@@ -120,15 +128,15 @@ Every skill ships sample outputs written by us (fictional or neutral topics; no
|
|
|
120
128
|
|
|
121
129
|
| Skill | Version | What it does |
|
|
122
130
|
|-------|---------|--------------|
|
|
123
|
-
| [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.
|
|
124
|
-
| [`topmind-x-article`](./topmind-x-article/) | **0.4.
|
|
131
|
+
| [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.14** | WeChat article lifecycle: package, review, 3 quality gates, inline typography & publish checklist |
|
|
132
|
+
| [`topmind-x-article`](./topmind-x-article/) | **0.4.20** | X long-form one-click publish: Markdown → one-click-copy HTML (images/prompt copy, click-to-zoom images) / plain-text fallback + cover + checklist |
|
|
125
133
|
| [`topmind-cover`](./topmind-cover/) | **0.4.11** | Cover art for X / WeChat (X master 1500×600 / 5:2): striking, theme-focused; 22-style cover style library + 16:9 X short-post cover scene + 24 title treatments + 7-layer scene recipe + 55 example images (22 styles × 2 sizes + 11 variant samples) + 1 style overview |
|
|
126
|
-
| [`topmind-briefs`](./topmind-briefs/) | **0.2.
|
|
127
|
-
| [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.
|
|
128
|
-
| [`topmind-format`](./topmind-format/) | **0.1.
|
|
134
|
+
| [`topmind-briefs`](./topmind-briefs/) | **0.2.22** | 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 |
|
|
135
|
+
| [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.14** | 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 |
|
|
136
|
+
| [`topmind-format`](./topmind-format/) | **0.1.7** | 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 |
|
|
129
137
|
| [`topmind-poster`](./topmind-poster/) | **0.1.6** | HTML+CSS → high-res long image / poster / infographic PNG: headless Chrome 2× screenshot + auto-trim; "one image per section" batch workflow (generator + renderer) |
|
|
130
138
|
|
|
131
|
-
Installer [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) is **0.8.
|
|
139
|
+
Installer [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) is **0.8.43** (whole-repo same-tag releases).
|
|
132
140
|
|
|
133
141
|
### Which skill, and how they combine
|
|
134
142
|
|
package/README.md
CHANGED
|
@@ -68,7 +68,7 @@ npx @topmindspace/topmind-writing-skills install topmind-format
|
|
|
68
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 残留;E10–E12 正文有 URL / 来源行 / 配图说明;W9 AI 套话、W10 首行太长不像钩子、W12 混入说明 /
|
|
71
|
+
检查:`lint_x_post.py`(E1–E9 Markdown 残留;E10–E12 正文有 URL / 来源行 / 配图说明;W9 AI 套话、W10 首行太长不像钩子、W12 混入说明 / 内部标签;W14 长文单段过长、W15 / W16 中英文结构套话、W17 标点腔、W18 自制图没标数据来源;`--duanzi` 时 W13 段子里出现 emoji;`--long` 长文不查 E10–E12;`--md` 查 Markdown 稿的内容类警告)。去 AI 味规则表在 `de-ai-rules.md`,吸引力清单在 `writing-principles.md` 第五点五节。
|
|
72
72
|
|
|
73
73
|
### topmind-cover · 封面配图生成
|
|
74
74
|
|
|
@@ -99,6 +99,14 @@ npx @topmindspace/topmind-writing-skills install topmind-poster
|
|
|
99
99
|
> 也不要安装旧包的 `^2`(2.0.0–2.1.1 已弃用)。
|
|
100
100
|
|
|
101
101
|
|
|
102
|
+
## 共用写作流程(0.8.43 起)
|
|
103
|
+
|
|
104
|
+
briefs、viral-posts、x-article、wechat-post 共用三份规约(`shared/references/`,各技能自带副本):
|
|
105
|
+
|
|
106
|
+
- **原图优先**(`image-sourcing.md`):写字之前先找官方 / 原帖 / 第三方原图,来源记进交付包里的私有信源清单;自制图只作兜底,标「自制」和数据来源。
|
|
107
|
+
- **去 AI 味必过**(`de-ai-rules.md`):中英文结构模式规则表 + 改写边界(只改表达,不改事实和确定性)。`lint_x_post.py` 自动查能脚本化的部分:W9 套话词、W15 中文结构套话、W16 英文结构套话、W17 标点腔、W18 自制图标注;公众号稿用 `--md`。topmind-format 只报告命中、不改字。
|
|
108
|
+
- **固定改稿流程**(`revision-workflow.md`):逻辑与事实 → 删冗余 → 去 AI 味 → 排版;每轮先备份,报改前 / 改后字数。
|
|
109
|
+
|
|
102
110
|
## 原创示例
|
|
103
111
|
|
|
104
112
|
每个技能都附了我们自己写的示例输出(虚构或中性题材,不收录任何第三方原文、原图):
|
|
@@ -120,15 +128,15 @@ npx @topmindspace/topmind-writing-skills install topmind-poster
|
|
|
120
128
|
|
|
121
129
|
| 技能 | 版本 | 做什么 |
|
|
122
130
|
|------|------|--------|
|
|
123
|
-
| [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.
|
|
124
|
-
| [`topmind-x-article`](./topmind-x-article/) | **0.4.
|
|
131
|
+
| [`topmind-wechat-post`](./topmind-wechat-post/) | **0.3.14** | 公众号文章全生命周期:交付包、审校改写、质量三关、微信内联排版与发布清单 |
|
|
132
|
+
| [`topmind-x-article`](./topmind-x-article/) | **0.4.20** | X 长文一键发布:Markdown 原稿 → 一键复制 HTML(含配图/提示词复制、图片点击放大)/ 纯文本兜底 + 封面图 + 发布清单 |
|
|
125
133
|
| [`topmind-cover`](./topmind-cover/) | **0.4.11** | 文章封面配图(X / 公众号共用,X 主尺寸 1500×600 / 5:2):震撼醒目主题突出;22 种封面风格库 + X 短文 16:9 封面场景 + 24 种标题花式 + 七层场景配方 + 55 张示例图(22 种风格 × 2 尺寸 + 11 张变体样张) + 1 张风格总览图 |
|
|
126
|
-
| [`topmind-briefs`](./topmind-briefs/) | **0.2.
|
|
127
|
-
| [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.
|
|
128
|
-
| [`topmind-format`](./topmind-format/) | **0.1.
|
|
134
|
+
| [`topmind-briefs`](./topmind-briefs/) | **0.2.22** | 干货短文(公众号 + X 双平台):一件事讲透,数据榜单/论文解读/新品速递;信源 → 原图 → 内容 → 排版;X 版交付一段可复制纯文本(默认不出 HTML,emoji 可选,去 AI 味),链接 / 原图 / 配图另发,无原图先询问配图 |
|
|
135
|
+
| [`topmind-viral-posts`](./topmind-viral-posts/) | **0.3.14** | X 引流段子/爆款短篇:18 大类型模板 + 组合玩法,段子体(行间空行,零 emoji,分点不加符号)、每条一段可复制纯文本、话题标签在末行,链接 / 原图另发、分类标签另列;无原图先询问再走 topmind-cover |
|
|
136
|
+
| [`topmind-format`](./topmind-format/) | **0.1.7** | X 纯文本格式化:转段子(行间空行,零 emoji)/ 格式化成短文(分段 + 合理列表,emoji 可选),只动排版不改字,带原文保真校验;交付一段可复制纯文本,链接 / 原图另发 |
|
|
129
137
|
| [`topmind-poster`](./topmind-poster/) | **0.1.6** | HTML+CSS → 高清长图 / 海报 / 信息图 PNG:无头 Chrome 2× 截图 + 自动裁白;「一段一图」分段图批量出图(生成器 + 渲染器) |
|
|
130
138
|
|
|
131
|
-
安装器 [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) 为 **0.8.
|
|
139
|
+
安装器 [`@topmindspace/topmind-writing-skills`](https://www.npmjs.com/package/@topmindspace/topmind-writing-skills) 为 **0.8.43**(整仓同 tag 发版)。
|
|
132
140
|
|
|
133
141
|
### 怎么选、怎么组合
|
|
134
142
|
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@ A brief is not a long-form article — **no HTML by default**: the workflow is v
|
|
|
7
7
|
The X version is one copy-ready plain-text block (emoji optional); **links (including sources), original images and any generated images are sent separately**, never mixed into the body.
|
|
8
8
|
The WeChat version is ~300–800 Chinese characters of Markdown. With no original image it asks before generating one.
|
|
9
9
|
|
|
10
|
-
- Version: **v0.2.
|
|
10
|
+
- Version: **v0.2.22** (ships with `@topmindspace/topmind-writing-skills@0.8.43`)
|
|
11
11
|
|
|
12
12
|
## Install
|
|
13
13
|
|
package/topmind-briefs/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
X 版交付一段可直接复制的纯文本(emoji 可选),**链接(含来源)、原图、配图另发**,不和正文混在一起;公众号版约 300–800 字 Markdown。
|
|
8
8
|
没有原图时先问要不要配图(`topmind-cover`);链接那一条写明来源名称、发布时间与 URL。
|
|
9
9
|
|
|
10
|
-
- 版本:**v0.2.
|
|
10
|
+
- 版本:**v0.2.22**(随 `@topmindspace/topmind-writing-skills@0.8.43` 发布)
|
|
11
11
|
|
|
12
12
|
## 安装
|
|
13
13
|
|
package/topmind-briefs/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: topmind-briefs
|
|
|
3
3
|
description: "干货短文:一件事讲透,X + 公众号双平台。短文不是长文——默认不出 HTML:工作流按「核实一手信源 → 找原帖原图 → 写内容 → 排版」;X 版交付一段可直接复制的纯文本(首行钩子、合理分段与列表、去 AI 味、emoji 可选且只用 TopMind 体系、末行 0–2 个话题标签),链接(含来源)、原图(1–2 张)、配图另发,绝不混进正文;公众号版是 300–800 字 Markdown;没有原图时主动询问是否配图,不擅自生图。尊重原始信息、原图、原文。只交付不代发。Use when 写短文、公众号短文、X 短文、发快讯、简讯、速报、数据榜单、榜单速报、论文解读、新品速递、来篇短的、短平快、brief;信息密度型(数据、榜单、发布)走本技能。Do NOT use for 把现成文字格式化、转段子、排版(→ topmind-format)、X 长文与发 X 文章(→ topmind-x-article)、公众号长文与公众号排版 HTML(→ topmind-wechat-post)、引流互动型短帖、段子、涨粉帖、互关帖、爆款短篇(→ topmind-viral-posts)、单独出长图/海报/信息图 PNG(→ topmind-poster)、封面与头图(→ topmind-cover)、把稿子发出去(→ topmind-x,须用户确认)。"
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
|
-
version: "0.2.
|
|
6
|
+
version: "0.2.22"
|
|
7
7
|
action_category: "write"
|
|
8
8
|
triggers: "写短文, 公众号短文, X 短文, 发快讯, 快讯, 简讯, 速报, 干货短文, 论文解读, 数据榜单, 榜单速报, 新品速递, brief, 来篇短的, 短平快, 发个快讯"
|
|
9
9
|
author: "TopMindSpace"
|
|
@@ -49,11 +49,11 @@ metadata:
|
|
|
49
49
|
顺序固定:**信源 → 原帖原图 → 内容 → 排版**,前一步没做完不进下一步(见交付规约第一节)。
|
|
50
50
|
|
|
51
51
|
1. **核实信源**:一篇只讲一件事(一个数据、一个榜单变化、一篇论文的核心结论、一个新品的关键参数)。先找一手来源(官方公告、更新日志、论文、仓库、当事人原帖);厂商数字标「官方称 / 厂商口径」,传言标「据传 / 未证实」。记下每条的**来源名称、发布时间(时区)、URL**——这些另发给用户,不进正文。
|
|
52
|
-
2.
|
|
52
|
+
2. **找原帖、原图**(写字之前,按 [references/image-sourcing.md](references/image-sourcing.md)):原帖链接、官方图 / 截图 1–2 张,来源记进交付说明;自制图只作兜底,标「自制」和数据来源。
|
|
53
53
|
3. **写内容**:
|
|
54
54
|
- 首行是钩子:「是什么 + 最扎眼的事实」,约 30 字内,只看首行也拿到信息;
|
|
55
55
|
- 具体数字和场景,说人话,最后一句给判断、建议或具体问题(不复述、不升华);
|
|
56
|
-
-
|
|
56
|
+
- **去 AI 味(必过)**:按 [references/de-ai-rules.md](references/de-ai-rules.md) 逐条过(先守改写边界:只改表达,不改事实和确定性),再对照 [references/writing-principles.md](references/writing-principles.md) 第五点五节「吸引力清单」;
|
|
57
57
|
- 出处在正文里只用文字点到(「官方称」「据论文」),不贴 URL、不写来源行。
|
|
58
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
59
|
- 一段 1–3 行,段间空一行;3–7 条并列信息才用列表,前一行写「xx:」引导语,2 条就写成两句;
|
|
@@ -65,8 +65,9 @@ metadata:
|
|
|
65
65
|
5. **配图**:原图优先,交付 1–2 张(官方图、原帖配图 / 原帖截图、基准图、榜单实拍),每张写一句图注说明它证明什么;给可直接打开的图片地址,能下载就下载到交付目录。**没有可用原图时,必须主动问用户「要不要配图?可以用 topmind-cover 出一张 16:9 封面」**,用户说要再调用 `topmind-cover` 的「X 短文封面」(16:9,1200×675);不擅自生图。
|
|
66
66
|
6. **自检**:
|
|
67
67
|
- 每个数字都能在另发的链接里找到出处;图和文字说的是同一件事;推测已标注;
|
|
68
|
-
- `python3 scripts/lint_x_post.py X短文.txt`:错误清零(Markdown 残留,以及 E10 正文有 URL、E11 有来源行、E12 有配图说明),W9(AI 套话)/ W10(首行太长)/ W8
|
|
68
|
+
- `python3 scripts/lint_x_post.py X短文.txt`:错误清零(Markdown 残留,以及 E10 正文有 URL、E11 有来源行、E12 有配图说明),W9(AI 套话)/ W15–W16(中英文结构套话)/ W17(标点腔)/ W10(首行太长)/ W8(表情过多)逐条处理;公众号版跑 `lint_x_post.py 公众号短文.md --md`;
|
|
69
69
|
- 需要统一排版时可跑 `python3 scripts/format_text.py X短文.txt --mode short --out X短文.txt`(只动排版不改字;正文里的链接、来源行会被拿出来另列)。
|
|
70
|
+
- 用户要求改稿时,按 [references/revision-workflow.md](references/revision-workflow.md):备份 → 逻辑与事实 → 删冗余 → 去 AI 味 → 排版,报改前 / 改后字数。
|
|
70
71
|
7. **交付**(只交付,不发布):见下节「交付格式」;落盘时 `X短文.txt` 只放正文,链接 / 图片 / 说明写进 `交付说明.md`。
|
|
71
72
|
|
|
72
73
|
## 交付格式
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# de-ai-rules.md · 去 AI 味规则表(必过步骤)
|
|
2
|
+
|
|
3
|
+
> 适用:topmind-briefs / topmind-viral-posts / topmind-x-article / topmind-wechat-post 成稿前**必过**;topmind-format 只报告命中、不改字(用户要求改写时才改)。
|
|
4
|
+
> 规则是我们自己在改稿里反复踩出来的:AI 味多半来自**句式和结构**,换掉几个词不够。
|
|
5
|
+
> 脚本列:`W9` `W15` `W16` `W17` `W18` = `scripts/lint_x_post.py` 会自动提示;`人工` = 脚本查不准,靠通读。
|
|
6
|
+
|
|
7
|
+
## 一、改写边界(先守住,再动手)
|
|
8
|
+
|
|
9
|
+
1. **只改表达,不改事实**:数字、日期、人名、产品名、引语原文、链接一个不动。
|
|
10
|
+
2. **确定性不升不降**:原文「可能」不改成「一定」,原文「已发布」不改成「据称」。厂商数字仍标「厂商口径」,传言仍标「传言」。
|
|
11
|
+
3. **不编**:不为了「像人」去加经历、对话、情绪、第一人称或口头禅;原文没有的细节,宁可空着。
|
|
12
|
+
4. **术语不换**:专业词、产品名保持原样,不为了避免重复换同义词。
|
|
13
|
+
5. **改完回读**:每一处改动都能说出「哪条规则、为什么」;说不出的,恢复原文。
|
|
14
|
+
|
|
15
|
+
## 二、中文结构模式
|
|
16
|
+
|
|
17
|
+
| 编号 | 模式 | 典型样子 | 改法 | 脚本 |
|
|
18
|
+
|---|---|---|---|---|
|
|
19
|
+
| Z01 | 否定式对照 | 「不是 A,而是 B」「真正的 X 从来不是……」 | 直接写 B;要留余地写「现在看起来更像 B」 | W9 |
|
|
20
|
+
| Z02 | 递进套句 | 「不仅……更……」「不仅……还……」 | 拆成两句,或只留更重要的那件 | W9 |
|
|
21
|
+
| Z03 | 三连排比 | 「更快、更稳、更聪明」 | 留有数据的那一项,配上数字 | W9 |
|
|
22
|
+
| Z04 | 四字词堆叠 | 「高效便捷、安全可靠、灵活多变」 | 换成一个具体事实 | 人工 |
|
|
23
|
+
| Z05 | 公式化计数标签 | 「三个词」「一句话说清」「五个分支」「三件事」 | 「简单总结」「主要 5 个方向」「有三大特征」,或直接列出来 | W9 |
|
|
24
|
+
| Z06 | 设问自答 | 「为什么?答案很简单:……」 | 直接给结论 | W15 |
|
|
25
|
+
| Z07 | 揭晓式冒号 | 「答案是:……」「真相是:……」 | 去掉揭晓,直接说 | W15 |
|
|
26
|
+
| Z08 | 升华收尾 | 「这才是 X 的意义」「这或许就是未来」 | 停在一个判断、建议或具体问题上 | W15 / W9 |
|
|
27
|
+
| Z09 | 抽象拔高 | 「归根结底」「本质上,」「某种程度上」 | 删掉,后面那句通常能单独成立 | W15 |
|
|
28
|
+
| Z10 | 铺垫过渡 | 「话不多说」「接下来让我们」「下面来看看」 | 删掉,直接进正文 | W15 |
|
|
29
|
+
| Z11 | 「进行 + 动词」 | 「进行了深入分析」「进行优化」 | 「分析了」「优化了」 | W15 / W9 |
|
|
30
|
+
| Z12 | 对冲叠加 | 「或许可能」「可能……也许」 | 只留一个,或给出依据 | W15 |
|
|
31
|
+
| Z13 | 无出处权威 | 「专家指出」「业内人士认为」 | 写清是谁、在哪说的;找不到就删 | W15(同行有数字 / 出处 / 引号不报) |
|
|
32
|
+
| Z14 | 空洞期许 | 「未来可期」「让我们共同期待」 | 删掉,或换成一个可验证的时间点 | W15 / W9 |
|
|
33
|
+
| Z15 | 客服腔 | 「希望对你有帮助」「欢迎留言交流讨论」 | 删掉;要互动就问一个具体问题 | W15 |
|
|
34
|
+
| Z16 | 机械连接 | 「首先 / 其次 / 最后」「综上所述」 | 用列表或序号承载顺序 | W9 |
|
|
35
|
+
| Z17 | 假强调 | 「值得注意的是」「划重点」 | 删掉,把内容挪到段首 | W9 |
|
|
36
|
+
| Z18 | 空泛形容 | 「颠覆性」「重磅」「全方位」「无缝」 | 换成参数、价格、日期、对比 | W9 |
|
|
37
|
+
| Z19 | 过度对称 | 每段一样长、每条列表同字数、「一方面……另一方面……」 | 长短交错,按信息量写 | 人工 |
|
|
38
|
+
| Z20 | 段段小结 | 每节最后一句复述本节 | 删掉复述,读者刚读过 | 人工 |
|
|
39
|
+
| Z21 | 同义轮换 | 同一个东西一会儿叫「模型」一会儿叫「系统」「方案」 | 全文一个叫法 | 人工 |
|
|
40
|
+
| Z22 | 处处平衡 | 每个观点后面都补「当然也有……」 | 只在确有反例时写,并给出反例 | 人工 |
|
|
41
|
+
| Z23 | 首段复述标题 | 开头把标题换个说法再讲一遍 | 首行给结论或最扎眼的事实 | 人工(短文 W10 查首行长度) |
|
|
42
|
+
|
|
43
|
+
## 三、英文结构模式
|
|
44
|
+
|
|
45
|
+
| 编号 | 模式 | 典型样子 | 改法 | 脚本 |
|
|
46
|
+
|---|---|---|---|---|
|
|
47
|
+
| E01 | Negation pivot | "It's not X, it's Y" / "This isn't just X" | State Y directly | W16 |
|
|
48
|
+
| E02 | Not-just-but | "not just fast, but also cheap" | Two plain claims, or the one that matters | W16 |
|
|
49
|
+
| E03 | Signpost opener | "Here's the thing", "Let's dive in", "Without further ado" | Start with the point | W16 |
|
|
50
|
+
| E04 | Wrap-up filler | "In conclusion", "At the end of the day", "The bottom line is" | End on a claim or a question | W16 |
|
|
51
|
+
| E05 | Transition stack | Sentences opening with "Moreover," "Furthermore," "Additionally," | Drop the connector; order carries the logic | W16 |
|
|
52
|
+
| E06 | Inflated vocabulary | delve, tapestry, testament to, pivotal, vibrant, seamless, game-changer | Plain verbs and concrete facts | W16 |
|
|
53
|
+
| E07 | Role inflation | "plays a pivotal role", "serves as a", "stands as a" | "is", "does", or the actual effect | W16 |
|
|
54
|
+
| E08 | Hedge stack | "It's worth noting that", "It is important to note" | Delete; say the thing | W16 |
|
|
55
|
+
| E09 | Chatbot residue | "I hope this helps", "Great question", "Feel free to reach out" | Delete | W16 |
|
|
56
|
+
| E10 | Era opener | "In today's fast-paced world" | Start with the fact | W16 |
|
|
57
|
+
| E11 | Rule of three | Three adjectives or three clauses every time | Keep the one with evidence | 人工 |
|
|
58
|
+
| E12 | Uniform rhythm | Every sentence 15–20 words, every paragraph 3 sentences | Vary length; short sentences are fine | 人工 |
|
|
59
|
+
|
|
60
|
+
## 四、标点与版面
|
|
61
|
+
|
|
62
|
+
| 编号 | 模式 | 改法 | 脚本 |
|
|
63
|
+
|---|---|---|---|
|
|
64
|
+
| P01 | 破折号堆叠(短文超过 2 处;长文每千字超过 3 处) | 多数换成逗号、句号或冒号 | W17 |
|
|
65
|
+
| P02 | 感叹号堆叠(短文超过 2 个;长文每千字超过 3 个) | 语气靠事实 | W17 |
|
|
66
|
+
| P03 | 标点连用「!!」「?!」 | 一个就够 | W17 |
|
|
67
|
+
| P04 | 大段文字(长文单段超过约 110 字) | 拆短段,或「一句概要 + 列表」 | W14 |
|
|
68
|
+
| P05 | 自制图不标注 | 图注写「自制」和数据来源,例如「自制,数据:xx 官方」 | W18(`--long` / `--md`) |
|
|
69
|
+
| P06 | 表情堆砌 | 短文按 emoji 体系;段子零 emoji | W8 / W13 |
|
|
70
|
+
|
|
71
|
+
## 五、怎么跑
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
python3 scripts/lint_x_post.py X稿.txt # 短文:W9 W15 W16 W17
|
|
75
|
+
python3 scripts/lint_x_post.py X发布稿.txt --long # 长文:再加 W14
|
|
76
|
+
python3 scripts/lint_x_post.py 公众号稿.md --md # Markdown 稿:W9 W14–W18,不查 Markdown 语法
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
- 警告不影响退出码;交付前要么改掉,要么能说明为什么保留(例如引语原文、专有名词里恰好有这个词)。
|
|
80
|
+
- 脚本刻意收窄,宁可漏报也不误报;「人工」列的模式要靠通读:朗读一遍,拗口、像念稿的地方就改。
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# image-sourcing.md · 原图优先(写稿前就找图)
|
|
2
|
+
|
|
3
|
+
> 适用:topmind-briefs / topmind-viral-posts / topmind-x-article / topmind-wechat-post。
|
|
4
|
+
> 顺序固定:**先找原图、记来源,再写字**。写完再找图,文字会把图该说的话说一遍。
|
|
5
|
+
|
|
6
|
+
## 一、找图顺序
|
|
7
|
+
|
|
8
|
+
1. **官方**:公告页、产品页、更新日志、官方帖子、发布会截图、官方文书(判决、诉状、监管文件)、论文原图。
|
|
9
|
+
2. **原帖**:当事人原帖截图(用平台官方嵌入渲染后截图,保留时间与互动数),不用转述帖。
|
|
10
|
+
3. **第三方原图**:数据平台、榜单、研究机构图表(注意许可,能链回原页)。
|
|
11
|
+
4. **自制图(兜底)**:只在前三类都找不到、而数据有出处时用。
|
|
12
|
+
|
|
13
|
+
## 二、自制图规则
|
|
14
|
+
|
|
15
|
+
- 图内或图注写明「自制」和数据来源,例如「自制,数据:xx 官方 2026-09」。
|
|
16
|
+
- 公众号稿 / X长文.md 的图片行写成 ``;`lint_x_post.py --md` / `--long` 会对没标清的自制图报 W18。
|
|
17
|
+
- 不用 AI 生成的图冒充原图或数据图;示意图标「示意」。
|
|
18
|
+
|
|
19
|
+
## 三、私有信源清单(不进公开仓库)
|
|
20
|
+
|
|
21
|
+
每篇在**发布包**(用户工作区,不在本仓库)里维护 `素材来源.md`:
|
|
22
|
+
|
|
23
|
+
| 列 | 内容 |
|
|
24
|
+
|---|---|
|
|
25
|
+
| 图号 | 与正文 `[图N]` 一致 |
|
|
26
|
+
| 文件 | `images/NN-xx.png` |
|
|
27
|
+
| 类型 | 官方 / 原帖 / 第三方 / 自制 |
|
|
28
|
+
| 来源 | URL 与读取日期;原帖写发布时间(注明时区) |
|
|
29
|
+
| 处理 | 裁剪、拼版、加框等改动 |
|
|
30
|
+
|
|
31
|
+
- 承重事实也记在同一份清单里:来源、发布时间、厂商口径 / 传言标注、未能核实的条目。
|
|
32
|
+
- 清单只给作者核对用;公开仓库、示例、模板里不写具体站点、账号或人名。
|
|
33
|
+
|
|
34
|
+
## 四、检查
|
|
35
|
+
|
|
36
|
+
- [ ] 每张图都能在 `素材来源.md` 找到一行来源
|
|
37
|
+
- [ ] 自制图都标了「自制」和数据来源
|
|
38
|
+
- [ ] 图紧跟它证明的那段文字;正文不复述图里的数字
|
|
39
|
+
- [ ] 嵌入后逐张核对图序(HTML 解码比对,或打开预览逐张看)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# revision-workflow.md · 固定改稿流程
|
|
2
|
+
|
|
3
|
+
> 适用:用户要求「改稿 / 精简 / 去 AI 味 / 按我的意见改」时,briefs、viral-posts、x-article、wechat-post 一律按这个顺序走。
|
|
4
|
+
> 每一轮都**先备份、记字数**,改完再记一次字数,交付时报「改前 → 改后」。
|
|
5
|
+
|
|
6
|
+
## 每轮开始
|
|
7
|
+
|
|
8
|
+
1. **备份**:把要改的稿子和配图复制到新的带时间戳目录(如 `backup-YYYYMMDD-HHMMSS-<稿名>/`),不覆盖旧备份。
|
|
9
|
+
2. **记改前字数**:去掉空白、图片行、标题行后的字数(下面的命令)。
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
python3 - <<'PY' 公众号稿.md
|
|
13
|
+
import re, sys
|
|
14
|
+
t = [l for l in open(sys.argv[1], encoding="utf-8").read().split("\n") if not l.startswith(("![", "#"))]
|
|
15
|
+
print(len(re.sub(r"[\s*\-#>\[\]()`]", "", "".join(t))))
|
|
16
|
+
PY
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 四步,顺序不换
|
|
20
|
+
|
|
21
|
+
| 步 | 做什么 | 完成标准 |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| ① 逻辑与事实 | 结论是否在开头;结构是否对(如「过去最短、现在汇总、未来有判断」);每条承重事实回一手来源,上一版里的数字一律重核;厂商数字标「厂商口径」,传言标「传言」,查不到的删掉或交给用户决定 | 每条事实能在私有信源清单里找到来源 |
|
|
24
|
+
| ② 删冗余 | 删复述、删铺垫、删看图即知的数字;长句拆短;能用原图说明的只留一句引导 | 改后字数通常明显少于改前 |
|
|
25
|
+
| ③ 去 AI 味 | 按 `de-ai-rules.md` 逐条过,守住改写边界(只改表达、不改事实和确定性) | `lint_x_post.py` 的 W9 / W15 / W16 / W17 清零或能说明保留理由 |
|
|
26
|
+
| ④ 排版 | 分段、列表、加粗小标题、配图位置(图紧跟它证明的文字);X 稿跑 `lint_x_post.py`,公众号稿跑对应排版检查 | E 类错误为 0,W14 清零 |
|
|
27
|
+
|
|
28
|
+
## 每轮结束
|
|
29
|
+
|
|
30
|
+
- 记改后字数,交付时写「字数:改前 N → 改后 M」。
|
|
31
|
+
- 重新生成派生稿(X长文.md / html / txt 或公众号 HTML),再跑一遍检查与图序核对。
|
|
32
|
+
- 交付说明里列出:改了哪些段、新增或删掉的事实与图、仍未核实的条目。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 发文铁律:精炼客观 + 素材优先 + 研究深度
|
|
2
2
|
|
|
3
|
-
> 适用于 topmind-briefs / topmind-x-article / topmind-wechat-post / topmind-viral-posts(段子按第五、五点五节去 AI
|
|
3
|
+
> 适用于 topmind-briefs / topmind-x-article / topmind-wechat-post / topmind-viral-posts(段子按第五、五点五节去 AI 味,长文另过五点六节,其余以该技能的写作铁律为准)。
|
|
4
4
|
> 触发技能时默认执行,无需用户每次声明。
|
|
5
5
|
|
|
6
6
|
## 一、默认写作模式:精炼客观
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
3. **图说事实**:能用素材图片传达的意思,文字就少写。图承担数据,正文只解读。
|
|
22
22
|
看图即知的事实(数字、趋势、结构)正文不再复述一遍,只写图看不出的解读和判断。
|
|
23
23
|
4. **素材排序**:官方产品截图 > 官方基准图 > 第三方榜单截图 > 权威媒体图表 > 自制图表。
|
|
24
|
-
|
|
24
|
+
自制图只用于时间线、价格对比、总结盘点(无法找到原图时),并标「自制」和数据来源。
|
|
25
|
+
写稿前先找图、记来源,流程见 `image-sourcing.md`。
|
|
25
26
|
5. **配图丰富度(主动挖掘)**:不要等"有图就用",要主动找图——论文原图/图表、
|
|
26
27
|
工具截图、评测基准原图、关键帖子截图、产品界面实拍。有信息量的段落尽量配图,
|
|
27
28
|
装饰图一律不要。目标:读者看图能跟上 70% 的论证,文字负责剩下的 30%(判断与连接)。
|
|
@@ -111,7 +112,51 @@ AI 味多数来自句式,不是单个词。下面每一类都给出改法,
|
|
|
111
112
|
1. **朗读测试**:读出来拗口、像念稿,就改成口头会说的话。
|
|
112
113
|
2. **删句测试**:删掉一句不影响信息,这句就删。
|
|
113
114
|
3. **替换测试**:把产品名换成另一个产品,句子照样成立,说明它是空话,换成只属于这件事的细节。
|
|
114
|
-
4.
|
|
115
|
+
4. **工具**:完整规则表见 `de-ai-rules.md`(中英文结构模式、改写边界)。X 稿跑 `scripts/lint_x_post.py`:W9 套话词,W15 中文结构套话,W16 英文结构套话,W17 标点腔,W10 首行太长不像钩子;公众号稿跑 `lint_x_post.py 公众号稿.md --md`,再逐段人工过「人工」类模式。
|
|
116
|
+
|
|
117
|
+
## 五点六、长文改稿:说人话、按读者写、图先于字(2026-10 起)
|
|
118
|
+
|
|
119
|
+
用户对长文的三条硬要求:**文字少、像人说的、有原图**。成稿前逐条过。
|
|
120
|
+
|
|
121
|
+
**1. 公式化标签改成平实说法**
|
|
122
|
+
|
|
123
|
+
| 不要写 | 改成 |
|
|
124
|
+
|---|---|
|
|
125
|
+
| 「xx 三个词」「用三个词概括」 | 「简单总结」,或直接把三点列出来 |
|
|
126
|
+
| 「xx 一句话」「一句话说清」 | 「简单说」「简单总结」,或删掉直接说结论 |
|
|
127
|
+
| 「xx 五个分支」「六种活法」 | 「主要 5 个方向」「主要 5 类」 |
|
|
128
|
+
| 「就三件事:A、B、C」 | 「有三大特征」「主要三点」 |
|
|
129
|
+
| 「不是 A,而是 B」「从来不是」「真正的」 | 直接说 B;要留余地就写「现在看起来」 |
|
|
130
|
+
| 「起了个大早,赶了个晚集」这类俗语收尾 | 删掉,换成一句有数字的事实 |
|
|
131
|
+
|
|
132
|
+
**2. 按读者水平写**
|
|
133
|
+
|
|
134
|
+
- 读者有基础:不解释大家都懂的概念(什么是 agent、什么是长期记忆),直接给事实和判断。
|
|
135
|
+
- **过去**:简单串起来,一两句加一张图,只留后面论证要用的事实。
|
|
136
|
+
- **现在**:简单汇总加一句分析,用列表或图,不逐个产品写一段。
|
|
137
|
+
- **未来**:写真判断,显式标「我的判断」;判断后面跟一条支撑它的事实。厂商数字标「厂商口径 / 官方称」,传闻标「据传」,查不到一手来源的直接删。
|
|
138
|
+
|
|
139
|
+
**3. 图先于字**
|
|
140
|
+
|
|
141
|
+
- 能用原图说明的,文字只留一句引导,不复述图里的数字。
|
|
142
|
+
- 原图优先级:官方公告或产品页截图 > 原始 X 帖截图(官方 embed 渲染)> 官方文书(诉状、判决、论文原图)> 第三方数据图 > 自制图。
|
|
143
|
+
- 自制图只在找不到原图、且数据有出处时用,图内写明数据来源和「图为自制」。
|
|
144
|
+
- 每张图在本地私有信源清单里记一条来源 URL 和读取日期;信源清单不进公开仓库。
|
|
145
|
+
- 多个同类官方图(如同期发布的一组产品)拼成一张带日期标注的拼版,避免连续刷屏。
|
|
146
|
+
|
|
147
|
+
**4. 不写大段文字**
|
|
148
|
+
|
|
149
|
+
- 单段不超过约 110 字(`lint_x_post.py --long` 报 W14);超过就拆短段,或改成「一句概要 + 列表」。
|
|
150
|
+
- 一节里不要连着三四段纯文字,中间插图或列表。
|
|
151
|
+
- 用分号串起来的长句(「A;B;C;D」)一律拆成列表。
|
|
152
|
+
|
|
153
|
+
**5. 改稿流程**(固定四步与每轮备份、字数对比见 `revision-workflow.md`;找图与信源清单见 `image-sourcing.md`)
|
|
154
|
+
|
|
155
|
+
1. 先审逻辑:结论是否在开头、过去 / 现在 / 未来比例是否对(过去最短,未来最有观点)。
|
|
156
|
+
2. 承重事实逐条回一手来源;上一版文本里的数字最不可信,全部重核。
|
|
157
|
+
3. 找原图、下载、记来源,再按图删字。
|
|
158
|
+
4. 去 AI 味:按 `de-ai-rules.md` 逐条过(先守改写边界),再按本文第五、五点五、五点六节通读一遍,只改表达,不增删事实。
|
|
159
|
+
5. 跑 `lint_x_post.py --long`(Markdown 稿用 `--md`),W9 / W14–W18 清零;对比改稿前后字数,长文改稿通常应明显变短。
|
|
115
160
|
|
|
116
161
|
## 六、工作区规约与交付标准
|
|
117
162
|
|