@topmindspace/topmind-skills 4.13.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/INSTALL.md +295 -0
- package/LICENSE +21 -0
- package/README.en.md +162 -0
- package/README.md +162 -0
- package/README.zh-CN.md +162 -0
- package/bin/install-skills.mjs +693 -0
- package/evals/evals.json +236 -0
- package/install-targets/claude-code.json +62 -0
- package/install-targets/codex.json +60 -0
- package/install-targets/hermes.json +60 -0
- package/install-targets/opencode.json +63 -0
- package/integrations/codex/README.md +20 -0
- package/integrations/hermes/README.md +19 -0
- package/integrations/opencode/README.md +33 -0
- package/integrations/opencode/commands/topmind-capture.md +15 -0
- package/integrations/opencode/commands/topmind-doctor.md +11 -0
- package/integrations/opencode/opencode.example.json +20 -0
- package/integrations/opencode/plugins/topmind-plugin.ts +17 -0
- package/integrations/opencode/tests/opencode-config-shape.test.mjs +63 -0
- package/package.json +70 -0
- package/scripts/build-pack.mjs +463 -0
- package/shared/capability-degradation.md +82 -0
- package/shared/document-ingest.md +117 -0
- package/shared/host-loading.md +140 -0
- package/shared/long-url-capture.md +60 -0
- package/shared/output-language.md +32 -0
- package/shared/project-model-brief.md +132 -0
- package/shared/trigger-disambiguation.md +58 -0
- package/shared/writeback-receipt.md +73 -0
- package/skills.md +39 -0
- package/topmind/SKILL.md +170 -0
- package/topmind/references/connector-resolution.md +11 -0
- package/topmind/references/multi-intent.md +17 -0
- package/topmind/references/template-categories.md +45 -0
- package/topmind-capture/SKILL.md +148 -0
- package/topmind-ledger/SKILL.md +86 -0
- package/topmind-loop/DESIGN.md +82 -0
- package/topmind-loop/SKILL.md +111 -0
- package/topmind-loop/references/scopes-and-walk.md +56 -0
- package/topmind-loop/references/state-file.md +52 -0
- package/topmind-maintain/SKILL.md +104 -0
- package/topmind-memory/SKILL.md +117 -0
- package/topmind-organize/SKILL.md +144 -0
- package/topmind-pack.json +418 -0
- package/topmind-wechat/DESIGN.md +50 -0
- package/topmind-wechat/SKILL.md +218 -0
- package/topmind-wechat/assets/themes/amber-review.json +35 -0
- package/topmind-wechat/assets/themes/graphite.json +35 -0
- package/topmind-wechat/assets/themes/minimal-ink.json +35 -0
- package/topmind-wechat/assets/themes/newsprint.json +35 -0
- package/topmind-wechat/assets/themes/tech-blue.json +35 -0
- package/topmind-wechat/references/element-spec.md +162 -0
- package/topmind-wechat/references/known-pits.md +86 -0
- package/topmind-wechat/references/theme-map.md +139 -0
- package/topmind-wechat/references/typography-rules.md +62 -0
- package/topmind-wechat/references/wechat-constraints.md +106 -0
- package/topmind-wechat/references/workflow.md +102 -0
- package/topmind-wechat/references/writing-quality.md +129 -0
- package/topmind-wechat/scripts/lint-wechat.py +446 -0
- package/topmind-wechat/scripts/md2wechat.py +1599 -0
- package/topmind-wechat/scripts/new-article.py +183 -0
- package/topmind-wechat/scripts/push-to-topstream.py +226 -0
- package/topmind-wechat/scripts/scan_ai_flavor.py +464 -0
- package/topmind-wechat/scripts/sync-mapping.py +220 -0
- package/topmind-wechat/scripts/sync-status.py +187 -0
- package/topmind-weread/SKILL.md +97 -0
- package/topmind-write/SKILL.md +116 -0
- package/topmind-x/SKILL.md +97 -0
package/INSTALL.md
ADDED
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
# Install & update topmind Skills
|
|
2
|
+
|
|
3
|
+
[简体中文](./README.md) · [English](./README.en.md) · [产品](https://github.com/topmindspace/topmind)
|
|
4
|
+
|
|
5
|
+
**Model (same idea as open Agent Skills / `npx skills`):**
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
指定源(GitHub 仓库 / 本地路径 / Release)
|
|
9
|
+
+ 仓库即 pack 根(topmind-skills 无 monorepo 子目录)
|
|
10
|
+
+ 安装目标(host 的 skills 根目录)
|
|
11
|
+
→ 安装
|
|
12
|
+
→ 以后在同一目标上 update 升级
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
Source examples: topmindspace/topmind-skills . release:latest
|
|
17
|
+
Path default: . (topmind-skills 仓根即 pack)
|
|
18
|
+
Dest examples: $HOME/.claude/skills ./.claude/skills $HOME/.codex/skills
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Repository: https://github.com/topmindspace/topmind-skills
|
|
22
|
+
Daily entry after install: **`topmind`**
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 0. Via Desktop(推荐 · 探测 + 装/升/卸)
|
|
27
|
+
|
|
28
|
+
若已安装 **topmind Desktop**,不必先跑 CLI:
|
|
29
|
+
|
|
30
|
+
1. 打开 **设置 → 关于与更新 (About & updates)**
|
|
31
|
+
2. 查看已探测的 Agent 宿主(Claude Code · Codex · Hermes · OpenCode · CodeBuddy 等)
|
|
32
|
+
3. 对目标宿主点 **安装 / 升级 / 卸载**(优先全局 skills 根 + 回执;卸载只删托管条目,不动无关用户 skill)
|
|
33
|
+
4. 同一页还可:**准备剪藏扩展**(引导浏览器 Load unpacked)、**安装 Obsidian 插件**到当前工作区 vault
|
|
34
|
+
|
|
35
|
+
独立 CLI / pack 路径仍然有效(无 Desktop 时用本节后续命令)。宿主探测与装机逻辑在 Desktop 内为纯 FS,与本脚本语义对齐。
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Publishing to skills.sh & Open Agent Skills Registry
|
|
40
|
+
|
|
41
|
+
**skills.sh**(与 `npx skills` 工具网络)采用基于 **GitHub 公开仓库的直连索引机制**。将本仓库的 Skills 发布并公开到 `skills.sh` 无需传统 npm publish,步骤如下:
|
|
42
|
+
|
|
43
|
+
1. **规范校验与打包**:
|
|
44
|
+
确保技能文件符合 Agent Skills 规范(`SKILL.md` 包含 YAML frontmatter、Use when / Do NOT 边界、行数 <500):
|
|
45
|
+
```bash
|
|
46
|
+
npm run pack:skills
|
|
47
|
+
npm test
|
|
48
|
+
```
|
|
49
|
+
2. **Push 至 GitHub Public 仓库**:
|
|
50
|
+
```bash
|
|
51
|
+
git add .
|
|
52
|
+
git commit -m "feat(skills): update skills definitions"
|
|
53
|
+
git push origin main
|
|
54
|
+
```
|
|
55
|
+
3. **发布 Tag & Release(推荐)**:
|
|
56
|
+
```bash
|
|
57
|
+
npm run versions # 真源 stamp;全量 tag 用 Desktop 版本
|
|
58
|
+
git tag v<desktop-version>
|
|
59
|
+
git push origin v<desktop-version>
|
|
60
|
+
```
|
|
61
|
+
4. **生态发现与在线安装**:
|
|
62
|
+
发布后,全球开发者即可通过以下方式发现与安装:
|
|
63
|
+
- **CLI 直接索引**:`npx skills add topmindspace/topmind-skills -g -y`
|
|
64
|
+
- **查看目录**:`npx skills add topmindspace/topmind-skills -l`
|
|
65
|
+
- **网页版浏览**:访问 `https://skills.sh/topmindspace/topmind-skills`
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Two installers (pick one)
|
|
70
|
+
|
|
71
|
+
### A. Community CLI — `npx skills`(和开源 skills 生态一致)
|
|
72
|
+
|
|
73
|
+
已验证:本仓库可被直接发现 pack 内全部 skill(含可选 weread / x / ledger)。
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# 安装到用户全局($HOME/.claude/skills 等,按 agent 探测)
|
|
77
|
+
npx skills add topmindspace/topmind-skills -g -y
|
|
78
|
+
|
|
79
|
+
# 只装部分
|
|
80
|
+
npx skills add topmindspace/topmind-skills -g -y -s topmind -s topmind-capture
|
|
81
|
+
|
|
82
|
+
# 升级
|
|
83
|
+
npx skills update -g -y
|
|
84
|
+
|
|
85
|
+
# 列出仓库里有什么(不装)
|
|
86
|
+
npx skills add topmindspace/topmind-skills -l
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
适用:Claude Code / Cursor / Codex / OpenCode 等认 Agent Skills 目录布局的 host。
|
|
90
|
+
|
|
91
|
+
#### 关于 “Failed to install 9 / PromptScript”
|
|
92
|
+
|
|
93
|
+
`npx skills add … -g` **多数已经成功**。日志里先有:
|
|
94
|
+
|
|
95
|
+
```text
|
|
96
|
+
◇ Installed 10 skills
|
|
97
|
+
✓ $HOME/.agents/skills/topmind (+ symlink → Claude Code / Codex / …)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
末尾的 `Failed to install 9` **只针对 PromptScript**:该 host **不支持 global 安装**,不是 topmind 包损坏。可忽略,或不要装 PromptScript。
|
|
101
|
+
|
|
102
|
+
验收:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
ls $HOME/.agents/skills/topmind/SKILL.md
|
|
106
|
+
ls $HOME/.claude/skills/topmind # 常为 symlink → $HOME/.agents/skills/topmind
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
#### 社区 CLI 不会装 `shared/`(重要)
|
|
110
|
+
|
|
111
|
+
社区 CLI 只复制含 `SKILL.md` 的目录。topmind skill 内有 `../shared/*.md` 渐进披露链接,**缺 `shared/` 时子文档打不开**。
|
|
112
|
+
|
|
113
|
+
这是开放标准「单 skill 目录」与 topmind **pack 级 shared** 的已知差异。加载契约见 [`shared/host-loading.md`](./shared/host-loading.md)。
|
|
114
|
+
|
|
115
|
+
装完社区 CLI 后**务必**再跑 pack-aware(或手动拷 shared):
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# ① 推荐:pack-aware 安装器(带 shared/ + topmind-pack.json)
|
|
119
|
+
# 通用根(npx skills 主目录)
|
|
120
|
+
node bin/install-skills.mjs add topmindspace/topmind-skills --dest $HOME/.agents/skills
|
|
121
|
+
# 或 Claude 默认根
|
|
122
|
+
node bin/install-skills.mjs add topmindspace/topmind-skills -g
|
|
123
|
+
|
|
124
|
+
# ② 或手动把 monorepo / Release 包里的 shared 放到同级
|
|
125
|
+
mkdir -p $HOME/.agents/skills
|
|
126
|
+
cp -R /path/to/topmind-skills/shared $HOME/.agents/skills/shared
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
#### 其他 Host 也能装
|
|
130
|
+
|
|
131
|
+
| Host 类型 | 做法 |
|
|
132
|
+
|-----------|------|
|
|
133
|
+
| Claude Code / Cursor / Codex / OpenCode | 目录布局 = Agent Skills:`{skillsRoot}/{name}/SKILL.md` |
|
|
134
|
+
| 只认单路径 | symlink 整个 pack 根或 pack-aware 装到 host skills 根 |
|
|
135
|
+
| MCP-only 宿主 | Skills 仍是 Markdown 指令;确定性命令可另接 UTR MCP(可选) |
|
|
136
|
+
| 无 skill 系统 | 把 `topmind/SKILL.md` 当 system 片段粘贴;shared 按链接手动附上 |
|
|
137
|
+
|
|
138
|
+
**Discovery**:Host 应只预加载各 skill 的 `name`+`description`(≤1024 字符)。
|
|
139
|
+
**Activation**:匹配任务后再读完整 `SKILL.md`。
|
|
140
|
+
**Resources**:需要时再读 `shared/` 与 `references/`。
|
|
141
|
+
|
|
142
|
+
### Zip 加载报 `SKILL.md not found`?
|
|
143
|
+
|
|
144
|
+
topmind Release 包是 **多 skill 组合包**,不是单目录 skill:
|
|
145
|
+
|
|
146
|
+
```text
|
|
147
|
+
topmind-skills-<ver>.zip
|
|
148
|
+
└── topmind-skills-<ver>/
|
|
149
|
+
├── SKILL.md ← 根入口 = router
|
|
150
|
+
├── topmind/SKILL.md ← 推荐日常入口
|
|
151
|
+
├── topmind-capture/…
|
|
152
|
+
└── shared/
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
| Host 行为 | 正确处理 |
|
|
156
|
+
|-----------|----------|
|
|
157
|
+
| 解压 zip 后在根找 `SKILL.md` | 用包内根 `SKILL.md`(router) |
|
|
158
|
+
| 扫描 `*/SKILL.md` 多 skill | 装全部 `topmind*` 目录 + `shared/` |
|
|
159
|
+
| 社区 `npx skills add` | 从 GitHub 仓根装 skill 目录(不依赖 zip 根) |
|
|
160
|
+
|
|
161
|
+
`skills.md` 是 **包索引**(人类可读),不是 Agent Skills 标准的 `SKILL.md` 替代名——两者并存,不要把 `skills.md` 改成唯一入口。
|
|
162
|
+
|
|
163
|
+
### B. Pack-aware 安装器 — `bin/install-skills.mjs`(推荐给 topmind)
|
|
164
|
+
|
|
165
|
+
会装齐 **skill 目录 + `shared/` + `topmind-pack.json` + …**,保证 `../shared/*.md` 渐进披露链接可用。
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
# ① 指定仓库(默认 path=skills,装到 Claude 用户目录)
|
|
169
|
+
node bin/install-skills.mjs add topmindspace/topmind-skills -g
|
|
170
|
+
|
|
171
|
+
# ② 指定仓库 + 自定义 monorepo 子路径 + 自定义目标
|
|
172
|
+
node bin/install-skills.mjs add topmindspace/topmind-skills \
|
|
173
|
+
--dest $HOME/.claude/skills
|
|
174
|
+
|
|
175
|
+
# ③ 装到「当前项目」而不是用户全局
|
|
176
|
+
node bin/install-skills.mjs add topmindspace/topmind-skills \
|
|
177
|
+
--dest ./.claude/skills
|
|
178
|
+
|
|
179
|
+
# ④ 本地 monorepo / 任意目录当源
|
|
180
|
+
node bin/install-skills.mjs add ./skills --dest $HOME/.claude/skills
|
|
181
|
+
node bin/install-skills.mjs add ./skills --mode symlink --dest $HOME/.claude/skills
|
|
182
|
+
|
|
183
|
+
# ⑤ 从 Release zip(有 topmind-skills-*.zip 时)
|
|
184
|
+
node bin/install-skills.mjs add release:latest -g
|
|
185
|
+
|
|
186
|
+
# ⑥ 升级(读目标目录里的回执,重新拉同一源)
|
|
187
|
+
node bin/install-skills.mjs update --dest $HOME/.claude/skills
|
|
188
|
+
|
|
189
|
+
# ⑦ 只看会装什么
|
|
190
|
+
node bin/install-skills.mjs list topmindspace/topmind-skills
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
根脚本别名:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
npm run install -- add topmindspace/topmind-skills -g
|
|
197
|
+
npm run update -- --dest $HOME/.claude/skills
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
私有仓:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
export GH_TOKEN=... # 或 GITHUB_TOKEN
|
|
204
|
+
node bin/install-skills.mjs add topmindspace/topmind-skills -g
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Source 写法
|
|
210
|
+
|
|
211
|
+
| Source | 含义 |
|
|
212
|
+
|--------|------|
|
|
213
|
+
| `topmindspace/topmind-skills` | GitHub `owner/repo`,默认分支,pack 在仓根 |
|
|
214
|
+
| `topmindspace/topmind-skills@v*` | 指定 ref / tag(版本见 `topmind-pack.json`) |
|
|
215
|
+
| `https://github.com/topmindspace/topmind-skills.git` | 任意 git URL |
|
|
216
|
+
| `./skills` / 绝对路径 | 本地 pack 根(含 `topmind-pack.json` 或 `*/SKILL.md`) |
|
|
217
|
+
| `release:latest` | GitHub Release 里的 `topmind-skills-*.zip` |
|
|
218
|
+
|
|
219
|
+
| Option | 含义 |
|
|
220
|
+
|--------|------|
|
|
221
|
+
| `--path <subdir>` | 仓库内 pack 子目录(默认 `.` 仓根) |
|
|
222
|
+
| `--dest <dir>` | 安装目标 = host 的 skills 根 |
|
|
223
|
+
| `-g` / `--global` | dest → `$HOME/.claude/skills` |
|
|
224
|
+
| `--host codex` 等 | 换默认 dest |
|
|
225
|
+
| `--mode symlink` | 仅本地源;开发时热更新 |
|
|
226
|
+
| `--skill topmind` | 只装列出的 skill id(可重复) |
|
|
227
|
+
| `--locale en-US` | 安装 locale overlay(回退到 `topmind_LOCALE` 环境变量)。**当前未随包提供任何 overlay**——技能正文以 zh-CN 为准,`--locale` 会回退到中文正文,不是英文版技能。 |
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Host destinations
|
|
232
|
+
|
|
233
|
+
| Host | 典型 dest | 写法 |
|
|
234
|
+
|------|-----------|------|
|
|
235
|
+
| Claude Code | `$HOME/.claude/skills` 或项目 `.claude/skills` | `-g` 或 `--dest ./.claude/skills` |
|
|
236
|
+
| Codex | `$HOME/.codex/skills` | `--host codex` |
|
|
237
|
+
| Hermes | `$HOME/.hermes/skills` | `--host hermes` |
|
|
238
|
+
| OpenCode | 项目 skills 路径 / config `skills.paths` | `--host opencode` 或见 `integrations/opencode/` |
|
|
239
|
+
|
|
240
|
+
`install-targets/*.json` 描述各 host 契约(无硬编码本机绝对路径)。
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Update 原理
|
|
245
|
+
|
|
246
|
+
安装后在 dest 写入:
|
|
247
|
+
|
|
248
|
+
```text
|
|
249
|
+
{dest}/.topmind-skills-install.json
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
里面记录了 `source` / `path` / `version`。之后只需:
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
node bin/install-skills.mjs update --dest <同一 dest>
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
就会按原 source 再拉一遍并覆盖(升级)。
|
|
259
|
+
|
|
260
|
+
社区 CLI 对应:
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
npx skills update -g -y
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## 装完长什么样
|
|
269
|
+
|
|
270
|
+
```text
|
|
271
|
+
$HOME/.claude/skills/ # 或你指定的 --dest
|
|
272
|
+
├── topmind/SKILL.md # 日常唯一入口
|
|
273
|
+
├── topmind-capture/
|
|
274
|
+
├── topmind-organize/
|
|
275
|
+
├── …
|
|
276
|
+
├── shared/ # pack-aware 安装器会带上
|
|
277
|
+
├── topmind-pack.json
|
|
278
|
+
└── .topmind-skills-install.json
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
在 host 里调用 **`topmind`**。子 skill 是模块,不是并列产品入口。
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## OpenCode(可选)
|
|
286
|
+
|
|
287
|
+
示例:`integrations/opencode/opencode.example.json` — 用 `skills.paths` 指向本仓根或已安装目录。
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Security
|
|
292
|
+
|
|
293
|
+
- Skills 是 Markdown 指令;不信任的 fork 先审再装。
|
|
294
|
+
- API Key 不要写进 skill 文件。
|
|
295
|
+
- 安装器只写 `--dest`,不改 engine 仓库(除非 dest 故意指过去)。
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 TopMindSpace
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.en.md
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# topmind Skills
|
|
2
|
+
|
|
3
|
+
Portable AI skill pack: the same content contract on Claude Code / Codex / OpenCode / Hermes and other hosts.
|
|
4
|
+
|
|
5
|
+
[简体中文](README.md) · [English](README.en.md) · [Product](https://github.com/topmindspace/topmind) · [Install](./INSTALL.md) · [Publish to skills.sh](./INSTALL.md#publishing-to-skillssh--open-agent-skills-registry)
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# 1) Community CLI (fast try; may omit shared/)
|
|
9
|
+
npx skills add topmindspace/topmind-skills -g -y
|
|
10
|
+
|
|
11
|
+
# 2) Pack-aware installer (recommended · includes shared/ · writes receipt)
|
|
12
|
+
# From a topmind-skills checkout:
|
|
13
|
+
npm run install -- add topmindspace/topmind-skills -g
|
|
14
|
+
npm run update -- --dest $HOME/.claude/skills
|
|
15
|
+
|
|
16
|
+
# Or without clone — run installer from GitHub:
|
|
17
|
+
npx --yes github:topmindspace/topmind-skills install -g
|
|
18
|
+
|
|
19
|
+
# 3) From GitHub Release (pinned version / offline)
|
|
20
|
+
node bin/install-skills.mjs add release:latest -g
|
|
21
|
+
# or after downloading topmind-skills-<ver>.zip:
|
|
22
|
+
# node bin/install-skills.mjs add ./unpacked --dest $HOME/.claude/skills
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Version and manifest truth:** [`topmind-pack.json`](./topmind-pack.json) (`npm run versions`).
|
|
26
|
+
Each `SKILL.md` `version` **must** equal the pack version.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Layout
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
topmind-skills/ # pack root = repo root
|
|
34
|
+
├── topmind/ # only daily entry (router)
|
|
35
|
+
├── topmind-capture|organize|write|memory|maintain|loop/
|
|
36
|
+
├── topmind-weread|x/ # optional connectors
|
|
37
|
+
├── topmind-ledger/ # optional bookkeeping (memory-plane ledgers)
|
|
38
|
+
├── topmind-wechat/ # optional WeChat write sub-skill (not a peer entry)
|
|
39
|
+
├── shared/ # write receipts · degradation · capture …
|
|
40
|
+
├── install-targets/ # host install shapes
|
|
41
|
+
├── evals/evals.json
|
|
42
|
+
├── bin/install-skills.mjs # pack-aware installer (shared/ aware)
|
|
43
|
+
├── scripts/build-pack.mjs
|
|
44
|
+
└── topmind-pack.json # version truth
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
| Kind | Modules |
|
|
48
|
+
|------|---------|
|
|
49
|
+
| **Entry** | `topmind` only |
|
|
50
|
+
| **Actions** | capture · organize · write · memory · maintain · loop |
|
|
51
|
+
| **Connectors** | weread · x (optional) |
|
|
52
|
+
| **Optional** | wechat (公众号 write 子技能) · ledger (记账 · memory-plane books) |
|
|
53
|
+
|
|
54
|
+
> Sub-skill trigger words exist for host routing. They are **not** a second product front door.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Product contract
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
User experience: capture-first
|
|
62
|
+
Data organization: category-first + topic-emerges
|
|
63
|
+
Content truth: topmind-workspace/categories-and-topics
|
|
64
|
+
Capability model: action-first
|
|
65
|
+
Save settings: auto | confirm
|
|
66
|
+
Safety model: reversible by default
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Expose only `topmind` as the daily entry. Host session state must not become topmind content truth.
|
|
70
|
+
**Desktop is not required** for this pack. **UTR is optional** — use host file tools when UTR is absent.
|
|
71
|
+
|
|
72
|
+
Workflow: `收进来 -> 继续做 -> 交付/沉淀 -> 找回/调整`
|
|
73
|
+
(If the user says “capture this”, “note it”, “organize”, “write it up”, or “run a loop”, the router infers category / topic / action.)
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## SKILL.md frontmatter
|
|
78
|
+
|
|
79
|
+
```yaml
|
|
80
|
+
---
|
|
81
|
+
name: <kebab-case-id> # required; matches directory name
|
|
82
|
+
version: <pack.version> # required; = topmind-pack.json version
|
|
83
|
+
description: >- # required; Use when + Do not use
|
|
84
|
+
…
|
|
85
|
+
action_category: capture # skill taxonomy (not user note category)
|
|
86
|
+
triggers: [...]
|
|
87
|
+
entrypoint: false # only topmind router is true
|
|
88
|
+
author: TopMindSpace
|
|
89
|
+
license: MIT
|
|
90
|
+
homepage: https://github.com/topmindspace/topmind-skills
|
|
91
|
+
degradation: ../shared/capability-degradation.md
|
|
92
|
+
---
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Enforced by `skills/tests/package-manifest.test.mjs`. One pack JSON; no per-skill second manifest. Full schema: [`../SKILL-ARCHITECTURE.md`](../SKILL-ARCHITECTURE.md).
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Workspace contract
|
|
100
|
+
|
|
101
|
+
```text
|
|
102
|
+
{workspace-root}/
|
|
103
|
+
├── topmind.yaml # contract v4
|
|
104
|
+
├── memory/ # profile.md · periodic/ · topics/ · todo.md · optional ledgers/
|
|
105
|
+
├── .topmind/ # rebuildable machine state
|
|
106
|
+
├── 00-Inbox/ # role: buffer (live dir name)
|
|
107
|
+
├── 10-Stream/ … # categories (template-driven)
|
|
108
|
+
├── 88-Delivery/ or 88-交付/ # role: delivery
|
|
109
|
+
└── 99-Archive/ or 99-归档/ # role: system
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Topic:
|
|
113
|
+
|
|
114
|
+
```text
|
|
115
|
+
{category}/{YYYY-theme}/
|
|
116
|
+
├── topic.md # optional
|
|
117
|
+
├── *.md # notes at topic root
|
|
118
|
+
└── images/ # optional
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Loose note: `{category}/{note}.md` when no topic yet.
|
|
122
|
+
|
|
123
|
+
**Do not create (deprecated):** default `outline.md` / `setting.md` / `style.md`; `project_type` frontmatter; nested topic `notes/` or `outputs/`; top-level `projects/`; `YYYY-类型-项目名` naming.
|
|
124
|
+
|
|
125
|
+
**Categories:** discover `{NN-Name}/` at runtime + `topmind.yaml` v4 (`categories.extensions` / `categories.overrides` with `hidden`). Shared resolver: engine `lib/workspace-model.mjs`. Prefer role-based routing over hardcoded `10-`/`20-` numbers.
|
|
126
|
+
|
|
127
|
+
Do not hardcode absolute paths — infer `workspace_root` from the host or ask.
|
|
128
|
+
|
|
129
|
+
### 6 条核心规约
|
|
130
|
+
|
|
131
|
+
1. **大类不重叠**
|
|
132
|
+
2. **专题自然涌现**
|
|
133
|
+
3. **动态类特殊**(默认平铺)
|
|
134
|
+
4. **兜底类清理**(约 30 天)
|
|
135
|
+
5. **参考资料定位**
|
|
136
|
+
6. **大类命名稳定**(rename via migration)
|
|
137
|
+
|
|
138
|
+
Full rules: [`../PROJECT-MODEL.md`](../PROJECT-MODEL.md) §3.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Rules (skills behavior)
|
|
143
|
+
|
|
144
|
+
- Capture first; don’t block simple saves on perfect classification
|
|
145
|
+
- Auto-route when signal is strong; otherwise **role:buffer** (live inbox dir, not hardcoded-only `00-Inbox/`)
|
|
146
|
+
- Loose notes at category root when topic is unclear
|
|
147
|
+
- Every write returns a receipt (path, route reason when available, next step)
|
|
148
|
+
- `source_type`: `user-original` | `external-capture` | `ai-derived`
|
|
149
|
+
- UTR is optional — host file tools preserve the same contract
|
|
150
|
+
- Save settings protocol: `writeback_mode: auto | confirm`
|
|
151
|
+
- Locked/final files → revision copy (`文章 - 修订版.md`), not in-place auto-edit
|
|
152
|
+
- Desktop is not required for this pack
|
|
153
|
+
- **Compound discipline (no structure change):** organize leaves synthesis on disk; write reads optional `topic.md` first; memory only on explicit confirm; capture never edits `topic.md`; **no** hard `INDEX.md` / parallel wiki trees (see `shared/project-model-brief.md`)
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Install targets
|
|
158
|
+
|
|
159
|
+
Packaged skill directories (7 core + 2 optional connectors + optional ledger + optional wechat sub-skill) can be symlinked/copied into Claude Code, Codex, OpenCode, Hermes, and similar hosts.
|
|
160
|
+
Prefer the pack-aware installer so `shared/` and `topmind-pack.json` stay intact — see [`INSTALL.md`](./INSTALL.md).
|
|
161
|
+
|
|
162
|
+
Host adapters must **not** change content truth, add parallel daily entries, or store content in agent runtime state. See [`../PRODUCT-BOUNDARIES.md`](../PRODUCT-BOUNDARIES.md).
|
package/README.md
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# topmind Skills
|
|
2
|
+
|
|
3
|
+
可移植 AI 技能包:在 Claude Code / Codex / OpenCode / Hermes 等 Host 上使用同一套内容约定。
|
|
4
|
+
|
|
5
|
+
[简体中文](README.md) · [English](README.en.md) · [产品总览](https://github.com/topmindspace/topmind) · [安装与发布](./INSTALL.md) · [发布到 skills.sh](./INSTALL.md#publishing-to-skillssh--open-agent-skills-registry)
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# 1) 社区 CLI(快速试用;可能不含 shared/)
|
|
9
|
+
npx skills add topmindspace/topmind-skills -g -y
|
|
10
|
+
|
|
11
|
+
# 2) Pack-aware 安装器(推荐生产 · 含 shared/ · 可写回执)
|
|
12
|
+
# 在 topmind-skills 仓内:
|
|
13
|
+
npm run install -- add topmindspace/topmind-skills -g
|
|
14
|
+
npm run update -- --dest $HOME/.claude/skills
|
|
15
|
+
|
|
16
|
+
# 或不 clone,直接用 npx 跑 GitHub 上的安装器:
|
|
17
|
+
npx --yes github:topmindspace/topmind-skills install -g
|
|
18
|
+
|
|
19
|
+
# 3) 从 GitHub Release 装(离线/固定版本)
|
|
20
|
+
node bin/install-skills.mjs add release:latest -g
|
|
21
|
+
# 或下载 topmind-skills-<ver>.zip 后:
|
|
22
|
+
# node bin/install-skills.mjs add ./unpacked --dest $HOME/.claude/skills
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**版本与清单真源:** [`topmind-pack.json`](./topmind-pack.json)(`npm run versions`)。
|
|
26
|
+
各 `SKILL.md` 的 `version` **必须**等于 pack 版本。
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 结构
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
topmind-skills/ # pack 根 = 仓库根
|
|
34
|
+
├── topmind/ # 唯一日常入口(router)
|
|
35
|
+
├── topmind-capture|organize|write|memory|maintain|loop/
|
|
36
|
+
├── topmind-weread|x/ # 可选连接器
|
|
37
|
+
├── topmind-ledger/ # 可选记账(记忆平面账本)
|
|
38
|
+
├── topmind-wechat/ # 可选公众号 write 子技能(不是并列入口)
|
|
39
|
+
├── shared/ # 写回回执 · 降级 · 捕获 …
|
|
40
|
+
├── install-targets/ # Host 安装形状
|
|
41
|
+
├── evals/evals.json
|
|
42
|
+
├── bin/install-skills.mjs # pack-aware 安装器(含 shared/)
|
|
43
|
+
├── scripts/build-pack.mjs
|
|
44
|
+
└── topmind-pack.json # 版本真源
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
| 类型 | 模块 |
|
|
48
|
+
|------|------|
|
|
49
|
+
| **入口** | `topmind` only |
|
|
50
|
+
| **动作** | capture · organize · write · memory · maintain · loop |
|
|
51
|
+
| **连接器** | weread · x(可选) |
|
|
52
|
+
| **可选** | wechat(公众号 write 子技能)· ledger(记账 · 记忆平面账本) |
|
|
53
|
+
|
|
54
|
+
> 子 skill 触发词只服务 Host 路由,**不是**第二前台入口。
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 产品契约
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
User experience: capture-first
|
|
62
|
+
Data organization: category-first + topic-emerges
|
|
63
|
+
Content truth: topmind-workspace/categories-and-topics
|
|
64
|
+
Capability model: action-first
|
|
65
|
+
Save settings: auto | confirm
|
|
66
|
+
Safety model: reversible by default
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
日常入口只暴露 `topmind`。Host 会话状态不得成为 topmind 内容真源。
|
|
70
|
+
本 pack **不要求 Desktop**。**UTR 可选** — 没有 UTR 时用 Host 文件工具。
|
|
71
|
+
|
|
72
|
+
工作流:`收进来 -> 继续做 -> 交付/沉淀 -> 找回/调整`
|
|
73
|
+
(用户说「收一下」「记一下」「整理」「写成稿」「跑一遍 loop」— router 推断类别 / 专题 / 动作。)
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## SKILL.md frontmatter
|
|
78
|
+
|
|
79
|
+
```yaml
|
|
80
|
+
---
|
|
81
|
+
name: <kebab-case-id> # required; matches directory name
|
|
82
|
+
version: <pack.version> # required; = topmind-pack.json version
|
|
83
|
+
description: >- # required; Use when + Do not use
|
|
84
|
+
…
|
|
85
|
+
action_category: capture # skill taxonomy (not user note category)
|
|
86
|
+
triggers: [...]
|
|
87
|
+
entrypoint: false # only topmind router is true
|
|
88
|
+
author: TopMindSpace
|
|
89
|
+
license: MIT
|
|
90
|
+
homepage: https://github.com/topmindspace/topmind-skills
|
|
91
|
+
degradation: ../shared/capability-degradation.md
|
|
92
|
+
---
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
由 `skills/tests/package-manifest.test.mjs` 强制校验。一个 pack JSON,无 per-skill 第二清单。完整 schema:[`../SKILL-ARCHITECTURE.md`](../SKILL-ARCHITECTURE.md)。
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 工作区契约
|
|
100
|
+
|
|
101
|
+
```text
|
|
102
|
+
{workspace-root}/
|
|
103
|
+
├── topmind.yaml # contract v4
|
|
104
|
+
├── memory/ # profile.md · periodic/ · topics/ · todo.md · 可选 ledgers/
|
|
105
|
+
├── .topmind/ # rebuildable machine state
|
|
106
|
+
├── 00-Inbox/ # role: buffer (live dir name)
|
|
107
|
+
├── 10-动态/ … # categories (template-driven)
|
|
108
|
+
├── 88-交付/ or 88-Delivery/ # role: delivery
|
|
109
|
+
└── 99-归档/ or 99-Archive/ # role: system
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
专题:
|
|
113
|
+
|
|
114
|
+
```text
|
|
115
|
+
{category}/{YYYY-theme}/
|
|
116
|
+
├── topic.md # optional
|
|
117
|
+
├── *.md # notes at topic root
|
|
118
|
+
└── images/ # optional
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
尚无专题时,散篇放在 `{category}/{note}.md`。
|
|
122
|
+
|
|
123
|
+
**不要创建(已废弃):** 默认 `outline.md` / `setting.md` / `style.md`;`project_type` frontmatter;专题内嵌套 `notes/` 或 `outputs/`;顶层 `projects/`;`YYYY-类型-项目名` 命名。
|
|
124
|
+
|
|
125
|
+
**类别:** 运行时发现 `{NN-Name}/` + `topmind.yaml` v4(`categories.extensions` / `categories.overrides` 含 `hidden`)。共享解析器:引擎 `lib/workspace-model.mjs`。优先按角色路由,不要写死 `10-` / `20-` 编号。
|
|
126
|
+
|
|
127
|
+
不要硬编码绝对路径 — 从 Host 推断 `workspace_root`,或向用户询问。
|
|
128
|
+
|
|
129
|
+
### 6 条核心规约
|
|
130
|
+
|
|
131
|
+
1. **大类不重叠**
|
|
132
|
+
2. **专题自然涌现**
|
|
133
|
+
3. **动态类特殊**(默认平铺)
|
|
134
|
+
4. **兜底类清理**(约 30 天)
|
|
135
|
+
5. **参考资料定位**
|
|
136
|
+
6. **大类命名稳定**(rename via migration)
|
|
137
|
+
|
|
138
|
+
完整规则:[`../PROJECT-MODEL.md`](../PROJECT-MODEL.md) §3。
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 行为规则
|
|
143
|
+
|
|
144
|
+
- 先捕获;不要因为分类不完美而挡住简单保存
|
|
145
|
+
- 信号足够强时自动路由;否则走 **role:buffer**(现场 Inbox 目录,不要只写死 `00-Inbox/`)
|
|
146
|
+
- 专题不清时,散篇放在大类根
|
|
147
|
+
- 每次写入返回回执(路径、路由原因、下一步)
|
|
148
|
+
- `source_type`: `user-original` | `external-capture` | `ai-derived`
|
|
149
|
+
- UTR 可选 — Host 文件工具遵守同一契约
|
|
150
|
+
- 保存设置协议:`writeback_mode: auto | confirm`
|
|
151
|
+
- 锁定/定稿文件 → 修订副本(`文章 - 修订版.md`),不要原地自动改
|
|
152
|
+
- 本 pack 不要求 Desktop
|
|
153
|
+
- **复合纪律(不改结构):** organize 把综合写回磁盘;write 先读可选 `topic.md`;memory 仅在明确确认后写;capture 从不改 `topic.md`;**不要**硬造 `INDEX.md` / 平行 wiki 树(见 `shared/project-model-brief.md`)
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 安装目标
|
|
158
|
+
|
|
159
|
+
已打包的 skill 目录(7 个核心 + 2 个可选连接器 + 可选记账)可以符号链接或复制到 Claude Code、Codex、OpenCode、Hermes 等。
|
|
160
|
+
优先使用 pack-aware 安装器,保证 `shared/` 与 `topmind-pack.json` 完整 — 见 [`INSTALL.md`](./INSTALL.md)。
|
|
161
|
+
|
|
162
|
+
Host 适配器**不得**改变内容真源、新增并列日常入口,或把内容存进 agent 运行态。见 [`../PRODUCT-BOUNDARIES.md`](../PRODUCT-BOUNDARIES.md)。
|