@topmindspace/tms-skills 0.6.0 → 0.7.0
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 +36 -0
- package/README.en.md +5 -4
- package/README.md +13 -4
- package/package.json +2 -1
- package/topmind-briefs/CHANGELOG.md +22 -0
- package/topmind-briefs/README.en.md +40 -0
- package/topmind-briefs/README.md +37 -0
- package/topmind-briefs/SKILL.md +101 -0
- package/topmind-briefs/dist/topmind-briefs.manifest.json +21 -0
- package/topmind-briefs/dist/topmind-briefs.zip +0 -0
- package/topmind-briefs/package-lock.json +13 -0
- package/topmind-briefs/package.json +1 -0
- package/topmind-briefs/references/examples.md +127 -0
- package/topmind-briefs/references/platform-specs.md +60 -0
- package/topmind-briefs/references/style-guide.md +55 -0
- package/topmind-briefs/scripts/audit_css.py +39 -0
- package/topmind-briefs/scripts/audit_docs.py +80 -0
- package/topmind-briefs/scripts/audit_skill.py +60 -0
- package/topmind-briefs/scripts/audit_styles.py +54 -0
- package/topmind-briefs/scripts/negative_tests.py +88 -0
- package/topmind-briefs/scripts/package_skill.py +188 -0
- package/topmind-cover/README.en.md +1 -1
- package/topmind-cover/README.md +1 -1
- package/topmind-wechat-post/README.en.md +1 -1
- package/topmind-wechat-post/README.md +1 -1
- package/topmind-wechat-post/SKILL.md +74 -38
- package/topmind-wechat-post/package.json +1 -1
- package/topmind-wechat-post/references/element-spec.md +3 -2
- package/topmind-wechat-post/scripts/md2wechat.py +2 -7
- package/topmind-x-article/README.en.md +8 -6
- package/topmind-x-article/README.md +6 -5
- package/topmind-x-article/SKILL.md +56 -2
- package/topmind-x-article/package.json +1 -1
- package/topmind-x-article/references/x-html-format.md +6 -1
- package/topmind-x-article/scripts/md2x-html.py +43 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
## [0.7.0] - 2026-10-01
|
|
2
|
+
|
|
3
|
+
> 根包 0.6.0 → **0.7.0**(minor,本轮是功能轮);技能版本:topmind-x-article 0.3.0 → **0.4.0**、
|
|
4
|
+
> topmind-wechat-post 0.1.0 → **0.2.0**、topmind-briefs 0.1.0 → **0.2.0**;
|
|
5
|
+
> topmind-cover 保持 0.3.0、top-ppt-html 保持 0.2.1(无变更)。
|
|
6
|
+
> 注:0.6.0 发版时 x-article SKILL.md frontmatter 漏 bump(仍为 0.2.0),本轮一并纠正为 0.4.0。
|
|
7
|
+
|
|
8
|
+
### topmind-x-article 0.4.0(X 配图错位根治)
|
|
9
|
+
|
|
10
|
+
- `scripts/md2x-html.py` 新增 **`--images-from 公众号稿.md`**:从源 md 的 `![]()` 按文档顺序
|
|
11
|
+
自动派生图片,**禁止手工拼 `--images` 顺序**。根因:旧构建按 `images/*` 文件名排序传入,
|
|
12
|
+
而文件名数字顺序 ≠ 文档顺序(`14-kling`/`15-china-models` 建图顺序与文档相反;
|
|
13
|
+
`21-codex`/`22-harness` 后加,排在 `16-openrouter` 之后),导致九月全景 X 版从第六节起整段配图错位
|
|
14
|
+
- 脚本内置校验:`[图N]` 必须连续编号且数量 = 图片数,否则直接报错退出(不静默生成错版)
|
|
15
|
+
- SKILL.md:工作流改用 `--images-from`;新增"错位症状 B"根因记录;补事实铁律/文字铁律/交付铁律;
|
|
16
|
+
README 中英、references/x-html-format.md 同步
|
|
17
|
+
|
|
18
|
+
### topmind-wechat-post 0.2.0
|
|
19
|
+
|
|
20
|
+
- 签名区去掉"我是 {{作者名}},{{一句话简介}}"自我介绍行,只保留三连 CTA(兼容旧参数)
|
|
21
|
+
- 新增**双版一致性校验**:同一选题出 X 版后,必跑 X 内嵌图序列 vs 公众号内嵌图序列逐字节比对
|
|
22
|
+
- 新增**交付铁律**:发布/分享用交付包 HTML 原文件原样呈现,不临时重生成;`公众号稿.md` 唯一改稿入口
|
|
23
|
+
- 三个写作技能统一**语言铁律**:默认中文写作,只有用户明确要求英文才用英文
|
|
24
|
+
|
|
25
|
+
### topmind-briefs 0.2.0
|
|
26
|
+
|
|
27
|
+
- 工作流改用 `--images-from 公众号短文.md` 派生图片顺序(同 x-article 根治方案)
|
|
28
|
+
- 构建后校验加:X 版内嵌图序列(无封面)与公众号版逐字节一致
|
|
29
|
+
- 新增交付铁律;语言铁律同步
|
|
30
|
+
|
|
31
|
+
### 文档与元数据
|
|
32
|
+
|
|
33
|
+
- 根 README 中英:技能表(x-article 0.4.0、wechat-post 0.2.0、briefs 0.2.0)、安装器版本 0.7.0、钉版本示例 `@0.7.0`
|
|
34
|
+
- 各技能 README 中英「同 tag」引用全部 → `@topmindspace/tms-skills@0.7.0`
|
|
35
|
+
- `docs/PUBLISHING.md`:当前线更新为 0.7.0
|
|
36
|
+
|
|
1
37
|
## [0.6.0] - 2026-09-30
|
|
2
38
|
|
|
3
39
|
> 根包 0.5.0 → **0.6.0**(minor,本轮是功能轮);技能版本:topmind-cover 0.2.0 → **0.3.0**、
|
package/README.en.md
CHANGED
|
@@ -62,11 +62,12 @@ npx @topmindspace/tms-skills install topmind-cover
|
|
|
62
62
|
| Skill | Version | What it does |
|
|
63
63
|
|-------|---------|--------------|
|
|
64
64
|
| [`top-ppt-html`](./top-ppt-html/) | **0.2.1** | Formal business decks: paginated HTML + editable 16:9 PPTX; dual delivery · MD3-inspired density; 3 modes × 9 styles; strict 0/0 |
|
|
65
|
-
| [`topmind-wechat-post`](./topmind-wechat-post/) | **0.
|
|
66
|
-
| [`topmind-x-article`](./topmind-x-article/) | **0.
|
|
65
|
+
| [`topmind-wechat-post`](./topmind-wechat-post/) | **0.2.0** | WeChat article lifecycle: package, review, 3 quality gates, inline typography & publish checklist |
|
|
66
|
+
| [`topmind-x-article`](./topmind-x-article/) | **0.4.0** | X long-form one-click publish: Markdown → one-click-copy HTML (images/prompt copy, click-to-zoom images) / plain-text fallback + cover + checklist |
|
|
67
67
|
| [`topmind-cover`](./topmind-cover/) | **0.3.0** | Cover art for X / WeChat (X master 1500×600 / 5:2): striking, theme-focused; 11-style cover style library + 26 example images (incl. 3 alt samples) + 1 style overview |
|
|
68
|
+
| [`topmind-briefs`](./topmind-briefs/) | **0.2.0** | Short-form briefs (WeChat + X): one topic, one chart; data rankings / paper TL;DR / product launches; one-click-copy HTML for both |
|
|
68
69
|
|
|
69
|
-
Installer [`@topmindspace/tms-skills`](https://www.npmjs.com/package/@topmindspace/tms-skills) is **0.
|
|
70
|
+
Installer [`@topmindspace/tms-skills`](https://www.npmjs.com/package/@topmindspace/tms-skills) is **0.7.0** (whole-repo same-tag releases).
|
|
70
71
|
|
|
71
72
|
## Install
|
|
72
73
|
|
|
@@ -76,7 +77,7 @@ Installer [`@topmindspace/tms-skills`](https://www.npmjs.com/package/@topmindspa
|
|
|
76
77
|
npx @topmindspace/tms-skills list
|
|
77
78
|
npx @topmindspace/tms-skills install top-ppt-html
|
|
78
79
|
npx @topmindspace/tms-skills install top-ppt-html --to ./.claude/skills
|
|
79
|
-
npx @topmindspace/tms-skills@0.
|
|
80
|
+
npx @topmindspace/tms-skills@0.7.0 install top-ppt-html # pin
|
|
80
81
|
npx @topmindspace/tms-skills uninstall top-ppt-html --to ./.claude/skills
|
|
81
82
|
```
|
|
82
83
|
|
package/README.md
CHANGED
|
@@ -35,6 +35,14 @@ Markdown 原稿 → 可直接粘贴的纯文本(`md2x.py` 按 X Article 编辑
|
|
|
35
35
|
npx @topmindspace/tms-skills install topmind-x-article
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
+
### topmind-briefs · 干货短文
|
|
39
|
+
|
|
40
|
+
公众号 + X 双平台干货短文:一件事讲透(数据榜单 / 论文一句话解读 / 新品速递 / 机制讲解),X 一帖或短 thread、公众号约 300–800 字,1 张核心图。双版一键复制 HTML,只起草不代发。
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npx @topmindspace/tms-skills install topmind-briefs
|
|
44
|
+
```
|
|
45
|
+
|
|
38
46
|
### topmind-cover · 封面配图生成
|
|
39
47
|
|
|
40
48
|
X 长文与公众号共用的封面图:震撼、醒目、主题突出。**选风格 → 看示例 → 按配方组 prompt** 三步出图,`crop-cover.py` 一键裁出双平台尺寸(X 1200×675、公众号 900×383)。11 种风格索引与配方见 [`references/cover-styles.md`](./topmind-cover/references/cover-styles.md)。
|
|
@@ -60,11 +68,12 @@ npx @topmindspace/tms-skills install topmind-cover
|
|
|
60
68
|
| 技能 | 版本 | 做什么 |
|
|
61
69
|
|------|------|--------|
|
|
62
70
|
| [`top-ppt-html`](./top-ppt-html/) | **0.2.1** | 正式商务演示:HTML 可翻页 + 16:9 可编辑 PPTX;双交付 · MD3 密度克制;三模式 × 九风格;strict 0/0 |
|
|
63
|
-
| [`topmind-wechat-post`](./topmind-wechat-post/) | **0.
|
|
64
|
-
| [`topmind-x-article`](./topmind-x-article/) | **0.
|
|
71
|
+
| [`topmind-wechat-post`](./topmind-wechat-post/) | **0.2.0** | 公众号文章全生命周期:交付包、审校改写、质量三关、微信内联排版与发布清单 |
|
|
72
|
+
| [`topmind-x-article`](./topmind-x-article/) | **0.4.0** | X 长文一键发布:Markdown 原稿 → 一键复制 HTML(含配图/提示词复制、图片点击放大)/ 纯文本兜底 + 封面图 + 发布清单 |
|
|
65
73
|
| [`topmind-cover`](./topmind-cover/) | **0.3.0** | 文章封面配图(X / 公众号共用,X 主尺寸 1500×600 / 5:2):震撼醒目主题突出;11 风格封面风格库 + 26 张示例图(含 3 张 alt 样张) + 1 张风格总览图 |
|
|
74
|
+
| [`topmind-briefs`](./topmind-briefs/) | **0.2.0** | 干货短文(公众号 + X 双平台):一件事讲透,数据榜单/论文解读/新品速递;双版一键复制 HTML |
|
|
66
75
|
|
|
67
|
-
安装器 [`@topmindspace/tms-skills`](https://www.npmjs.com/package/@topmindspace/tms-skills) 为 **0.
|
|
76
|
+
安装器 [`@topmindspace/tms-skills`](https://www.npmjs.com/package/@topmindspace/tms-skills) 为 **0.7.0**(整仓同 tag 发版)。
|
|
68
77
|
|
|
69
78
|
> SKILL.md frontmatter 除标准 `name`/`description` 外,本仓库扩展了 `action_category` / `triggers` / `triggers_cn` / `updated` 字段供安装器与路由使用。
|
|
70
79
|
|
|
@@ -76,7 +85,7 @@ npx @topmindspace/tms-skills install topmind-cover
|
|
|
76
85
|
npx @topmindspace/tms-skills list
|
|
77
86
|
npx @topmindspace/tms-skills install top-ppt-html
|
|
78
87
|
npx @topmindspace/tms-skills install top-ppt-html --to ./.claude/skills
|
|
79
|
-
npx @topmindspace/tms-skills@0.
|
|
88
|
+
npx @topmindspace/tms-skills@0.7.0 install top-ppt-html # 钉版本
|
|
80
89
|
npx @topmindspace/tms-skills uninstall top-ppt-html --to ./.claude/skills
|
|
81
90
|
```
|
|
82
91
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@topmindspace/tms-skills",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "TopMindspace 智能体技能 monorepo — 通过 npm / GitHub npx 安装技能(top-ppt-html:HTML+PPT 双交付,正式商务演示文稿)。",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "TopMindspace",
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"LICENSE",
|
|
32
32
|
"CHANGELOG.md",
|
|
33
33
|
"top-ppt-html",
|
|
34
|
+
"topmind-briefs",
|
|
34
35
|
"topmind-cover",
|
|
35
36
|
"topmind-wechat-post",
|
|
36
37
|
"topmind-x-article"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.2.0 (2026-10-01)
|
|
4
|
+
|
|
5
|
+
- `--images-from 公众号短文.md` 派生图片顺序,禁止手工拼 `--images`(根治配图错位)
|
|
6
|
+
- 构建后校验加:X 版内嵌图序列(无封面)与公众号版逐字节一致
|
|
7
|
+
- 新增交付铁律(用原文件原样呈现);语言铁律同步(默认中文)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## 0.1.0 (2026-10-01)
|
|
11
|
+
|
|
12
|
+
- 初始版本:干货短文(公众号 + X 双平台)
|
|
13
|
+
- 工作流:定主题 → 找素材 → 写双版 → 自检 → 交付
|
|
14
|
+
- 四种内容类型:数据榜单型 / 论文解读型 / 新品速递型 / 对比实测型
|
|
15
|
+
- references:style-guide(开头扔结论/列表>段落/禁止清单)、
|
|
16
|
+
platform-specs(X ≤280字符 / 公众号 300–800字对照)、examples(4 类示例 + 反例)
|
|
17
|
+
- 风格参考:@ArtificialAnlys、@arena、@akshay_pachaar、@RulinShao 等
|
|
18
|
+
- 运营铁律:只起草不代发、数字必有来源、厂商数字标口径、不洗稿
|
|
19
|
+
- 修订(2026-10-01):字数口径统一为"X 一帖/短 thread,公众号约 300–800 字";
|
|
20
|
+
交付明确为双版一键复制 HTML(X 走 md2x-html,公众号走 md2wechat --embed-images);
|
|
21
|
+
构建后必跑嵌入图数量/顺序校验;配图位置铁律(图片紧跟相关段落);
|
|
22
|
+
推测/判断必须显式标注"(推测)"与事实切割
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# topmind-briefs · Short-form briefs (WeChat + X)
|
|
2
|
+
|
|
3
|
+
**[中文](./README.md)** | English
|
|
4
|
+
|
|
5
|
+
One topic, one chart, then stop. Data-driven short posts: rankings, paper TL;DRs,
|
|
6
|
+
product launches — one X post or short thread, ~300–800 words on WeChat,
|
|
7
|
+
one-click-copy HTML for both.
|
|
8
|
+
|
|
9
|
+
- Version: **v0.2.0** (same tag as `@topmindspace/tms-skills@0.7.0`)
|
|
10
|
+
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx @topmindspace/tms-skills install topmind-briefs
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# X version (image order derived from the WeChat draft; never hand-order --images)
|
|
21
|
+
md2x-html.py brief-x.md --out brief-x.html --images-from brief-wechat.md
|
|
22
|
+
|
|
23
|
+
# WeChat version (images inlined as base64)
|
|
24
|
+
md2wechat.py brief-wechat.md --out brief-wechat.html --embed-images
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The scripts live in the script directories of the `topmind-x-article` and
|
|
28
|
+
`topmind-wechat-post` skills (siblings of this skill). See [SKILL.md](./SKILL.md)
|
|
29
|
+
for the full workflow.
|
|
30
|
+
|
|
31
|
+
## Content types
|
|
32
|
+
|
|
33
|
+
- Data rankings / paper explainers / product launches / benchmarks
|
|
34
|
+
- Operating rules: draft only, never auto-post; every number needs a source;
|
|
35
|
+
vendor numbers labeled as vendor claims; no rewriting others' work
|
|
36
|
+
|
|
37
|
+
## When NOT to use
|
|
38
|
+
|
|
39
|
+
X long-form → `topmind-x-article`; WeChat long-form → `topmind-wechat-post`;
|
|
40
|
+
personal short posts → `topmind-x-posts`.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# topmind-briefs · 干货短文(公众号 + X 双平台)
|
|
2
|
+
|
|
3
|
+
[English](./README.en.md) | 中文
|
|
4
|
+
|
|
5
|
+
一件事,一张图,讲完就停。干货向短文:数据榜单、论文一句话解读、新品速递——
|
|
6
|
+
X 一帖或短 thread,公众号约 300–800 字,双版一键复制 HTML。
|
|
7
|
+
|
|
8
|
+
- 版本:**v0.2.0**(与 `@topmindspace/tms-skills@0.7.0` 同 tag)
|
|
9
|
+
|
|
10
|
+
## 安装
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npx @topmindspace/tms-skills install topmind-briefs
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## 用法
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# X 版(图片顺序从公众号稿派生,禁止手工拼 --images)
|
|
20
|
+
md2x-html.py X短文.md --out X短文.html --images-from 公众号短文.md
|
|
21
|
+
|
|
22
|
+
# 公众号版(图片 base64 内嵌)
|
|
23
|
+
md2wechat.py 公众号短文.md --out 公众号版.html --embed-images
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
脚本分别在 `topmind-x-article` 与 `topmind-wechat-post` 两个技能的脚本目录下
|
|
27
|
+
(与本技能同级目录)。工作流细节见 [SKILL.md](./SKILL.md)。
|
|
28
|
+
|
|
29
|
+
## 内容类型
|
|
30
|
+
|
|
31
|
+
- 数据榜单型 / 论文解读型 / 新品速递型 / 对比实测型
|
|
32
|
+
- 运营铁律:只起草不代发、数字必有来源、厂商数字标口径、不洗稿
|
|
33
|
+
|
|
34
|
+
## 何时不用
|
|
35
|
+
|
|
36
|
+
X 长文 → `topmind-x-article`;公众号长文 → `topmind-wechat-post`;
|
|
37
|
+
个人向短帖 → `topmind-x-posts`。
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: topmind-briefs
|
|
3
|
+
version: 0.2.0
|
|
4
|
+
description: >-
|
|
5
|
+
干货短文发布:公众号 + X 双平台,一件事讲透。X 一帖或短 thread,
|
|
6
|
+
公众号约 300–800 字;1 张核心图(榜单/基准/截图/表格),不废话。
|
|
7
|
+
Use when 写短文、发快讯、数据榜单、
|
|
8
|
+
论文一句话解读、新品速递、brief、快讯。Do NOT use for X 长文
|
|
9
|
+
(→ topmind-x-article)、公众号长文(→ topmind-wechat-post)、
|
|
10
|
+
个人向短帖(→ topmind-x-posts)。
|
|
11
|
+
action_category: write
|
|
12
|
+
triggers:
|
|
13
|
+
- 写短文
|
|
14
|
+
- 发快讯
|
|
15
|
+
- 干货短文
|
|
16
|
+
- 一句话解读
|
|
17
|
+
- 数据榜单
|
|
18
|
+
- 新品速递
|
|
19
|
+
- brief
|
|
20
|
+
- 快讯
|
|
21
|
+
triggers_cn:
|
|
22
|
+
- 来篇短的
|
|
23
|
+
- 短平快
|
|
24
|
+
- 发个快讯
|
|
25
|
+
author: TopMindSpace
|
|
26
|
+
license: MIT
|
|
27
|
+
homepage: https://github.com/topmindspace/tms-skills#readme
|
|
28
|
+
updated: 2026-10-01
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# topmind-briefs · 干货短文(公众号 + X)
|
|
32
|
+
|
|
33
|
+
一件事,一张图,讲完就停。跟 `topmind-x-posts` 的区别:那是个人向短帖
|
|
34
|
+
(第一人称、暴论、真诚);这是**干货向短文**(数据、榜单、论文、新品,
|
|
35
|
+
第三方客观口吻)。
|
|
36
|
+
|
|
37
|
+
## 何时不用
|
|
38
|
+
|
|
39
|
+
- X 长文(数千字深度稿)→ `topmind-x-article`
|
|
40
|
+
- 公众号长文 → `topmind-wechat-post`
|
|
41
|
+
- 个人向短帖(第一人称、观点、段子)→ `topmind-x-posts`
|
|
42
|
+
- 需要多张配图、复杂排版的稿件(本技能只配 1 张核心图)
|
|
43
|
+
|
|
44
|
+
## 语言铁律
|
|
45
|
+
|
|
46
|
+
- **默认中文**:标题、正文、配图文案一律用中文写作,这是默认行为,不需要用户每次声明。
|
|
47
|
+
- **英文是例外**:只有用户**明确说**"写英文文章/帖子"时才用英文。用户消息里夹杂英文词、
|
|
48
|
+
给英文参考素材、引用英文原文,都不算"要求写英文"。
|
|
49
|
+
- 引用英文一手素材(论文标题、官方公告、图表原文)时保留英文原文,正文主体仍是中文,
|
|
50
|
+
必要时在旁给中文翻译。
|
|
51
|
+
|
|
52
|
+
## 工作流
|
|
53
|
+
|
|
54
|
+
1. **定主题**:用户给方向,或从热点里挑。一篇只讲一件事——
|
|
55
|
+
一个数据、一个榜单变化、一篇论文的核心结论、一个新品的关键参数。
|
|
56
|
+
定不下来就问:这篇让读者记住哪一个数字/结论?
|
|
57
|
+
2. **找素材**:事实先核实(一手来源)。图优先找现成的:
|
|
58
|
+
官方截图 > 官方基准图 > 第三方榜单实拍 > 论文原图。
|
|
59
|
+
没有现成图才自制(只做对比表、趋势图这种信息图,不做装饰图)。
|
|
60
|
+
3. **写**:按 `references/style-guide.md` 写。X 版和公众号版各写一版,
|
|
61
|
+
内容一致,篇幅按平台调整(见 `references/platform-specs.md`)。
|
|
62
|
+
4. **自检**:过一遍禁止清单;确认每个数字都有来源;确认图和文字说的是同一件事;
|
|
63
|
+
推测/判断必须显式标注"(推测)",与事实段落切割,不混写。
|
|
64
|
+
5. **交付**:双版 HTML,一键复制(只交付,不发布)——
|
|
65
|
+
- X 版:`md2x-html.py X短文.md --out X短文.html --images-from 公众号短文.md`
|
|
66
|
+
(无封面;1–4 张图按 [图N] 顺序嵌入;thread 超长时拆条)。
|
|
67
|
+
**禁止手工拼 `--images`**:文件名排序 ≠ 文档顺序,手工传参曾导致整段配图错位;
|
|
68
|
+
脚本内置 `[图N]` 连续性 + 数量校验,不通过直接报错。
|
|
69
|
+
- 公众号版:`md2wechat.py --input 公众号短文.md --embed-images`
|
|
70
|
+
(图片 base64 内嵌,图注写在图下方)。
|
|
71
|
+
- 构建后必跑校验:嵌入图数量 = 文档图数量;嵌入图顺序 = 文档出现顺序
|
|
72
|
+
(逐张解码与源文件比对);[图N] 编号连续;
|
|
73
|
+
X 版内嵌图序列(无封面)与公众号版逐字节一致。
|
|
74
|
+
|
|
75
|
+
## 内容类型(四种,按真实帖子校准)
|
|
76
|
+
|
|
77
|
+
| 类型 | 参考 | 结构 |
|
|
78
|
+
|------|------|------|
|
|
79
|
+
| 数据榜单型 | @ArtificialAnlys | 判断句开头 → 基准一句话 → 最扎眼数字 → 双图(解决率+成本) |
|
|
80
|
+
| 榜单速报型 | @arena | "Big news:"+排名+分数 → 性价比 → 细分展开 → 纵向对比 → 榜单实拍 |
|
|
81
|
+
| 论文解读型 | @RulinShao | 加粗判断 → "Introducing X"+3 bullets → 论文原图 |
|
|
82
|
+
| 机制讲解型 | @akshay_pachaar | 痛点一句话 → →分步机制 → "To summarise:"三行 → 流程图/视频 |
|
|
83
|
+
|
|
84
|
+
## 配图铁律
|
|
85
|
+
|
|
86
|
+
- 一篇配 1 张核心图,最多 4 张。每张图必须承载信息,装饰图一律不要。
|
|
87
|
+
- 图注一句话说明这张图在证明什么。
|
|
88
|
+
- **位置**:图片必须紧跟它证明的那段文字之后(最多隔一段);章节题图放在节首。
|
|
89
|
+
禁止"图堆在节末"、"图与文字错位到下一节"。
|
|
90
|
+
- X:图片按顺序编号,文字里用 [图1] 标注对应关系。
|
|
91
|
+
- 公众号:图片内嵌,图注写在图下方。
|
|
92
|
+
- 校验脚本思路:对每张图,取其前后各 6 行文本,检查是否出现该图主题关键词
|
|
93
|
+
(如 Grok 图邻近必须有"Grok");不通过则人工核对。
|
|
94
|
+
|
|
95
|
+
## 运营铁律
|
|
96
|
+
|
|
97
|
+
- 只起草,不代发。发布前用户确认。
|
|
98
|
+
- **交付铁律**:发布/分享时直接用交付的 HTML 原文件原样呈现,不临时重新生成版本。
|
|
99
|
+
- 数字必须有来源;厂商数字标"厂商口径"。
|
|
100
|
+
- 不洗稿:观点可以撞,表达必须原创。
|
|
101
|
+
- 不碰医疗建议、投资建议、政治站队。
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "topmind-briefs",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"built_at": "2026-10-01T06:30:09.365689+00:00",
|
|
5
|
+
"files": 12,
|
|
6
|
+
"sha256": "170ee554ea8af1b94f55cf82981fc997758ced780afc170eb101b1bb02e1f3ea",
|
|
7
|
+
"entries": [
|
|
8
|
+
"README.md",
|
|
9
|
+
"SKILL.md",
|
|
10
|
+
"package.json",
|
|
11
|
+
"references/examples.md",
|
|
12
|
+
"references/platform-specs.md",
|
|
13
|
+
"references/style-guide.md",
|
|
14
|
+
"scripts/audit_css.py",
|
|
15
|
+
"scripts/audit_docs.py",
|
|
16
|
+
"scripts/audit_skill.py",
|
|
17
|
+
"scripts/audit_styles.py",
|
|
18
|
+
"scripts/negative_tests.py",
|
|
19
|
+
"scripts/package_skill.py"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"author":"TopMindSpace","description":"干货短文发布:公众号 + X 双平台,一件事讲透。100–500 字,1 张核心图,不废话。","license":"MIT","name":"topmind-briefs","private":true,"repository":{"directory":"topmind-briefs","type":"git","url":"git+https://github.com/topmindspace/tms-skills.git"},"version":"0.2.0"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# 示例 · 干货短文(按真实帖子校准)
|
|
2
|
+
|
|
3
|
+
## 例 1:数据榜单型(@ArtificialAnlys 原文结构)
|
|
4
|
+
|
|
5
|
+
原文模式:先抛一个反直觉判断 → 甩基准 → 给最扎眼的数字 → 图证明。
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
Restricting offensive without blocking defensive is difficult...
|
|
9
|
+
|
|
10
|
+
On CyberGym-E2E-AA, some frontier models are safety blocked on 85%+ of tasks.
|
|
11
|
+
|
|
12
|
+
The good news: with GPT-6 Luna or MiMo-V2.6-Pro, ~100 bug hunts in a 1M+ line
|
|
13
|
+
codebase for ~$20 — up to 100x cheaper per task than Grok 4.7.
|
|
14
|
+
|
|
15
|
+
[图:上下两张柱状图——任务解决率 vs 单任务成本]
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
结构拆解:
|
|
19
|
+
1. 判断句开头(一句话观点)
|
|
20
|
+
2. 基准是什么(一句话)
|
|
21
|
+
3. 最扎眼的数字(85%+、~$20、100x)
|
|
22
|
+
4. 图:解决率和成本两张图并置
|
|
23
|
+
|
|
24
|
+
## 例 2:榜单速报型(@arena 原文结构)
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
Big news: Gemini 4 Argon (High) just landed #1 in Text Arena with 1525 pts,
|
|
28
|
+
and #8 in Code Arena: WebDev with 1679 pts!
|
|
29
|
+
|
|
30
|
+
Blended $8/MToken — the most cost efficient model on the Pareto frontier.
|
|
31
|
+
|
|
32
|
+
#1 in Coding, Hard Prompts, Instruction Following, Longer Query, Creative Writing.
|
|
33
|
+
+20 pts above #2 Claude Opus 4.6 (High); leap from #11 (Gemini 3.8 Flash).
|
|
34
|
+
|
|
35
|
+
[图:Text Arena + Code Arena 排行榜截图各一张]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
结构拆解:
|
|
39
|
+
1. "Big news:" + 排名 + 分数(开头即全部关键信息)
|
|
40
|
+
2. 价格/性价比(一句话)
|
|
41
|
+
3. 细分维度展开(列表)
|
|
42
|
+
4. 纵向对比(比上次、比第二名)
|
|
43
|
+
5. 图:排行榜实拍
|
|
44
|
+
|
|
45
|
+
## 例 3:论文解读型(@RulinShao 原文结构)
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
‼️The Bitter Lesson for context management: Giving LMs unrestricted control
|
|
49
|
+
over their context beats human-designed SOTA!
|
|
50
|
+
|
|
51
|
+
Introducing 🩵Context Language Models (CLMs)🩵
|
|
52
|
+
- Natively manage their own context
|
|
53
|
+
- Treat context as a file
|
|
54
|
+
- Learn policies in CLM weights, no harness
|
|
55
|
+
|
|
56
|
+
[图:论文信息图——架构示意 + 四组结果曲线]
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
结构拆解:
|
|
60
|
+
1. 加粗判断("Bitter Lesson"式标题党,但后面有真东西)
|
|
61
|
+
2. "Introducing X" + 3 条 bullet(每条 ≤10 词)
|
|
62
|
+
3. 图:论文原图(架构 + 结果)
|
|
63
|
+
|
|
64
|
+
## 例 4:机制讲解型(@akshay_pachaar 原文结构)
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
Jev for RAG, clearly explained!
|
|
68
|
+
|
|
69
|
+
Hybrid search gives you a shortlist. It does not decide which passages
|
|
70
|
+
contain evidence. That missing judgment is where Jev fits.
|
|
71
|
+
|
|
72
|
+
→ Retrieve wide
|
|
73
|
+
[一句话机制]
|
|
74
|
+
|
|
75
|
+
→ Judge every candidate together
|
|
76
|
+
[一句话机制]
|
|
77
|
+
|
|
78
|
+
→ Let code apply the threshold
|
|
79
|
+
[一句话机制]
|
|
80
|
+
|
|
81
|
+
To summarise:
|
|
82
|
+
- Retrieval finds the candidates.
|
|
83
|
+
- Jev decides what deserves context.
|
|
84
|
+
- The LLM writes the grounded answer.
|
|
85
|
+
|
|
86
|
+
[视频:RAG 流程架构动画]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
结构拆解:
|
|
90
|
+
1. 标题句("X, clearly explained!")
|
|
91
|
+
2. 痛点(一句话:现有方案缺什么)
|
|
92
|
+
3. 机制分步(→ 标记,每步一句话)
|
|
93
|
+
4. "To summarise:" 三行收束
|
|
94
|
+
5. 媒体:流程图/动画 + 文章链接
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 公众号版改写示例(例 1 → 公众号)
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
# 跑 100 次漏洞挖掘只要 $20:CyberGym-E2E-AA 基准实测
|
|
102
|
+
|
|
103
|
+
> 想防住攻击又不误伤防御,太难了——前沿模型在 85%+ 的任务上被安全拦截直接拒绝回答。
|
|
104
|
+
|
|
105
|
+
- 基准:CyberGym-E2E-AA,测从漏洞发现到补丁的全链路防御能力
|
|
106
|
+
- 拦截率:部分前沿模型 85%+ 任务被安全机制拦掉
|
|
107
|
+
- 成本:GPT-6 Luna / MiMo-V2.6-Pro 跑 ~100 次 bug hunt 约 $20,
|
|
108
|
+
单任务成本比 Grok 4.7 便宜 up to 100 倍
|
|
109
|
+
|
|
110
|
+

|
|
111
|
+
|
|
112
|
+
来源:Artificial Analysis
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
改写要点:X 版英文直发;公众号版加一句中文背景("这是什么基准"),
|
|
116
|
+
数字保留英文原样,结论不变。
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 反例(不要这样写)
|
|
121
|
+
|
|
122
|
+
❌ "众所周知,AI 发展日新月异。最近,Google 发布了一款新模型,
|
|
123
|
+
引起了广泛关注。值得一提的是,这款模型在多个基准上表现出色…"
|
|
124
|
+
→ 铺垫三段,结论藏在最后,没有具体数字。
|
|
125
|
+
|
|
126
|
+
❌ "大幅提升""显著改善""表现优异"
|
|
127
|
+
→ 没有数据的形容词,删掉或换成数字。
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# 平台规格 · 公众号 vs X
|
|
2
|
+
|
|
3
|
+
同一件事,写两版。内容一致,篇幅和格式按平台调整。
|
|
4
|
+
|
|
5
|
+
## X 版
|
|
6
|
+
|
|
7
|
+
- 长度:280 字符内(一条)。超了就拆 thread,最多 3 条。
|
|
8
|
+
- 语言:中英都可,看受众。英文参考 @ArtificialAnlys 风格,中文参考 @arena 风格。
|
|
9
|
+
- 图片:1–4 张,首图最重要(时间线上只显示首图)。
|
|
10
|
+
- 格式:纯文本 + 图片。不用 Markdown 标题(X 不渲染)。
|
|
11
|
+
- 结尾:来源链接(缩短)。不加 hashtag,除非是榜单/活动官方 tag。
|
|
12
|
+
- 交付:`md2x-html.py` 生成一键复制 HTML(`--images` 按 [图N] 文档顺序传图,
|
|
13
|
+
无封面),另附纯文本版方便直接粘贴。
|
|
14
|
+
- 示例结构:
|
|
15
|
+
```
|
|
16
|
+
[结论一句话]
|
|
17
|
+
|
|
18
|
+
- 数据 1
|
|
19
|
+
- 数据 2
|
|
20
|
+
|
|
21
|
+
[图1:榜单截图]
|
|
22
|
+
|
|
23
|
+
来源:链接
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 公众号版
|
|
27
|
+
|
|
28
|
+
- 长度:300–800 字。比 X 版多 1–2 句背景("这是什么榜单""为什么重要")。
|
|
29
|
+
- 标题:15 字内,带数字或结论。"[模型] 登顶 [榜单]:[分数]"。
|
|
30
|
+
- 图片:1–4 张,base64 内嵌(`md2wechat --embed-images`)。
|
|
31
|
+
- 格式:走 `topmind-wechat-post` 链路。标题 + 导语(一句话) + 列表 + 图 + 来源。
|
|
32
|
+
- 不写"前言导读""小结"这种长文结构——短文不需要。
|
|
33
|
+
- 交付:md2wechat 直接出 HTML(含一键复制按钮),原文件即发布用文件,不二次生成。
|
|
34
|
+
- 示例结构:
|
|
35
|
+
```markdown
|
|
36
|
+
# [标题]
|
|
37
|
+
|
|
38
|
+
> [一句话导语]
|
|
39
|
+
|
|
40
|
+
[结论段,2–3 句]
|
|
41
|
+
|
|
42
|
+
- 数据 1
|
|
43
|
+
- 数据 2
|
|
44
|
+
- 数据 3
|
|
45
|
+
|
|
46
|
+

|
|
47
|
+
|
|
48
|
+
来源:[链接]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 对照表
|
|
52
|
+
|
|
53
|
+
| | X 版 | 公众号版 |
|
|
54
|
+
|---|---|---|
|
|
55
|
+
| 长度 | ≤280 字符 | 300–800 字 |
|
|
56
|
+
| 标题 | 无(首句即标题) | 15 字内 |
|
|
57
|
+
| 背景 | 不写 | 1–2 句 |
|
|
58
|
+
| 图片 | 1–4 张 | 1–4 张(内嵌) |
|
|
59
|
+
| 来源 | 链接 | 链接 |
|
|
60
|
+
| 语气 | 更短更冲 | 稍完整 |
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# 风格指南 · 干货短文
|
|
2
|
+
|
|
3
|
+
目标:读者划过去,3 秒内抓住那个数字/结论,心想"这篇有料"。
|
|
4
|
+
|
|
5
|
+
## 三原则
|
|
6
|
+
|
|
7
|
+
**短**:一件事讲完就停。X 版 280 字符内;公众号版 500 字内。
|
|
8
|
+
**干**:每个字都承载信息。删掉所有"众所周知""值得一提的是"。
|
|
9
|
+
**准**:数字有来源,判断有依据。不确定的写"据 X 报道",不编。
|
|
10
|
+
|
|
11
|
+
## 开头:四种起手(按真实帖子)
|
|
12
|
+
|
|
13
|
+
- 数据型(@ArtificialAnlys):"[反直觉判断一句话]。On [基准], [最扎眼数字]。"
|
|
14
|
+
- 速报型(@arena):"Big news: [模型] just landed #1 in [榜单] with [分数]!"
|
|
15
|
+
- 论文型(@RulinShao):"‼️[加粗判断]: [一句话]! Introducing [X]"
|
|
16
|
+
- 讲解型(@akshay_pachaar):"[X], clearly explained! [痛点一句话]"
|
|
17
|
+
|
|
18
|
+
## 正文:列表 > 段落
|
|
19
|
+
|
|
20
|
+
能用列表就不用段落。参考格式:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
[结论一句话]
|
|
24
|
+
|
|
25
|
+
- 关键数据 1
|
|
26
|
+
- 关键数据 2
|
|
27
|
+
- 关键数据 3
|
|
28
|
+
|
|
29
|
+
[图]
|
|
30
|
+
|
|
31
|
+
来源:[链接]
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 禁止清单
|
|
35
|
+
|
|
36
|
+
- 禁止"首先、其次、最后""总而言之""值得一提的是""值得注意的是"
|
|
37
|
+
- 禁止"赋能""抓手""闭环""底层逻辑"
|
|
38
|
+
- 禁止铺垫三段再说结论
|
|
39
|
+
- 禁止没有数据的形容词:"大幅提升""显著改善"(改成具体数字)
|
|
40
|
+
- 禁止感叹号连用
|
|
41
|
+
- 禁止"家人们""老铁"式直播腔
|
|
42
|
+
- 禁止正确的废话
|
|
43
|
+
|
|
44
|
+
## 鼓励
|
|
45
|
+
|
|
46
|
+
- 数字代替形容词:"快 3 倍"不说"大幅提升"
|
|
47
|
+
- 对比代替孤立数字:"58 分,比 Opus 5.5 高 2 分"不说"58 分,很高"
|
|
48
|
+
- 一句话判断收尾(可选):"这意味着 [对读者的意义]。"——只写一句,不展开
|
|
49
|
+
- 来源链接放在最后,不打断阅读
|
|
50
|
+
|
|
51
|
+
## 自检三问
|
|
52
|
+
|
|
53
|
+
1. 删掉一半字,核心结论还在吗?(在→删)
|
|
54
|
+
2. 每个数字都能说出来源吗?(不能→删或补来源)
|
|
55
|
+
3. 不看图,文字本身成立吗?不看文字,图本身有信息吗?(都成立→图和文各司其职)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
"""CSS 审计:本组技能无 CSS 资产;若未来加入 .css 文件,则做括号配平基础检查。"""
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
import sys
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
try:
|
|
10
|
+
sys.stdout.reconfigure(encoding="utf-8", errors="replace")
|
|
11
|
+
except Exception:
|
|
12
|
+
pass
|
|
13
|
+
|
|
14
|
+
ROOT = Path(__file__).resolve().parent.parent
|
|
15
|
+
NAME = ROOT.name
|
|
16
|
+
errors: list[str] = []
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def main() -> None:
|
|
20
|
+
print(f"[audit_css] {NAME}")
|
|
21
|
+
css_files = [p for p in ROOT.rglob("*.css") if ".git" not in p.parts and "dist" not in p.parts]
|
|
22
|
+
if not css_files:
|
|
23
|
+
print(" ✓ 无 CSS 资产,跳过")
|
|
24
|
+
print(f"\n[audit_css] {NAME}: 通过")
|
|
25
|
+
return
|
|
26
|
+
for css in css_files:
|
|
27
|
+
text = css.read_text(encoding="utf-8")
|
|
28
|
+
balanced = text.count("{") == text.count("}")
|
|
29
|
+
print((" ✓ " if balanced else " ✗ ") + f"{css.name} 括号配平")
|
|
30
|
+
if not balanced:
|
|
31
|
+
errors.append(css.name)
|
|
32
|
+
if errors:
|
|
33
|
+
print(f"\n[audit_css] {NAME}: {len(errors)} 项失败")
|
|
34
|
+
sys.exit(1)
|
|
35
|
+
print(f"\n[audit_css] {NAME}: 全部通过")
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
if __name__ == "__main__":
|
|
39
|
+
main()
|