skill-systems-thinking 0.1.1 → 0.1.3
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 +21 -3
- package/README.md +56 -48
- package/package.json +32 -9
- package/scripts/install.js +146 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,22 @@ Versioning follows [Semantic Versioning](https://semver.org/) in `X.Y.Z` format.
|
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
## [0.1.3] — 2026-07-25
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- XYZ versioning convention documented in `AGENTS.md` (X=major, Y=minor, Z=patch)
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- Unified version numbers across all project files to `0.1.3`
|
|
15
|
+
- README.md and progress.md version tables updated from `0.1.0` to `0.1.3`
|
|
16
|
+
- `postinstall` script removed from `package.json` (npx-first approach)
|
|
17
|
+
|
|
18
|
+
## [0.1.2] — 2026-07-25
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- Gitee download link in README.md (both 中文 and English sections)
|
|
22
|
+
- `repository.url` and `homepage` in `package.json` updated to point to Gitee (`gitee.com/leon0903/systems-thinking`)
|
|
23
|
+
|
|
8
24
|
## [0.1.1] — 2026-07-24
|
|
9
25
|
|
|
10
26
|
### Changed
|
|
@@ -12,10 +28,12 @@ Versioning follows [Semantic Versioning](https://semver.org/) in `X.Y.Z` format.
|
|
|
12
28
|
- Expanded `keywords` from 5 to 14 for better npm search discoverability across AI agents
|
|
13
29
|
- Added `homepage` field to `package.json`
|
|
14
30
|
- Added `init.ps1` to `files` array in `package.json` so it's included in the npm package
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
- Added
|
|
31
|
+
- README.md Installation section restructured: npx one-command install as primary method, GitHub download as alternative
|
|
32
|
+
- Added `scripts/install.js` for npx auto-detection of AI agents and automatic symlinking
|
|
33
|
+
- Added `bin` field to `package.json` so `npx skill-systems-thinking install` works
|
|
34
|
+
- Added agent-specific setup info for 8 agents in README.md
|
|
18
35
|
- Added Compatibility section in both 中文 and English
|
|
36
|
+
- Removed npm install as a separate method; npx is the recommended approach
|
|
19
37
|
|
|
20
38
|
## [0.1.0] — 2026-07-24
|
|
21
39
|
|
package/README.md
CHANGED
|
@@ -39,22 +39,16 @@
|
|
|
39
39
|
|
|
40
40
|
本 skill 面向支持自定义 skill 的 AI 编程助手(Kilo、Claude Code、Aider、Cursor 等)。
|
|
41
41
|
|
|
42
|
-
###
|
|
42
|
+
### npx 一键安装(推荐)
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
|
-
|
|
45
|
+
npx skill-systems-thinking install
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
该命令会自动检测你机器上已安装的 AI agent,并将 skill 链接到对应的 skill 目录。
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
npm root -g
|
|
53
|
-
# 或本地项目安装:
|
|
54
|
-
node -e "console.log(require.resolve('skill-systems-thinking'))"
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
然后将 skill 符号链接或复制到你的 agent skill 目录(详见下方各 agent 的具体说明)。
|
|
50
|
+
- 全局安装(所有项目可用):`npx skill-systems-thinking install --global`
|
|
51
|
+
- 强制覆盖已存在的链接:`npx skill-systems-thinking install --force`
|
|
58
52
|
|
|
59
53
|
### GitHub 下载
|
|
60
54
|
|
|
@@ -63,6 +57,13 @@ git clone https://github.com/ShrimpLeon/systems-thinking.git
|
|
|
63
57
|
cp -r systems-thinking <agent-skills-dir>/
|
|
64
58
|
```
|
|
65
59
|
|
|
60
|
+
### Gitee 下载
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
git clone https://gitee.com/leon0903/systems-thinking.git
|
|
64
|
+
cp -r systems-thinking <agent-skills-dir>/
|
|
65
|
+
```
|
|
66
|
+
|
|
66
67
|
### 符号链接(开发用)
|
|
67
68
|
|
|
68
69
|
```bash
|
|
@@ -71,20 +72,20 @@ ln -s /absolute/path/to/systems-thinking <agent-skills-dir>/
|
|
|
71
72
|
|
|
72
73
|
### 各 agent 配置
|
|
73
74
|
|
|
74
|
-
|
|
75
|
+
npx 安装会自动将 skill 链接到各 agent 的 skill 目录。手动安装时,各 agent 的 skill 目录如下。
|
|
75
76
|
|
|
76
|
-
| Agent | Skill 目录 |
|
|
77
|
-
|
|
78
|
-
| Kilo | `~/.config/kilo/skills/` 或项目 `.kilo/agent/` |
|
|
79
|
-
| Claude Code | `~/.claude/plugins/custom-skills/` 或项目 `.claude/` |
|
|
80
|
-
| Aider | `--skills-dir` 路径 |
|
|
81
|
-
| Cursor | 项目 `.cursor/rules/` 或全局设置 |
|
|
82
|
-
| OpenAI Codex | `~/.codex/skills/` |
|
|
83
|
-
| GitHub Copilot | `~/.copilot/skills/` |
|
|
84
|
-
| Windsurf | `~/.windsurf/skills/` |
|
|
85
|
-
| Zed | `~/.zed/skills/` |
|
|
77
|
+
| Agent | Skill 目录 |
|
|
78
|
+
|---|---|
|
|
79
|
+
| Kilo | `~/.config/kilo/skills/` 或项目 `.kilo/agent/` |
|
|
80
|
+
| Claude Code | `~/.claude/plugins/custom-skills/` 或项目 `.claude/` |
|
|
81
|
+
| Aider | `--skills-dir` 路径 |
|
|
82
|
+
| Cursor | 项目 `.cursor/rules/` 或全局设置 |
|
|
83
|
+
| OpenAI Codex | `~/.codex/skills/` |
|
|
84
|
+
| GitHub Copilot | `~/.copilot/skills/` |
|
|
85
|
+
| Windsurf | `~/.windsurf/skills/` |
|
|
86
|
+
| Zed | `~/.zed/skills/` |
|
|
86
87
|
|
|
87
|
-
> **注意:** 如果你的 agent 未出现在上方,请查阅其文档获取自定义 skill/plugin 路径。
|
|
88
|
+
> **注意:** 如果你的 agent 未出现在上方,请查阅其文档获取自定义 skill/plugin 路径。
|
|
88
89
|
|
|
89
90
|
### 验证安装
|
|
90
91
|
|
|
@@ -109,7 +110,7 @@ npm 包 `skill-systems-thinking` 兼容以下 agent 智能体:
|
|
|
109
110
|
| Windsurf | ✅ | 通过 `~/.windsurf/skills/` 链接 |
|
|
110
111
|
| Zed | ✅ | 通过 `~/.zed/skills/` 链接 |
|
|
111
112
|
|
|
112
|
-
|
|
113
|
+
npx 安装会自动将 skill 链接到各 agent 的 skill 目录。由于 npm 包不包含 agent 特有的配置文件(如 `.kilo/`、`.claude/` 等),安装脚本会从各 agent 的 skill 目录创建符号链接到包位置。这一步在所有支持的 agent 上都是相同的操作。
|
|
113
114
|
|
|
114
115
|
## 使用方式
|
|
115
116
|
|
|
@@ -223,6 +224,9 @@ npm 安装将 skill 文件部署到 `node_modules/skill-systems-thinking/`,然
|
|
|
223
224
|
|
|
224
225
|
| 版本 | 日期 | 说明 |
|
|
225
226
|
|---|---|---|
|
|
227
|
+
| 0.1.3 | 2026-07-25 | 统一项目版本号;添加 XYZ 版本约定到 AGENTS.md;移除 postinstall 脚本 |
|
|
228
|
+
| 0.1.2 | 2026-07-25 | 添加 Gitee 下载链接;更新 repository 和 homepage 到 Gitee |
|
|
229
|
+
| 0.1.1 | 2026-07-24 | 修复 repository.url;扩展 keywords;添加 homepage 和 bin 字段 |
|
|
226
230
|
| 0.1.0 | 2026-07-24 | 首次公开发布 |
|
|
227
231
|
|
|
228
232
|
完整变更记录见 [CHANGELOG.md](CHANGELOG.md)。
|
|
@@ -284,22 +288,16 @@ Every change injects a control signal. You only partially observe the true state
|
|
|
284
288
|
|
|
285
289
|
This skill is designed for AI coding agents that support custom skills (Kilo, Claude Code, Aider, Cursor, etc.).
|
|
286
290
|
|
|
287
|
-
###
|
|
291
|
+
### npx one-command install (recommended)
|
|
288
292
|
|
|
289
293
|
```bash
|
|
290
|
-
|
|
294
|
+
npx skill-systems-thinking install
|
|
291
295
|
```
|
|
292
296
|
|
|
293
|
-
|
|
297
|
+
This command automatically detects AI agents installed on your machine and links the skill into their skill directories.
|
|
294
298
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
npm root -g
|
|
298
|
-
# or for local project install:
|
|
299
|
-
node -e "console.log(require.resolve('skill-systems-thinking'))"
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
Then symlink or copy the skill into your agent's skill directory (see agent-specific instructions below).
|
|
299
|
+
- Global install (available across all projects): `npx skill-systems-thinking install --global`
|
|
300
|
+
- Force overwrite existing links: `npx skill-systems-thinking install --force`
|
|
303
301
|
|
|
304
302
|
### GitHub download
|
|
305
303
|
|
|
@@ -308,6 +306,13 @@ git clone https://github.com/ShrimpLeon/systems-thinking.git
|
|
|
308
306
|
cp -r systems-thinking <agent-skills-dir>/
|
|
309
307
|
```
|
|
310
308
|
|
|
309
|
+
### Gitee download
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
git clone https://gitee.com/leon0903/systems-thinking.git
|
|
313
|
+
cp -r systems-thinking <agent-skills-dir>/
|
|
314
|
+
```
|
|
315
|
+
|
|
311
316
|
### Symlink (development)
|
|
312
317
|
|
|
313
318
|
```bash
|
|
@@ -316,20 +321,20 @@ ln -s /absolute/path/to/systems-thinking <agent-skills-dir>/
|
|
|
316
321
|
|
|
317
322
|
### Agent-specific setup
|
|
318
323
|
|
|
319
|
-
|
|
324
|
+
npx install automatically links the skill into each agent's skill directory. For manual installation, below are the paths for each supported agent.
|
|
320
325
|
|
|
321
|
-
| Agent | Skill directory |
|
|
322
|
-
|
|
323
|
-
| Kilo | `~/.config/kilo/skills/` or project `.kilo/agent/` |
|
|
324
|
-
| Claude Code | `~/.claude/plugins/custom-skills/` or project `.claude/` |
|
|
325
|
-
| Aider | `--skills-dir` path |
|
|
326
|
-
| Cursor | Project `.cursor/rules/` or global settings |
|
|
327
|
-
| OpenAI Codex | `~/.codex/skills/` |
|
|
328
|
-
| GitHub Copilot | `~/.copilot/skills/` |
|
|
329
|
-
| Windsurf | `~/.windsurf/skills/` |
|
|
330
|
-
| Zed | `~/.zed/skills/` |
|
|
326
|
+
| Agent | Skill directory |
|
|
327
|
+
|---|---|
|
|
328
|
+
| Kilo | `~/.config/kilo/skills/` or project `.kilo/agent/` |
|
|
329
|
+
| Claude Code | `~/.claude/plugins/custom-skills/` or project `.claude/` |
|
|
330
|
+
| Aider | `--skills-dir` path |
|
|
331
|
+
| Cursor | Project `.cursor/rules/` or global settings |
|
|
332
|
+
| OpenAI Codex | `~/.codex/skills/` |
|
|
333
|
+
| GitHub Copilot | `~/.copilot/skills/` |
|
|
334
|
+
| Windsurf | `~/.windsurf/skills/` |
|
|
335
|
+
| Zed | `~/.zed/skills/` |
|
|
331
336
|
|
|
332
|
-
> **Note:** If your agent does not appear above, check its documentation for custom skill/plugin paths.
|
|
337
|
+
> **Note:** If your agent does not appear above, check its documentation for custom skill/plugin paths.
|
|
333
338
|
|
|
334
339
|
### Verify installation
|
|
335
340
|
|
|
@@ -354,7 +359,7 @@ The npm package `skill-systems-thinking` is compatible with the following AI age
|
|
|
354
359
|
| Windsurf | ✅ | Link via `~/.windsurf/skills/` |
|
|
355
360
|
| Zed | ✅ | Link via `~/.zed/skills/` |
|
|
356
361
|
|
|
357
|
-
The
|
|
362
|
+
The npx install automatically links the skill into each agent's skill directory. Since the package does not include agent-specific config files (like `.kilo/`, `.claude/`, etc.), the install script creates symlinks from each agent's skill directory to the package location. This is the same operation across all supported agents.
|
|
358
363
|
|
|
359
364
|
## Usage
|
|
360
365
|
|
|
@@ -469,6 +474,9 @@ This skill follows [Semantic Versioning](https://semver.org/) (`X.Y.Z`).
|
|
|
469
474
|
|
|
470
475
|
| Version | Date | Notes |
|
|
471
476
|
|---|---|---|
|
|
477
|
+
| 0.1.3 | 2026-07-25 | Unified version numbers across project; added XYZ version convention to AGENTS.md; removed postinstall script |
|
|
478
|
+
| 0.1.2 | 2026-07-25 | Added Gitee download link; updated repository and homepage to Gitee |
|
|
479
|
+
| 0.1.1 | 2026-07-24 | Fixed repository.url; expanded keywords; added homepage and bin field |
|
|
472
480
|
| 0.1.0 | 2026-07-24 | Initial public release |
|
|
473
481
|
|
|
474
482
|
Full history: [CHANGELOG.md](CHANGELOG.md).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skill-systems-thinking",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Control-theoretic thinking scaffold for AI coding agents — identify state, measure, stabilize, close the loop.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "SKILL.md",
|
|
@@ -13,20 +13,43 @@
|
|
|
13
13
|
"templates/",
|
|
14
14
|
"assets/",
|
|
15
15
|
"evals/",
|
|
16
|
-
"init.ps1"
|
|
16
|
+
"init.ps1",
|
|
17
|
+
"scripts/"
|
|
17
18
|
],
|
|
18
19
|
"scripts": {
|
|
19
|
-
"
|
|
20
|
-
"
|
|
20
|
+
"verify": "pwsh init.ps1",
|
|
21
|
+
"install-skill": "node scripts/install.js"
|
|
21
22
|
},
|
|
22
|
-
"
|
|
23
|
+
"bin": {
|
|
24
|
+
"skill-systems-thinking": "scripts/install.js"
|
|
25
|
+
},
|
|
26
|
+
"keywords": [
|
|
27
|
+
"skill",
|
|
28
|
+
"agentskill",
|
|
29
|
+
"kilocode",
|
|
30
|
+
"claude-code",
|
|
31
|
+
"aider",
|
|
32
|
+
"cursor",
|
|
33
|
+
"copilot",
|
|
34
|
+
"codex",
|
|
35
|
+
"windsurf",
|
|
36
|
+
"zed",
|
|
37
|
+
"control-theory",
|
|
38
|
+
"systems-thinking",
|
|
39
|
+
"ai-agent",
|
|
40
|
+
"coding-agent"
|
|
41
|
+
],
|
|
23
42
|
"repository": {
|
|
24
43
|
"type": "git",
|
|
25
|
-
"url": "git+https://
|
|
44
|
+
"url": "git+https://gitee.com/leon0903/systems-thinking.git"
|
|
26
45
|
},
|
|
27
|
-
"homepage": "https://
|
|
28
|
-
"os": [
|
|
46
|
+
"homepage": "https://gitee.com/leon0903/systems-thinking#readme",
|
|
47
|
+
"os": [
|
|
48
|
+
"darwin",
|
|
49
|
+
"linux",
|
|
50
|
+
"win32"
|
|
51
|
+
],
|
|
29
52
|
"engines": {
|
|
30
53
|
"node": ">=14"
|
|
31
54
|
}
|
|
32
|
-
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const os = require('os');
|
|
6
|
+
|
|
7
|
+
const pkg = require(path.join(__dirname, '..', 'package.json'));
|
|
8
|
+
const skillName = pkg.name;
|
|
9
|
+
const skillDir = path.join(__dirname, '..');
|
|
10
|
+
|
|
11
|
+
const agents = [
|
|
12
|
+
{
|
|
13
|
+
name: 'Kilo',
|
|
14
|
+
paths: [
|
|
15
|
+
path.join(os.homedir(), '.config', 'kilo', 'skills'),
|
|
16
|
+
path.join(process.cwd(), '.kilo', 'agent')
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'Claude Code',
|
|
21
|
+
paths: [
|
|
22
|
+
path.join(os.homedir(), '.claude', 'plugins', 'custom-skills'),
|
|
23
|
+
path.join(process.cwd(), '.claude')
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'Aider',
|
|
28
|
+
paths: [
|
|
29
|
+
path.join(os.homedir(), '.aider', 'skills'),
|
|
30
|
+
path.join(process.cwd(), '.aider', 'skills')
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'Cursor',
|
|
35
|
+
paths: [
|
|
36
|
+
path.join(process.cwd(), '.cursor', 'rules')
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'OpenAI Codex',
|
|
41
|
+
paths: [
|
|
42
|
+
path.join(os.homedir(), '.codex', 'skills')
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'GitHub Copilot',
|
|
47
|
+
paths: [
|
|
48
|
+
path.join(os.homedir(), '.copilot', 'skills')
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'Windsurf',
|
|
53
|
+
paths: [
|
|
54
|
+
path.join(os.homedir(), '.windsurf', 'skills')
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'Zed',
|
|
59
|
+
paths: [
|
|
60
|
+
path.join(os.homedir(), '.zed', 'skills')
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
function dirExists(dir) {
|
|
66
|
+
try {
|
|
67
|
+
return fs.statSync(dir).isDirectory();
|
|
68
|
+
} catch {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function linkSkill(targetDir, agentName) {
|
|
74
|
+
const dest = path.join(targetDir, skillName);
|
|
75
|
+
if (fs.existsSync(dest)) {
|
|
76
|
+
console.log(`[SKIP] ${agentName}: ${dest} already exists`);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
81
|
+
fs.symlinkSync(skillDir, dest, 'junction');
|
|
82
|
+
console.log(`[OK] ${agentName}: linked to ${dest}`);
|
|
83
|
+
} catch (err) {
|
|
84
|
+
console.log(`[FAIL] ${agentName}: could not link to ${dest} (${err.message})`);
|
|
85
|
+
console.log(` Try copying manually: cp -r ${skillDir} ${dest}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function main() {
|
|
90
|
+
const isGlobal = process.argv.includes('--global') || process.argv.includes('-g');
|
|
91
|
+
const force = process.argv.includes('--force');
|
|
92
|
+
|
|
93
|
+
console.log(`Installing ${skillName}...`);
|
|
94
|
+
console.log(`Skill directory: ${skillDir}`);
|
|
95
|
+
console.log(`Mode: ${isGlobal ? 'global' : 'project-local'}`);
|
|
96
|
+
console.log('');
|
|
97
|
+
|
|
98
|
+
let installed = 0;
|
|
99
|
+
let skipped = 0;
|
|
100
|
+
let failed = 0;
|
|
101
|
+
|
|
102
|
+
for (const agent of agents) {
|
|
103
|
+
const targetDirs = isGlobal
|
|
104
|
+
? agent.paths.filter(p => p.includes(os.homedir()))
|
|
105
|
+
: agent.paths;
|
|
106
|
+
|
|
107
|
+
for (const targetDir of targetDirs) {
|
|
108
|
+
if (!dirExists(targetDir) && !isGlobal) {
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (!dirExists(targetDir) && isGlobal) {
|
|
112
|
+
try {
|
|
113
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
114
|
+
} catch {
|
|
115
|
+
console.log(`[SKIP] ${agent.name}: cannot create ${targetDir}`);
|
|
116
|
+
skipped++;
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
if (force && fs.existsSync(path.join(targetDir, skillName))) {
|
|
122
|
+
try {
|
|
123
|
+
fs.rmSync(path.join(targetDir, skillName), { recursive: true });
|
|
124
|
+
} catch {
|
|
125
|
+
console.log(`[FAIL] ${agent.name}: could not remove existing ${targetDir}/${skillName}`);
|
|
126
|
+
failed++;
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
linkSkill(targetDir, agent.name);
|
|
132
|
+
installed++;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
console.log('');
|
|
137
|
+
console.log(`Done. Installed: ${installed}, Skipped: ${skipped}, Failed: ${failed}`);
|
|
138
|
+
|
|
139
|
+
if (installed > 0) {
|
|
140
|
+
console.log('');
|
|
141
|
+
console.log('Verify the installation by running:');
|
|
142
|
+
console.log(' pwsh init.ps1');
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
main();
|