@topmindspace/topmind-skills 4.13.2 → 4.13.4
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 +94 -51
- package/README.en.md +12 -6
- package/README.md +15 -9
- package/bin/install-skills.mjs +446 -51
- package/evals/evals.json +5 -5
- package/install-targets/claude-code.json +9 -5
- package/install-targets/codex.json +9 -5
- package/install-targets/hermes.json +9 -5
- package/install-targets/mimocode.json +59 -0
- package/install-targets/opencode.json +9 -5
- package/install-targets/universal.json +58 -0
- package/integrations/codex/README.md +4 -4
- package/integrations/hermes/README.md +4 -4
- package/integrations/opencode/README.md +3 -3
- package/integrations/opencode/plugins/topmind-plugin.ts +1 -1
- package/integrations/opencode/tests/opencode-config-shape.test.mjs +3 -1
- package/package.json +5 -2
- package/shared/document-ingest.md +1 -1
- package/shared/host-loading.md +7 -7
- package/topmind/SKILL.md +1 -1
- package/topmind-capture/SKILL.md +1 -1
- package/topmind-ledger/SKILL.md +1 -1
- package/topmind-loop/SKILL.md +1 -1
- package/topmind-maintain/SKILL.md +1 -1
- package/topmind-memory/SKILL.md +1 -1
- package/topmind-organize/SKILL.md +1 -1
- package/topmind-pack.json +14 -6
- package/topmind-wechat/DESIGN.md +1 -1
- package/topmind-wechat/SKILL.md +1 -1
- package/topmind-wechat/references/workflow.md +9 -9
- package/topmind-weread/SKILL.md +1 -1
- package/topmind-write/SKILL.md +1 -1
- package/topmind-x/SKILL.md +1 -1
package/evals/evals.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"skill_name": "topmind",
|
|
3
3
|
"daily_entry": "topmind",
|
|
4
|
-
"version": "4.13.
|
|
4
|
+
"version": "4.13.4",
|
|
5
5
|
"evals": [
|
|
6
6
|
{
|
|
7
7
|
"id": 1,
|
|
@@ -112,28 +112,28 @@
|
|
|
112
112
|
"prompt": "跑一遍 topmind-loop,做整体巡检。",
|
|
113
113
|
"primary_skill": "topmind-loop",
|
|
114
114
|
"extra_skills": [],
|
|
115
|
-
"expected_output": "Routes through topmind-loop (independent skill, not a maintain sub-action), walks all topics/inbox/archive scopes, applies well-defined fixes via UTR commands, writes decisions to .loop/topics.md, and flags architecture drift signals."
|
|
115
|
+
"expected_output": "Routes through topmind-loop (independent skill, not a maintain sub-action), walks all topics/inbox/archive scopes, applies well-defined fixes via UTR commands, writes decisions to .topmind/loop/topics.md, and flags architecture drift signals."
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
118
|
"id": 16,
|
|
119
119
|
"prompt": "继续 loop,从上次断点恢复。",
|
|
120
120
|
"primary_skill": "topmind-loop",
|
|
121
121
|
"extra_skills": [],
|
|
122
|
-
"expected_output": "Routes through topmind-loop, reads cursor from .loop/{scope}.md state files, resumes walk at the cursor item, updates done/total and cursor after each item, and appends new decisions."
|
|
122
|
+
"expected_output": "Routes through topmind-loop, reads cursor from .topmind/loop/{scope}.md state files, resumes walk at the cursor item, updates done/total and cursor after each item, and appends new decisions."
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
125
|
"id": 17,
|
|
126
126
|
"prompt": "loop 一下 20-研究 大类下的所有专题。",
|
|
127
127
|
"primary_skill": "topmind-loop",
|
|
128
128
|
"extra_skills": [],
|
|
129
|
-
"expected_output": "Routes through topmind-loop with scoped walk (only 20-研究 category topics), writes scoped progress to .loop/topics.md, applies UTR fixes for well-defined issues, escalates ambiguous decisions to Errors/Blockers."
|
|
129
|
+
"expected_output": "Routes through topmind-loop with scoped walk (only 20-研究 category topics), writes scoped progress to .topmind/loop/topics.md, applies UTR fixes for well-defined issues, escalates ambiguous decisions to Errors/Blockers."
|
|
130
130
|
},
|
|
131
131
|
{
|
|
132
132
|
"id": 18,
|
|
133
133
|
"prompt": "[schema validation] Verify all SKILL.md files have required frontmatter fields: name, version, description, action_category, triggers. Verify action_category values are within the enum. Verify name matches directory name in kebab-case.",
|
|
134
134
|
"primary_skill": "topmind-maintain",
|
|
135
135
|
"extra_skills": [],
|
|
136
|
-
"expected_output": "Validates frontmatter schema across all SKILL.md files (
|
|
136
|
+
"expected_output": "Validates frontmatter schema across all SKILL.md files (11 total: 7 core + 2 connector + optional ledger + optional wechat). Reports any missing required fields, invalid action_category values, or name/directory mismatches."
|
|
137
137
|
},
|
|
138
138
|
{
|
|
139
139
|
"id": 19,
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"skills",
|
|
31
31
|
"mcp"
|
|
32
32
|
],
|
|
33
|
-
"content_truth": "topmind-workspace
|
|
33
|
+
"content_truth": "topmind-workspace",
|
|
34
34
|
"host_must_not": [
|
|
35
35
|
"change-content-truth",
|
|
36
36
|
"add-daily-entrypoints",
|
|
@@ -51,12 +51,16 @@
|
|
|
51
51
|
"Single daily user entry remains topmind. Sub-skill descriptions are discovery aids — not parallel products. Keep Action Map + trigger-disambiguation contract.",
|
|
52
52
|
"MCP integration is optional — enable topmind-mcp if the user wants deterministic UTR commands surfaced as tools.",
|
|
53
53
|
"Categories use NN-Name spaced number prefix (dynamic discovery); topics use YYYY-主题 kebab-case; do not introduce YYYY-类型-项目名.",
|
|
54
|
-
"Claude Code is case-insensitive on macOS / Windows by default — the canonical lowercase `skills.md` covers both `skills.md` and `SKILLS.md` lookups."
|
|
54
|
+
"Claude Code is case-insensitive on macOS / Windows by default — the canonical lowercase `skills.md` covers both `skills.md` and `SKILLS.md` lookups.",
|
|
55
|
+
"Install model: canonical <base>/.agents/skills holds the pack; this host gets relative symlinks (or --copy). Universal agents that read .agents/skills need no private links at project scope."
|
|
55
56
|
],
|
|
56
57
|
"install": {
|
|
57
58
|
"script": "bin/install-skills.mjs",
|
|
58
|
-
"docs": "
|
|
59
|
-
"
|
|
60
|
-
"
|
|
59
|
+
"docs": "INSTALL.md",
|
|
60
|
+
"model": "canonical-.agents-skills + agent-link",
|
|
61
|
+
"matrix": "node bin/install-skills.mjs add topmindspace/topmind-skills -g -a claude-code",
|
|
62
|
+
"from_git": "node bin/install-skills.mjs add topmindspace/topmind-skills -g -a claude-code",
|
|
63
|
+
"from_release": "node bin/install-skills.mjs add release:latest -g -a claude-code",
|
|
64
|
+
"single_dir": "node bin/install-skills.mjs add topmindspace/topmind-skills --dest <host-skills-root>"
|
|
61
65
|
}
|
|
62
66
|
}
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"cli",
|
|
32
32
|
"mcp"
|
|
33
33
|
],
|
|
34
|
-
"content_truth": "topmind-workspace
|
|
34
|
+
"content_truth": "topmind-workspace",
|
|
35
35
|
"host_must_not": [
|
|
36
36
|
"change-content-truth",
|
|
37
37
|
"add-daily-entrypoints",
|
|
@@ -49,12 +49,16 @@
|
|
|
49
49
|
"Codex should expose only topmind as the daily entry.",
|
|
50
50
|
"Action subskills remain internal routing modules.",
|
|
51
51
|
"Categories use 10-60/88/99 spaced number prefix (dynamic discovery); topics use YYYY-主题 kebab-case; do not introduce YYYY-类型-项目名.",
|
|
52
|
-
"v4.3 progressive disclosure: name+description discovery; SKILL.md on activation; shared/ and references/ on demand. Single daily entry topmind."
|
|
52
|
+
"v4.3 progressive disclosure: name+description discovery; SKILL.md on activation; shared/ and references/ on demand. Single daily entry topmind.",
|
|
53
|
+
"Install model: canonical <base>/.agents/skills holds the pack; this host gets relative symlinks (or --copy). Universal agents that read .agents/skills need no private links at project scope."
|
|
53
54
|
],
|
|
54
55
|
"install": {
|
|
55
56
|
"script": "bin/install-skills.mjs",
|
|
56
|
-
"docs": "
|
|
57
|
-
"
|
|
58
|
-
"
|
|
57
|
+
"docs": "INSTALL.md",
|
|
58
|
+
"model": "canonical-.agents-skills + agent-link",
|
|
59
|
+
"matrix": "node bin/install-skills.mjs add topmindspace/topmind-skills -g -a codex",
|
|
60
|
+
"from_git": "node bin/install-skills.mjs add topmindspace/topmind-skills -g -a codex",
|
|
61
|
+
"from_release": "node bin/install-skills.mjs add release:latest -g -a codex",
|
|
62
|
+
"single_dir": "node bin/install-skills.mjs add topmindspace/topmind-skills --dest <host-skills-root>"
|
|
59
63
|
}
|
|
60
64
|
}
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"cli",
|
|
32
32
|
"mcp"
|
|
33
33
|
],
|
|
34
|
-
"content_truth": "topmind-workspace
|
|
34
|
+
"content_truth": "topmind-workspace",
|
|
35
35
|
"host_must_not": [
|
|
36
36
|
"change-content-truth",
|
|
37
37
|
"add-daily-entrypoints",
|
|
@@ -49,12 +49,16 @@
|
|
|
49
49
|
"Keep topmind skills as portable Markdown bundles.",
|
|
50
50
|
"Hermes may call UTR through CLI or MCP, but the skill pack must still work with host file tools.",
|
|
51
51
|
"Categories use 10-60/88/99 spaced number prefix (dynamic discovery); topics use YYYY-主题 kebab-case; do not introduce YYYY-类型-项目名.",
|
|
52
|
-
"v4.3 progressive disclosure: name+description discovery; SKILL.md on activation; shared/ and references/ on demand. Single daily entry topmind."
|
|
52
|
+
"v4.3 progressive disclosure: name+description discovery; SKILL.md on activation; shared/ and references/ on demand. Single daily entry topmind.",
|
|
53
|
+
"Install model: canonical <base>/.agents/skills holds the pack; this host gets relative symlinks (or --copy). Universal agents that read .agents/skills need no private links at project scope."
|
|
53
54
|
],
|
|
54
55
|
"install": {
|
|
55
56
|
"script": "bin/install-skills.mjs",
|
|
56
|
-
"docs": "
|
|
57
|
-
"
|
|
58
|
-
"
|
|
57
|
+
"docs": "INSTALL.md",
|
|
58
|
+
"model": "canonical-.agents-skills + agent-link",
|
|
59
|
+
"matrix": "node bin/install-skills.mjs add topmindspace/topmind-skills -g -a hermes",
|
|
60
|
+
"from_git": "node bin/install-skills.mjs add topmindspace/topmind-skills -g -a hermes",
|
|
61
|
+
"from_release": "node bin/install-skills.mjs add release:latest -g -a hermes",
|
|
62
|
+
"single_dir": "node bin/install-skills.mjs add topmindspace/topmind-skills --dest <host-skills-root>"
|
|
59
63
|
}
|
|
60
64
|
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"package": "topmind",
|
|
4
|
+
"target": "mimocode",
|
|
5
|
+
"daily_entry": "topmind",
|
|
6
|
+
"metadata": {
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"authors": [
|
|
9
|
+
"TopMindSpace"
|
|
10
|
+
],
|
|
11
|
+
"repository": "https://github.com/topmindspace/topmind-skills",
|
|
12
|
+
"homepage": "https://github.com/topmindspace/topmind-skills#readme"
|
|
13
|
+
},
|
|
14
|
+
"skills": [
|
|
15
|
+
"topmind",
|
|
16
|
+
"topmind-capture",
|
|
17
|
+
"topmind-organize",
|
|
18
|
+
"topmind-write",
|
|
19
|
+
"topmind-memory",
|
|
20
|
+
"topmind-maintain",
|
|
21
|
+
"topmind-loop",
|
|
22
|
+
"topmind-weread",
|
|
23
|
+
"topmind-x",
|
|
24
|
+
"topmind-ledger",
|
|
25
|
+
"topmind-wechat"
|
|
26
|
+
],
|
|
27
|
+
"install_strategy": "symlink-or-copy",
|
|
28
|
+
"target_root_hint": "mimocode-skills-root",
|
|
29
|
+
"capabilities": [
|
|
30
|
+
"skills"
|
|
31
|
+
],
|
|
32
|
+
"content_truth": "topmind-workspace",
|
|
33
|
+
"host_must_not": [
|
|
34
|
+
"change-content-truth",
|
|
35
|
+
"add-daily-entrypoints",
|
|
36
|
+
"fork-skill-semantics",
|
|
37
|
+
"persist-content-in-agent-state",
|
|
38
|
+
"introduce-legacy-project-naming",
|
|
39
|
+
"introduce-project_type-field"
|
|
40
|
+
],
|
|
41
|
+
"config_shape": {
|
|
42
|
+
"skills_root": "host-provided",
|
|
43
|
+
"workspace_root": "host-provided"
|
|
44
|
+
},
|
|
45
|
+
"notes": [
|
|
46
|
+
"MiMoCode / MiMo Desktop: project root .mimocode/skills, global root <mimocode-global-skills>.",
|
|
47
|
+
"Brand root <agents-skills> may also be scanned — canonical install already covers it.",
|
|
48
|
+
"Single daily entry topmind. v4.3 progressive disclosure."
|
|
49
|
+
],
|
|
50
|
+
"install": {
|
|
51
|
+
"script": "bin/install-skills.mjs",
|
|
52
|
+
"docs": "INSTALL.md",
|
|
53
|
+
"model": "canonical-.agents-skills + agent-link",
|
|
54
|
+
"matrix": "node bin/install-skills.mjs add topmindspace/topmind-skills -g -a mimocode",
|
|
55
|
+
"from_git": "node bin/install-skills.mjs add topmindspace/topmind-skills -g -a mimocode",
|
|
56
|
+
"from_release": "node bin/install-skills.mjs add release:latest -g -a mimocode",
|
|
57
|
+
"single_dir": "node bin/install-skills.mjs add topmindspace/topmind-skills --dest <mimocode-global-skills>"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"commands",
|
|
33
33
|
"plugin"
|
|
34
34
|
],
|
|
35
|
-
"content_truth": "topmind-workspace
|
|
35
|
+
"content_truth": "topmind-workspace",
|
|
36
36
|
"host_must_not": [
|
|
37
37
|
"change-content-truth",
|
|
38
38
|
"add-daily-entrypoints",
|
|
@@ -52,12 +52,16 @@
|
|
|
52
52
|
"Use the host tool's discovered OpenCode config root.",
|
|
53
53
|
"Expose the skill pack first; add MCP and plugin adapters only when the host environment enables them.",
|
|
54
54
|
"Categories use 10-60/88/99 spaced number prefix (dynamic discovery); topics use YYYY-主题 kebab-case; do not introduce YYYY-类型-项目名.",
|
|
55
|
-
"v4.3 progressive disclosure: name+description discovery; SKILL.md on activation; shared/ and references/ on demand. Single daily entry topmind."
|
|
55
|
+
"v4.3 progressive disclosure: name+description discovery; SKILL.md on activation; shared/ and references/ on demand. Single daily entry topmind.",
|
|
56
|
+
"Install model: canonical <base>/.agents/skills holds the pack; this host gets relative symlinks (or --copy). Universal agents that read .agents/skills need no private links at project scope."
|
|
56
57
|
],
|
|
57
58
|
"install": {
|
|
58
59
|
"script": "bin/install-skills.mjs",
|
|
59
|
-
"docs": "
|
|
60
|
-
"
|
|
61
|
-
"
|
|
60
|
+
"docs": "INSTALL.md",
|
|
61
|
+
"model": "canonical-.agents-skills + agent-link",
|
|
62
|
+
"matrix": "node bin/install-skills.mjs add topmindspace/topmind-skills -g -a opencode",
|
|
63
|
+
"from_git": "node bin/install-skills.mjs add topmindspace/topmind-skills -g -a opencode",
|
|
64
|
+
"from_release": "node bin/install-skills.mjs add release:latest -g -a opencode",
|
|
65
|
+
"single_dir": "node bin/install-skills.mjs add topmindspace/topmind-skills --dest <host-skills-root>"
|
|
62
66
|
}
|
|
63
67
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"package": "topmind",
|
|
4
|
+
"target": "universal",
|
|
5
|
+
"daily_entry": "topmind",
|
|
6
|
+
"metadata": {
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"authors": [
|
|
9
|
+
"TopMindSpace"
|
|
10
|
+
],
|
|
11
|
+
"repository": "https://github.com/topmindspace/topmind-skills",
|
|
12
|
+
"homepage": "https://github.com/topmindspace/topmind-skills#readme"
|
|
13
|
+
},
|
|
14
|
+
"skills": [
|
|
15
|
+
"topmind",
|
|
16
|
+
"topmind-capture",
|
|
17
|
+
"topmind-organize",
|
|
18
|
+
"topmind-write",
|
|
19
|
+
"topmind-memory",
|
|
20
|
+
"topmind-maintain",
|
|
21
|
+
"topmind-loop",
|
|
22
|
+
"topmind-weread",
|
|
23
|
+
"topmind-x",
|
|
24
|
+
"topmind-ledger",
|
|
25
|
+
"topmind-wechat"
|
|
26
|
+
],
|
|
27
|
+
"install_strategy": "canonical-copy",
|
|
28
|
+
"target_root_hint": "agents-skills-root",
|
|
29
|
+
"capabilities": [
|
|
30
|
+
"skills"
|
|
31
|
+
],
|
|
32
|
+
"content_truth": "topmind-workspace",
|
|
33
|
+
"host_must_not": [
|
|
34
|
+
"change-content-truth",
|
|
35
|
+
"add-daily-entrypoints",
|
|
36
|
+
"fork-skill-semantics",
|
|
37
|
+
"persist-content-in-agent-state",
|
|
38
|
+
"introduce-legacy-project-naming",
|
|
39
|
+
"introduce-project_type-field"
|
|
40
|
+
],
|
|
41
|
+
"config_shape": {
|
|
42
|
+
"skills_root": ".agents/skills"
|
|
43
|
+
},
|
|
44
|
+
"notes": [
|
|
45
|
+
"Open standard root: project ./.agents/skills, global <agents-skills>.",
|
|
46
|
+
"Agents whose project skillsDir is .agents/skills (Codex, Cursor, Gemini CLI, Warp, Zed, …) read this directly.",
|
|
47
|
+
"This is the canonical pack body. Private hosts symlink into it."
|
|
48
|
+
],
|
|
49
|
+
"install": {
|
|
50
|
+
"script": "bin/install-skills.mjs",
|
|
51
|
+
"docs": "INSTALL.md",
|
|
52
|
+
"model": "canonical-.agents-skills",
|
|
53
|
+
"matrix": "node bin/install-skills.mjs add topmindspace/topmind-skills -g -a universal",
|
|
54
|
+
"from_git": "node bin/install-skills.mjs add topmindspace/topmind-skills -g -a universal",
|
|
55
|
+
"from_release": "node bin/install-skills.mjs add release:latest -g -a universal",
|
|
56
|
+
"single_dir": "node bin/install-skills.mjs add topmindspace/topmind-skills --dest <agents-skills>"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
# topmind · Codex Integration
|
|
2
2
|
|
|
3
|
-
[简体中文](../../README.md) · [English](../../README.en.md) · [Skills install](../../
|
|
3
|
+
[简体中文](../../README.md) · [English](../../README.en.md) · [Skills install](../../INSTALL.md)
|
|
4
4
|
|
|
5
5
|
Codex consumes topmind through the same portable skill pack as other hosts.
|
|
6
6
|
|
|
7
7
|
## Recommended route
|
|
8
8
|
|
|
9
|
-
1. Install or symlink the skills declared in `
|
|
9
|
+
1. Install or symlink the skills declared in `topmind-pack.json`.
|
|
10
10
|
2. **Expose only `topmind`** as the daily user-facing entry; sub-skills are internal.
|
|
11
11
|
3. Use `topmind-cli` or MCP when available; **UTR is optional** — otherwise host file tools with the same filesystem contract.
|
|
12
|
-
4. Keep all user data under `topmind-workspace
|
|
12
|
+
4. Keep all user data under `topmind-workspace`. Codex session state must not become topmind content truth.
|
|
13
13
|
|
|
14
14
|
## Portable contract
|
|
15
15
|
|
|
16
|
-
- Content truth is `topmind-workspace
|
|
16
|
+
- Content truth is `topmind-workspace`.
|
|
17
17
|
- Daily entry is `topmind`; no parallel daily entrypoints.
|
|
18
18
|
- **Desktop is not required** for the skill pack.
|
|
19
19
|
- Naming and frontmatter follow `PROJECT-MODEL.md` / `TOOLS.md`.
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
# topmind · Hermes Integration
|
|
2
2
|
|
|
3
|
-
[简体中文](../../README.md) · [English](../../README.en.md) · [Skills install](../../
|
|
3
|
+
[简体中文](../../README.md) · [English](../../README.en.md) · [Skills install](../../INSTALL.md)
|
|
4
4
|
|
|
5
5
|
Hermes consumes topmind as a portable skill pack, not a second workspace model.
|
|
6
6
|
|
|
7
7
|
## Recommended route
|
|
8
8
|
|
|
9
|
-
1. Install or symlink the skills declared in `
|
|
9
|
+
1. Install or symlink the skills declared in `topmind-pack.json`.
|
|
10
10
|
2. **Expose only `topmind`** as the daily entry; sub-skills route internally.
|
|
11
11
|
3. **UTR is optional** — use CLI/MCP when available; otherwise host file tools with the same filesystem contract.
|
|
12
|
-
4. Keep user data under `topmind-workspace
|
|
12
|
+
4. Keep user data under `topmind-workspace`. Hermes-specific state must not become topmind content truth.
|
|
13
13
|
|
|
14
14
|
## Portable contract
|
|
15
15
|
|
|
16
|
-
- Content truth is `topmind-workspace
|
|
16
|
+
- Content truth is `topmind-workspace`.
|
|
17
17
|
- Daily entry is `topmind`; no parallel daily entrypoints.
|
|
18
18
|
- **Desktop is not required** for the skill pack.
|
|
19
19
|
- Naming and frontmatter follow `PROJECT-MODEL.md` / `TOOLS.md`.
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# topmind · OpenCode Integration
|
|
2
2
|
|
|
3
|
-
[简体中文](../../README.md) · [English](../../README.en.md) · [Skills install](../../
|
|
3
|
+
[简体中文](../../README.md) · [English](../../README.en.md) · [Skills install](../../INSTALL.md)
|
|
4
4
|
|
|
5
5
|
topmind should not fork OpenCode by default. Prefer a thin adapter layer.
|
|
6
6
|
|
|
7
7
|
## Recommended route
|
|
8
8
|
|
|
9
|
-
1. Install the portable skill pack (`
|
|
9
|
+
1. Install the portable skill pack (`topmind-pack.json` / pack-aware installer).
|
|
10
10
|
2. **Expose only `topmind`** as the daily user-facing entry — sub-skills are internal.
|
|
11
11
|
3. Expose UTR through MCP when available; **UTR is optional** otherwise use host file tools.
|
|
12
12
|
4. Optional OpenCode commands for common capture and doctor flows (`commands/`).
|
|
13
|
-
5. Keep content truth in `topmind-workspace
|
|
13
|
+
5. Keep content truth in `topmind-workspace`. OpenCode state must not become topmind content truth.
|
|
14
14
|
|
|
15
15
|
## Config shape
|
|
16
16
|
|
|
@@ -9,7 +9,7 @@ export default async function topmindPlugin(app?: OpenCodeApp) {
|
|
|
9
9
|
|
|
10
10
|
return {
|
|
11
11
|
name: "topmind",
|
|
12
|
-
contentTruth: "topmind-workspace
|
|
12
|
+
contentTruth: "topmind-workspace",
|
|
13
13
|
dailyEntry: "topmind",
|
|
14
14
|
writesContent: false,
|
|
15
15
|
capabilities: ["skills", "mcp", "commands", "plugin"],
|
|
@@ -57,7 +57,9 @@ test("OpenCode adapter follows the portable skill-pack contract", async () => {
|
|
|
57
57
|
assert.match(readme, /content truth/u);
|
|
58
58
|
assert.match(readme, /Expose only `topmind`|only daily.*`topmind`/iu);
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
const truth = String(pack.portable_contract.content_truth).replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
61
|
+
assert.match(pluginSource, new RegExp(`contentTruth:\\s*"${truth}"`));
|
|
62
|
+
assert.doesNotMatch(pluginSource, /categories-and-topics/u);
|
|
61
63
|
assert.match(pluginSource, /writesContent:\s*false/u);
|
|
62
64
|
assert.doesNotMatch(readme + "\n" + pluginSource, /should fork OpenCode|write topmind content directly:\s*true|writesContent:\s*true/u);
|
|
63
65
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@topmindspace/topmind-skills",
|
|
3
|
-
"version": "4.13.
|
|
3
|
+
"version": "4.13.4",
|
|
4
4
|
"description": "topmind Agent Skills pack — portable markdown skills for capture, organize, write, memory, maintain, loop.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -56,7 +56,10 @@
|
|
|
56
56
|
"versions": "node -e \"console.log('skills', require('./topmind-pack.json').version)\"",
|
|
57
57
|
"add": "node bin/install-skills.mjs add",
|
|
58
58
|
"update": "node bin/install-skills.mjs update",
|
|
59
|
-
"list": "node bin/install-skills.mjs list"
|
|
59
|
+
"list": "node bin/install-skills.mjs list",
|
|
60
|
+
"agents": "node bin/install-skills.mjs agents",
|
|
61
|
+
"paths": "node bin/install-skills.mjs paths",
|
|
62
|
+
"doctor": "node bin/install-skills.mjs doctor"
|
|
60
63
|
},
|
|
61
64
|
"keywords": [
|
|
62
65
|
"agent-skills",
|
|
@@ -59,7 +59,7 @@ ingest_converter: anydoc@0.1.8 | markitdown@… | pptx-ooxml
|
|
|
59
59
|
|
|
60
60
|
失败时原件导入 + 说明笔记;可选原件进 `99-归档/ingest-originals/`。
|
|
61
61
|
|
|
62
|
-
相关:网页剪藏分层见 [`long-url-capture.md`](./long-url-capture.md);能力勾选见 [
|
|
62
|
+
相关:网页剪藏分层见 [`long-url-capture.md`](./long-url-capture.md);能力勾选见 [`capture-clip-matrix.md`](https://github.com/topmindspace/topmind/blob/main/docs/capture-clip-matrix.md)。
|
|
63
63
|
|
|
64
64
|
## 格式与本机工具
|
|
65
65
|
|
package/shared/host-loading.md
CHANGED
|
@@ -11,15 +11,15 @@
|
|
|
11
11
|
| **2 Activation** | 匹配到任务 | 完整 `SKILL.md` body | < 5k tokens 推荐 |
|
|
12
12
|
| **3 Resources** | 步骤需要时 | `shared/*.md` · `references/*` · 可选 scripts | 按需 |
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
**禁止**:启动时把全部 SKILL 全文 + shared 全部塞进 system prompt。
|
|
15
15
|
|
|
16
16
|
## 组合式 Pack 如何被 Host 理解
|
|
17
17
|
|
|
18
|
-
topmind 是 **multi-skill pack
|
|
18
|
+
topmind 是 **multi-skill pack**(目录与 `topmind-pack.json` 的 `skills` 一一对应,含 router、action、connector、可选 ledger 与可选 wechat write 子技能),不是单文件 skill。业界对齐:
|
|
19
19
|
|
|
20
20
|
| 约定 | topmind 做法 |
|
|
21
21
|
|------|----------------|
|
|
22
|
-
| Agent Skills 单 skill = `{name}/SKILL.md` |
|
|
22
|
+
| Agent Skills 单 skill = `{name}/SKILL.md` | 11 个目录各有 `SKILL.md` |
|
|
23
23
|
| 部分 host 对 **zip 根** 找 `SKILL.md` | Release zip 根额外含 **router `SKILL.md`**(= `topmind/SKILL.md`) |
|
|
24
24
|
| Pack 索引 | `skills.md` / `topmind-pack.json`(人类 + 机器) |
|
|
25
25
|
| 共享资源 | `shared/` 与 skill 目录**同级** |
|
|
@@ -42,7 +42,7 @@ topmind-skills-<ver>/ ← Release zip 顶层
|
|
|
42
42
|
│ └── SKILL.md
|
|
43
43
|
├── topmind-capture/
|
|
44
44
|
│ └── SKILL.md
|
|
45
|
-
├── …(其余
|
|
45
|
+
├── …(其余 9 个,含可选 topmind-weread / topmind-x / topmind-ledger / topmind-wechat)
|
|
46
46
|
├── shared/ ← 与 skill 同级!相对链接 ../shared/ 才能解析
|
|
47
47
|
│ ├── capability-degradation.md
|
|
48
48
|
│ ├── project-model-brief.md
|
|
@@ -56,7 +56,7 @@ topmind-skills-<ver>/ ← Release zip 顶层
|
|
|
56
56
|
|
|
57
57
|
### 错误形状
|
|
58
58
|
|
|
59
|
-
- 只拷了
|
|
59
|
+
- 只拷了 skill 目录、**没有** `shared/` → 渐进链接 404
|
|
60
60
|
- 把 monorepo 整仓当 skill 根 → host 扫到无关目录
|
|
61
61
|
- 只装 `topmind` 却期望 weread/x 触发 → connector 未装
|
|
62
62
|
- Host 报 `SKILL.md not found`:请用 `topmind-skills-*.zip`(含根 `SKILL.md`),或装到 `{skillsRoot}/topmind/SKILL.md`
|
|
@@ -76,7 +76,7 @@ topmind-skills-<ver>/ ← Release zip 顶层
|
|
|
76
76
|
node bin/install-skills.mjs add topmindspace/topmind-skills -g
|
|
77
77
|
|
|
78
78
|
# 或手动
|
|
79
|
-
cp -R
|
|
79
|
+
cp -R shared ~/.agents/skills/shared
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
## Router vs 子 skill(Host 路由策略)
|
|
@@ -86,7 +86,7 @@ cp -R skills/shared ~/.agents/skills/shared
|
|
|
86
86
|
| 单一清晰动词(记一下 / 写一稿 / doctor) | 对应 `topmind-*` 子 skill |
|
|
87
87
|
| 多意图 / 模糊 / 只说「topmind」 | `topmind` router |
|
|
88
88
|
| Host **只装了** topmind 一个 skill | router 内嵌 Action Map 完成全部语义 |
|
|
89
|
-
|
|
|
89
|
+
| 子 skill 全部安装 | description 消歧;router **不抢** 已匹配的子 skill |
|
|
90
90
|
|
|
91
91
|
实现提示:discovery 阶段只比 `description` 文本相似度 / 关键词;**不要**用 triggers 数组作为唯一标准(triggers 是 topmind 扩展,开放标准不要求)。
|
|
92
92
|
|
package/topmind/SKILL.md
CHANGED
package/topmind-capture/SKILL.md
CHANGED
package/topmind-ledger/SKILL.md
CHANGED
package/topmind-loop/SKILL.md
CHANGED
package/topmind-memory/SKILL.md
CHANGED
package/topmind-pack.json
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"schema_version": 1,
|
|
3
3
|
"name": "topmind",
|
|
4
4
|
"label": "topmind",
|
|
5
|
-
"description": "topmind skill pack: single daily entry topmind + progressive disclosure (shared/ + references/), Agent Skills open-standard aligned, capture-first template-driven categories, optional weread
|
|
5
|
+
"description": "topmind skill pack: single daily entry topmind + progressive disclosure (shared/ + references/), Agent Skills open-standard aligned, capture-first template-driven categories, optional connectors topmind-weread and topmind-x, optional topmind-ledger (记账), optional write sub-skill topmind-wechat. None of the optional skills is an extra user concept. File-system-first content truth; UTR optional.",
|
|
6
6
|
"daily_entry": "topmind",
|
|
7
|
-
"version": "4.13.
|
|
8
|
-
"updated": "2026-09-
|
|
7
|
+
"version": "4.13.4",
|
|
8
|
+
"updated": "2026-09-25",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"locales": {
|
|
11
11
|
"default": "zh-CN",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
],
|
|
73
73
|
"runtime": "pure-markdown",
|
|
74
74
|
"optional_dependencies": {
|
|
75
|
-
"utr": "node >=
|
|
75
|
+
"utr": "node >= 20.11, optional deterministic CLI/MCP commands",
|
|
76
76
|
"desktop": "Electron, optional GUI client (topmind-desktop/)"
|
|
77
77
|
}
|
|
78
78
|
},
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
"topic_emerges": true,
|
|
217
217
|
"action_first": true,
|
|
218
218
|
"single_user_entry": true,
|
|
219
|
-
"content_truth": "topmind-workspace
|
|
219
|
+
"content_truth": "topmind-workspace",
|
|
220
220
|
"inbox_role": "unassigned-capture",
|
|
221
221
|
"topic_role": "assigned-work",
|
|
222
222
|
"loose_note_role": "unfiled-but-categorized"
|
|
@@ -279,7 +279,7 @@
|
|
|
279
279
|
"portable_contract": {
|
|
280
280
|
"requires_desktop": false,
|
|
281
281
|
"requires_utr": false,
|
|
282
|
-
"content_truth": "topmind-workspace
|
|
282
|
+
"content_truth": "topmind-workspace",
|
|
283
283
|
"host_may_provide": [
|
|
284
284
|
"skills",
|
|
285
285
|
"cli",
|
|
@@ -313,6 +313,14 @@
|
|
|
313
313
|
{
|
|
314
314
|
"id": "claude-code",
|
|
315
315
|
"path": "install-targets/claude-code.json"
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"id": "mimocode",
|
|
319
|
+
"path": "install-targets/mimocode.json"
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"id": "universal",
|
|
323
|
+
"path": "install-targets/universal.json"
|
|
316
324
|
}
|
|
317
325
|
],
|
|
318
326
|
"utr": {
|
package/topmind-wechat/DESIGN.md
CHANGED
package/topmind-wechat/SKILL.md
CHANGED
|
@@ -91,12 +91,12 @@ python3 scripts/md2wechat.py --input <包>/公众号稿.md --out-dir <包> \
|
|
|
91
91
|
3. 提醒:外链只能进「阅读原文」;图已 base64 内嵌,占位符按清单补传
|
|
92
92
|
4. 需要进交付层时:`save-output` 拷贝终稿到 `88-交付/`(`YYYY-MM-DD-描述.ext`)
|
|
93
93
|
|
|
94
|
-
## Desktop
|
|
95
|
-
|
|
96
|
-
| 步骤 | Desktop「公众号创作」 |
|
|
97
|
-
|
|
98
|
-
| 建包/列表 | 扫工作区包根 |
|
|
99
|
-
| 改稿 |
|
|
100
|
-
| 三关 | AI 味 + lint + 事实勾选 |
|
|
101
|
-
| 排版 | 主题预览 + 调脚本导出 |
|
|
102
|
-
| 状态 | 调 `sync-status`
|
|
94
|
+
## Desktop
|
|
95
|
+
|
|
96
|
+
| 步骤 | Desktop「公众号创作」 |
|
|
97
|
+
|------|----------------------|
|
|
98
|
+
| 建包/列表 | 扫工作区包根 |
|
|
99
|
+
| 改稿 | 写闸回执 |
|
|
100
|
+
| 三关 | AI 味 + lint + 事实勾选 |
|
|
101
|
+
| 排版 | 主题预览 + 调脚本导出 |
|
|
102
|
+
| 状态 | 调 `sync-status` |
|