skill-family-engineering-kit 0.25.0 → 0.26.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 +22 -0
- package/CHANGELOG.zh-CN.md +22 -0
- package/README.md +59 -21
- package/README.zh-CN.md +98 -21
- package/data/hosts/codebuddy/host-descriptor.json +9 -1
- package/data/hosts/deepseek-harness/host-descriptor.json +9 -1
- package/data/hosts/kimi-code/host-descriptor.json +7 -0
- package/data/hosts/qoder/host-descriptor.json +9 -1
- package/data/hosts/workbuddy/host-descriptor.json +7 -0
- package/docs/public/status/index.html +4 -4
- package/docs/search/search_index.json +1 -1
- package/package.json +3 -3
- package/release-notes/0.26.0.yaml +29 -0
- package/src/cli.mjs +7 -7
- package/src/host-loading-check.mjs +179 -53
- package/src/host-loading-native.mjs +1937 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
<!-- release-skill:changelog:start version=0.26.0 locale=en baseline=sha256:f92651ad31301672d84ced913199520f2f7868c15881a51766064a9a2b11922c -->
|
|
4
|
+
## [0.26.0] - 2026-10-17
|
|
5
|
+
|
|
6
|
+
Version 0.26.0 extends shared read-only static loading checks to seven hosts through the existing runHostLoadingCheck function and skill-family-kit check host-loading CLI action. The four top-level commands scaffold, adopt-plan, projection, and check remain unchanged; no new top-level command or public API is added. Checks do not start hosts, models, hooks, or scripts, access the network, or write files.
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- Add shared static loading checks for seven hosts. The exact host versions, categories, and project directories are listed in the authoritative [NATIVE_HOSTS table](src/host-loading-native.mjs); this internal table is not a package-root public export.
|
|
11
|
+
- Retain Codex CLI 0.154.0 project .agents/skills support and its existing activationRules mechanism.
|
|
12
|
+
- Apply each host’s own discovery, parsing, ignore, name-competition, and local-file flag rules. Report Cursor menu, completion, and model metadata separately.
|
|
13
|
+
- Only modelMetadata.* for Cursor CLI 2026.09.10-fd3934a may use source-reviewed-unexecuted, labeled “源码核实、未作原生运行校准” (source reviewed; not calibrated through native execution). This is not native runtime calibration and does not mean the check starts the host.
|
|
14
|
+
- Other native-observed markers mean the check uses previously calibrated native rules; they do not mean this check starts the host.
|
|
15
|
+
- The API project root must be an absolute working directory; the CLI resolves relative input to an absolute path first. A missing or unbindable project root returns 2. A missing, non-directory, or empty skill container within an existing project returns 1. Proven local loading blockers return 1; specific uncovered behavior or unknown competition returns 2 and takes precedence over 1. A fully covered static scope without blockers returns 0; normal skills cannot mask blockers or uncovered behavior. Only Codex supports activationRules; the seven other hosts accept only omission or null, and any other value, including an empty array, returns 2.
|
|
16
|
+
- Retain link-containment and read boundaries. Uncalibrated actual competition, uncalibrated WorkBuddy optional metadata or version-source forms and icon resolution, Cursor completion string false, and CodeBuddy block scalars without proven equivalence remain specifically uncovered. Do not guess success or return 2 permanently for all ordinary input.
|
|
17
|
+
- Exit 0 proves only static-check success. It does not prove final activation, installation, update, session selection, real triggering, or business execution. Codex evidence cannot establish calibration for other hosts.
|
|
18
|
+
|
|
19
|
+
### Upgrade Notes
|
|
20
|
+
|
|
21
|
+
Pin skill-family-engineering-kit, skill-family-contracts, skill-family-harness-node, and the independent Plugin to exactly 0.26.0 in lockstep. Contracts specification 1.20.0 remains separate from package versions and does not advance with Kit. Consume actual published public interfaces for the exact host version and category. Release notes do not replace post-publish verification or formal consumer acceptance. Exit 0 is not an upgrade-safety guarantee or evidence of production validation.
|
|
22
|
+
<!-- release-skill:changelog:end version=0.26.0 locale=en -->
|
|
23
|
+
|
|
24
|
+
|
|
3
25
|
<!-- release-skill:changelog:start version=0.25.0 locale=en baseline=sha256:94f4c9be64b930538ffaccf847dadf49baad796b513c142205a18f631d50e66c -->
|
|
4
26
|
## [0.25.0] - 2026-10-15
|
|
5
27
|
|
package/CHANGELOG.zh-CN.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# 变更日志
|
|
2
2
|
|
|
3
|
+
<!-- release-skill:changelog:start version=0.26.0 locale=zh-CN baseline=sha256:3437859b22ecdad6bc0766dccf3d8b3ed7f1eb9240a9b898f1a2628a092f7143 -->
|
|
4
|
+
## [0.26.0] - 2026-10-17
|
|
5
|
+
|
|
6
|
+
0.26.0 版本通过既有公共函数 `runHostLoadingCheck` 与 CLI 子动作 `skill-family-kit check host-loading`,扩展对七宿主的共享只读静态加载检查能力。四顶层命令 `scaffold`、`adopt-plan`、`projection`、`check` 保持不变,未新增顶层命令或公共 API。检查不启动宿主、模型、hook 或脚本,不联网、不写文件。
|
|
7
|
+
|
|
8
|
+
### 变更
|
|
9
|
+
|
|
10
|
+
- 新增七宿主共享静态加载检查;精确宿主版本、类别与项目目录见权威 [NATIVE_HOSTS 表](src/host-loading-native.mjs)。该内部表不是包根公共导出。
|
|
11
|
+
- **兼容性保留**:Codex CLI 0.154.0 的 `.agents/skills` 项目结构继续支持,其 `activationRules` 机制保持可用。
|
|
12
|
+
- **检查逻辑**:各宿主独立执行发现、解析、忽略、名称竞争与局部文件标志判断。Cursor 的菜单、补全与模型元数据三类行为分别报告。
|
|
13
|
+
- **证据例外**:仅当 `modelMetadata.*` 字段来自 Cursor CLI 2026.09.10-fd3934a 版本时,允许标注 `source-reviewed-unexecuted`,文字为“源码核实、未作原生运行校准”。该标记不表示原生运行已校准,也不代表本次检查启动宿主。
|
|
14
|
+
- **标记语义**:其余 `native-observed` 标记仅表示采用已有原生校准规则,不表示本次检查启动宿主。
|
|
15
|
+
- **边界与退出码**: 项目 root 必须为绝对工作目录,CLI 先将相对输入解析为绝对路径。 项目根不存在或不可绑定 → 退出码 2。 项目存在但技能容器缺失、非目录或为空 → 退出码 1。 已证明本地加载阻断 → 退出码 1。 具体未覆盖或未知竞争 → 退出码 2,且优先于 1。 普通完整静态范围无阻断 → 退出码 0;已有正常技能不能掩盖阻断或未覆盖。 Codex 支持原有 `activationRules`;其余七宿主仅接受省略或 `null`,其他值(包括空数组)返回 2。
|
|
16
|
+
- **数据边界**:保留链接收容与读取边界。未校准的实际竞争、WorkBuddy 尚未校准的可选元信息或版本来源形态及图标解析、Cursor 补全字符串 `false`、CodeBuddy 未证明等价的块标量等,均按具体未覆盖处理,不猜测成功,也不将所有普通输入永久返回 2。
|
|
17
|
+
- **静态通过不等于业务成功**:退出码 0 仅表示静态检查通过,不证明最终启用、安装、更新、会话选择、真实触发或业务执行成功。不得复用 Codex 证据宣称其他宿主已校准。
|
|
18
|
+
|
|
19
|
+
### 升级说明
|
|
20
|
+
|
|
21
|
+
三个 Foundation npm 包(`skill-family-engineering-kit`、`skill-family-contracts`、`skill-family-harness-node`)及独立 Plugin 均需精确锁定至 0.26.0 版本,实现四单元锁步。 Contracts 规格保持 1.20.0,与包版本为独立坐标,不随 Kit 升级。 消费方应按精确宿主版本与类别,使用实际已发布的公共接口。 发布说明不替代发布后验证或正式消费者验收。 退出码 0 不构成升级安全保证,不等同于可安全升级或已通过生产验证。
|
|
22
|
+
<!-- release-skill:changelog:end version=0.26.0 locale=zh-CN -->
|
|
23
|
+
|
|
24
|
+
|
|
3
25
|
<!-- release-skill:changelog:start version=0.25.0 locale=zh-CN baseline=sha256:0112af28c40f4ac8dd77173f681345039eb2c55d714315b267827693c5f78e37 -->
|
|
4
26
|
## [0.25.0] - 2026-10-15
|
|
5
27
|
|
package/README.md
CHANGED
|
@@ -4,25 +4,29 @@
|
|
|
4
4
|
|
|
5
5
|
# skill-family-engineering-kit
|
|
6
6
|
|
|
7
|
-
<!-- release-skill:release-version: 0.
|
|
7
|
+
<!-- release-skill:release-version: 0.26.0 -->
|
|
8
8
|
|
|
9
9
|
An engineering toolkit used in development and CI. There are **exactly four** top-level commands, and no fifth:
|
|
10
10
|
|
|
11
11
|
<!-- release-skill:managed:start id=latest-release -->
|
|
12
|
-
**0.
|
|
12
|
+
**0.26.0** (2026-10-17)
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Version 0.26.0 extends shared read-only static loading checks to seven hosts through the existing runHostLoadingCheck function and skill-family-kit check host-loading CLI action. The four top-level commands scaffold, adopt-plan, projection, and check remain unchanged; no new top-level command or public API is added. Checks do not start hosts, models, hooks, or scripts, access the network, or write files.
|
|
15
15
|
|
|
16
16
|
**Changed**
|
|
17
17
|
|
|
18
|
-
- Add
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
18
|
+
- Add shared static loading checks for seven hosts. The exact host versions, categories, and project directories are listed in the authoritative [NATIVE_HOSTS table](src/host-loading-native.mjs); this internal table is not a package-root public export.
|
|
19
|
+
- Retain Codex CLI 0.154.0 project .agents/skills support and its existing activationRules mechanism.
|
|
20
|
+
- Apply each host’s own discovery, parsing, ignore, name-competition, and local-file flag rules. Report Cursor menu, completion, and model metadata separately.
|
|
21
|
+
- Only modelMetadata.* for Cursor CLI 2026.09.10-fd3934a may use source-reviewed-unexecuted, labeled “源码核实、未作原生运行校准” (source reviewed; not calibrated through native execution). This is not native runtime calibration and does not mean the check starts the host.
|
|
22
|
+
- Other native-observed markers mean the check uses previously calibrated native rules; they do not mean this check starts the host.
|
|
23
|
+
- The API project root must be an absolute working directory; the CLI resolves relative input to an absolute path first. A missing or unbindable project root returns 2. A missing, non-directory, or empty skill container within an existing project returns 1. Proven local loading blockers return 1; specific uncovered behavior or unknown competition returns 2 and takes precedence over 1. A fully covered static scope without blockers returns 0; normal skills cannot mask blockers or uncovered behavior. Only Codex supports activationRules; the seven other hosts accept only omission or null, and any other value, including an empty array, returns 2.
|
|
24
|
+
- Retain link-containment and read boundaries. Uncalibrated actual competition, uncalibrated WorkBuddy optional metadata or version-source forms and icon resolution, Cursor completion string false, and CodeBuddy block scalars without proven equivalence remain specifically uncovered. Do not guess success or return 2 permanently for all ordinary input.
|
|
25
|
+
- Exit 0 proves only static-check success. It does not prove final activation, installation, update, session selection, real triggering, or business execution. Codex evidence cannot establish calibration for other hosts.
|
|
22
26
|
|
|
23
27
|
**Upgrade Notes**
|
|
24
28
|
|
|
25
|
-
Pin
|
|
29
|
+
Pin skill-family-engineering-kit, skill-family-contracts, skill-family-harness-node, and the independent Plugin to exactly 0.26.0 in lockstep. Contracts specification 1.20.0 remains separate from package versions and does not advance with Kit. Consume actual published public interfaces for the exact host version and category. Release notes do not replace post-publish verification or formal consumer acceptance. Exit 0 is not an upgrade-safety guarantee or evidence of production validation.
|
|
26
30
|
<!-- release-skill:managed:end id=latest-release -->
|
|
27
31
|
|
|
28
32
|
## Governance Check (0.22.0)
|
|
@@ -65,7 +69,7 @@ Kit is the "engineering stage" layer, depending on the Harness and Contracts. It
|
|
|
65
69
|
|
|
66
70
|
## Installation and Minimal Example
|
|
67
71
|
|
|
68
|
-
This package version is 0.
|
|
72
|
+
This package version is 0.26.0; version 0.24.1 has been formally published. To verify a working tree before formal publication, build all three tarballs into one temporary directory and install those exact files:
|
|
69
73
|
|
|
70
74
|
```sh
|
|
71
75
|
pack_dir="$(mktemp -d)"
|
|
@@ -73,21 +77,21 @@ pack_dir="$(mktemp -d)"
|
|
|
73
77
|
(cd packages/skill-family-harness-node && pnpm pack --pack-destination "$pack_dir")
|
|
74
78
|
(cd packages/skill-family-engineering-kit && pnpm pack --pack-destination "$pack_dir")
|
|
75
79
|
mkdir "$pack_dir/consumer" && (cd "$pack_dir/consumer" && npm init -y)
|
|
76
|
-
(cd "$pack_dir/consumer" && npm install "$pack_dir/skill-family-contracts-0.
|
|
80
|
+
(cd "$pack_dir/consumer" && npm install "$pack_dir/skill-family-contracts-0.26.0.tgz" "$pack_dir/skill-family-harness-node-0.26.0.tgz" "$pack_dir/skill-family-engineering-kit-0.26.0.tgz")
|
|
77
81
|
```
|
|
78
82
|
|
|
79
|
-
The registry installation below requires exact version 0.
|
|
83
|
+
The registry installation below requires exact version 0.26.0 to be formally available:
|
|
80
84
|
|
|
81
85
|
```sh
|
|
82
|
-
npm install --save-dev skill-family-engineering-kit@0.
|
|
83
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
84
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
85
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
86
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
87
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
86
|
+
npm install --save-dev skill-family-engineering-kit@0.26.0
|
|
87
|
+
npm exec --package=skill-family-engineering-kit@0.26.0 -- skill-family-kit --help
|
|
88
|
+
npm exec --package=skill-family-engineering-kit@0.26.0 -- skill-family-kit scaffold --root <empty-dir> --project-id my-project
|
|
89
|
+
npm exec --package=skill-family-engineering-kit@0.26.0 -- skill-family-kit adopt-plan --root <repo> --list-capabilities --all --scope all --locale en --uses ./uses.json
|
|
90
|
+
npm exec --package=skill-family-engineering-kit@0.26.0 -- skill-family-kit projection --root <repo>
|
|
91
|
+
npm exec --package=skill-family-engineering-kit@0.26.0 -- skill-family-kit check --root <repo>
|
|
88
92
|
```
|
|
89
93
|
|
|
90
|
-
The four commands above cover skeleton generation, read-only inventory, managed projection, and diagnostics respectively; a zero-install form is available via `npm exec --package=skill-family-engineering-kit@0.
|
|
94
|
+
The four commands above cover skeleton generation, read-only inventory, managed projection, and diagnostics respectively; a zero-install form is available via `npm exec --package=skill-family-engineering-kit@0.26.0 -- skill-family-kit --help`.
|
|
91
95
|
|
|
92
96
|
### Engineering declarations (available since 0.24.0)
|
|
93
97
|
|
|
@@ -181,16 +185,50 @@ The caller must first construct a valid report model; Kit does not derive facts
|
|
|
181
185
|
|
|
182
186
|
### Host-loading check sub-action
|
|
183
187
|
|
|
188
|
+
#### Version and scope
|
|
189
|
+
|
|
190
|
+
Version 0.25.0 provides the Codex CLI 0.154.0 check. The 0.26.0 source candidate extends the same entry to seven additional hosts; formal availability depends on that version's release verification. The 0.25.0 published package does not support the added hosts.
|
|
191
|
+
|
|
192
|
+
#### Calling the check
|
|
193
|
+
|
|
194
|
+
The public function is `runHostLoadingCheck({ root, hostId, hostVersion, pathCategory, activationRules, hostsRoot })`. These are the corresponding CLI calls; the third requires a version containing the seven-host extension:
|
|
195
|
+
|
|
184
196
|
```sh
|
|
185
197
|
npm exec -- skill-family-kit check host-loading --root <project> --host codex --host-version 0.154.0 --path-category codex-project-skills
|
|
186
198
|
npm exec -- skill-family-kit check host-loading --root <project> --host codex --host-version 0.154.0 --path-category codex-project-skills --activation-rules <relpath.json> --hosts-root <dir>
|
|
199
|
+
npm exec -- skill-family-kit check host-loading --root <project> --host kimi-code --host-version 2.2.0 --path-category kimi-code-project-skills
|
|
187
200
|
```
|
|
188
201
|
|
|
189
|
-
The
|
|
202
|
+
The API `root` must be an absolute project directory. The CLI first resolves the current directory or a relative path. `--host`, `--host-version`, and `--path-category` select an exact supported combination. Omitting `hostsRoot` uses the bundled Profile data; a custom root cannot change the calibrated version, category, or relative directory combination.
|
|
203
|
+
|
|
204
|
+
For Codex, `--activation-rules` takes a project-relative JSON file containing ordered rules. Each rule selects either `name` or `path`, and includes a boolean `enabled`. For the seven added hosts, the API accepts only an omitted or `null` `activationRules`; every non-null value, including `[]`, returns `2`. Omit this CLI option for those hosts.
|
|
205
|
+
|
|
206
|
+
The internal `NATIVE_HOSTS` table in [src/host-loading-native.mjs](src/host-loading-native.mjs) lists the added hosts' exact versions, categories, and relative directories. It is not a package-root public export. The Kimi example uses `.kimi-code/skills`. Codex keeps its existing constants in [src/host-loading-check.mjs](src/host-loading-check.mjs) and the `.agents/skills` container.
|
|
207
|
+
|
|
208
|
+
#### Reading the report
|
|
209
|
+
|
|
210
|
+
The check starts no host, model, hook, or script, makes no network requests, and writes nothing. It covers one explicit project skill container, not the user's global skills, ancestor projects, or the entire plugin environment. Directory and file symlinks in the seven-host extension remain uncovered and return `2`; the check does not read through them.
|
|
211
|
+
|
|
212
|
+
Codex keeps its existing behavior:
|
|
213
|
+
|
|
214
|
+
- Same-name skills at different paths are all retained.
|
|
215
|
+
- Invalid optional standard skill metadata YAML under `agents/` beside `SKILL.md` is ignored as a whole document, not reported as a skill load failure.
|
|
216
|
+
- A nonempty `policy.products` containing only products other than Codex is filtered. A list containing `codex` is kept; an empty list does not trigger this filter.
|
|
217
|
+
- `allow_implicit_invocation=false` records implicit invocation being disabled, independently of `enabled`. Without explicit activation rules, `enabled` remains unknown.
|
|
218
|
+
|
|
219
|
+
For the seven added hosts, each skill's base `enabled`, `disabled`, `implicitInvocation`, `interface`, and `shortDescription` fields remain `null`. Host-specific observations appear in `skills[].observations`, with `field`, `value`, `basis`, and `sourceId`. A `native-observed` basis means that native evidence was used to calibrate the rule; it does not mean this check ran the native host. `sourceId` refers to `coverage.ruleSources`, whose entries contain `id`, `version`, `source`, and `sha256`.
|
|
220
|
+
|
|
221
|
+
Only Cursor CLI `2026.09.10-fd3934a`'s `modelMetadata.*` observations use `source-reviewed-unexecuted`, meaning source-reviewed but not calibrated by a native run. Its menu and completion surfaces have native calibration evidence. Codex continues to use `officialTag` and `officialCommit`; these fields are not invented for other hosts.
|
|
222
|
+
|
|
223
|
+
| Exit code | Meaning |
|
|
224
|
+
| --- | --- |
|
|
225
|
+
| `0` | The requested scope is covered and has no established blocker. |
|
|
226
|
+
| `1` | An established blocker, or an existing project with a missing skill container or no discoverable entry. A Codex scope containing only product-filtered targets also returns `1`. |
|
|
227
|
+
| `2` | An unknown version or shape, non-equivalent coverage, invalid selector, or a missing/non-directory project root. |
|
|
190
228
|
|
|
191
|
-
|
|
229
|
+
Uncovered items take precedence and produce `2`, while known `findings` remain in the report. Read `findings`, `uncovered`, and `limitations` together. Name-collision handling follows each host's rules; an uncovered competition does not imply a winner.
|
|
192
230
|
|
|
193
|
-
A static
|
|
231
|
+
A static `0` does not prove enablement, installation, update, session selection, actual invocation, or business success. The published package's source and public closure are separate from the scope of this check. Use the actual published version's interfaces and sources.
|
|
194
232
|
|
|
195
233
|
### Candidate Quickstart projection bundle
|
|
196
234
|
|
package/README.zh-CN.md
CHANGED
|
@@ -5,25 +5,29 @@
|
|
|
5
5
|
|
|
6
6
|
# skill-family-engineering-kit
|
|
7
7
|
|
|
8
|
-
<!-- release-skill:release-version: 0.
|
|
8
|
+
<!-- release-skill:release-version: 0.26.0 -->
|
|
9
9
|
|
|
10
10
|
开发与 CI 阶段使用的工程工具包。**恰好四个**顶层命令,没有第五个:
|
|
11
11
|
|
|
12
12
|
<!-- release-skill:managed:start id=latest-release -->
|
|
13
|
-
**0.
|
|
13
|
+
**0.26.0** (2026-10-17)
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
0.26.0 版本通过既有公共函数 `runHostLoadingCheck` 与 CLI 子动作 `skill-family-kit check host-loading`,扩展对七宿主的共享只读静态加载检查能力。四顶层命令 `scaffold`、`adopt-plan`、`projection`、`check` 保持不变,未新增顶层命令或公共 API。检查不启动宿主、模型、hook 或脚本,不联网、不写文件。
|
|
16
16
|
|
|
17
17
|
**变更**
|
|
18
18
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
19
|
+
- 新增七宿主共享静态加载检查;精确宿主版本、类别与项目目录见权威 [NATIVE_HOSTS 表](src/host-loading-native.mjs)。该内部表不是包根公共导出。
|
|
20
|
+
- **兼容性保留**:Codex CLI 0.154.0 的 `.agents/skills` 项目结构继续支持,其 `activationRules` 机制保持可用。
|
|
21
|
+
- **检查逻辑**:各宿主独立执行发现、解析、忽略、名称竞争与局部文件标志判断。Cursor 的菜单、补全与模型元数据三类行为分别报告。
|
|
22
|
+
- **证据例外**:仅当 `modelMetadata.*` 字段来自 Cursor CLI 2026.09.10-fd3934a 版本时,允许标注 `source-reviewed-unexecuted`,文字为“源码核实、未作原生运行校准”。该标记不表示原生运行已校准,也不代表本次检查启动宿主。
|
|
23
|
+
- **标记语义**:其余 `native-observed` 标记仅表示采用已有原生校准规则,不表示本次检查启动宿主。
|
|
24
|
+
- **边界与退出码**: 项目 root 必须为绝对工作目录,CLI 先将相对输入解析为绝对路径。 项目根不存在或不可绑定 → 退出码 2。 项目存在但技能容器缺失、非目录或为空 → 退出码 1。 已证明本地加载阻断 → 退出码 1。 具体未覆盖或未知竞争 → 退出码 2,且优先于 1。 普通完整静态范围无阻断 → 退出码 0;已有正常技能不能掩盖阻断或未覆盖。 Codex 支持原有 `activationRules`;其余七宿主仅接受省略或 `null`,其他值(包括空数组)返回 2。
|
|
25
|
+
- **数据边界**:保留链接收容与读取边界。未校准的实际竞争、WorkBuddy 尚未校准的可选元信息或版本来源形态及图标解析、Cursor 补全字符串 `false`、CodeBuddy 未证明等价的块标量等,均按具体未覆盖处理,不猜测成功,也不将所有普通输入永久返回 2。
|
|
26
|
+
- **静态通过不等于业务成功**:退出码 0 仅表示静态检查通过,不证明最终启用、安装、更新、会话选择、真实触发或业务执行成功。不得复用 Codex 证据宣称其他宿主已校准。
|
|
23
27
|
|
|
24
28
|
**升级说明**
|
|
25
29
|
|
|
26
|
-
三个 Foundation npm
|
|
30
|
+
三个 Foundation npm 包(`skill-family-engineering-kit`、`skill-family-contracts`、`skill-family-harness-node`)及独立 Plugin 均需精确锁定至 0.26.0 版本,实现四单元锁步。 Contracts 规格保持 1.20.0,与包版本为独立坐标,不随 Kit 升级。 消费方应按精确宿主版本与类别,使用实际已发布的公共接口。 发布说明不替代发布后验证或正式消费者验收。 退出码 0 不构成升级安全保证,不等同于可安全升级或已通过生产验证。
|
|
27
31
|
<!-- release-skill:managed:end id=latest-release -->
|
|
28
32
|
|
|
29
33
|
## 治理检查(0.22.0)
|
|
@@ -64,7 +68,7 @@ Kit 是「工程阶段」层,依赖 Harness 与 Contracts。它只做四件事
|
|
|
64
68
|
|
|
65
69
|
## 安装和最小示例
|
|
66
70
|
|
|
67
|
-
本包版本为 0.
|
|
71
|
+
本包版本为 0.26.0;0.24.1 已正式发布。验证尚未正式发布的工作树时,先把三个包分别打入同一个临时目录,再安装这三个精确 tarball:
|
|
68
72
|
|
|
69
73
|
```sh
|
|
70
74
|
pack_dir="$(mktemp -d)"
|
|
@@ -72,21 +76,21 @@ pack_dir="$(mktemp -d)"
|
|
|
72
76
|
(cd packages/skill-family-harness-node && pnpm pack --pack-destination "$pack_dir")
|
|
73
77
|
(cd packages/skill-family-engineering-kit && pnpm pack --pack-destination "$pack_dir")
|
|
74
78
|
mkdir "$pack_dir/consumer" && (cd "$pack_dir/consumer" && npm init -y)
|
|
75
|
-
(cd "$pack_dir/consumer" && npm install "$pack_dir/skill-family-contracts-0.
|
|
79
|
+
(cd "$pack_dir/consumer" && npm install "$pack_dir/skill-family-contracts-0.26.0.tgz" "$pack_dir/skill-family-harness-node-0.26.0.tgz" "$pack_dir/skill-family-engineering-kit-0.26.0.tgz")
|
|
76
80
|
```
|
|
77
81
|
|
|
78
|
-
以下 registry 安装方式以精确版本 0.
|
|
82
|
+
以下 registry 安装方式以精确版本 0.26.0 已正式可用为前提:
|
|
79
83
|
|
|
80
84
|
```sh
|
|
81
|
-
npm install --save-dev skill-family-engineering-kit@0.
|
|
82
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
83
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
84
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
85
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
86
|
-
npm exec --package=skill-family-engineering-kit@0.
|
|
85
|
+
npm install --save-dev skill-family-engineering-kit@0.26.0
|
|
86
|
+
npm exec --package=skill-family-engineering-kit@0.26.0 -- skill-family-kit --help
|
|
87
|
+
npm exec --package=skill-family-engineering-kit@0.26.0 -- skill-family-kit scaffold --root <empty-dir> --project-id my-project
|
|
88
|
+
npm exec --package=skill-family-engineering-kit@0.26.0 -- skill-family-kit adopt-plan --root <repo> --list-capabilities --all --scope all --locale zh-CN --uses ./uses.json
|
|
89
|
+
npm exec --package=skill-family-engineering-kit@0.26.0 -- skill-family-kit projection --root <repo>
|
|
90
|
+
npm exec --package=skill-family-engineering-kit@0.26.0 -- skill-family-kit check --root <repo>
|
|
87
91
|
```
|
|
88
92
|
|
|
89
|
-
以上四条命令分别覆盖生成骨架、只读盘点、受管投影与诊断;零安装形式可用 `npm exec --package=skill-family-engineering-kit@0.
|
|
93
|
+
以上四条命令分别覆盖生成骨架、只读盘点、受管投影与诊断;零安装形式可用 `npm exec --package=skill-family-engineering-kit@0.26.0 -- skill-family-kit --help`。
|
|
90
94
|
|
|
91
95
|
### 工程声明调用(自 0.24.0 提供)
|
|
92
96
|
|
|
@@ -180,16 +184,89 @@ npm exec -- skill-family-kit check report --root <repo> --report <report.md> --m
|
|
|
180
184
|
|
|
181
185
|
### 宿主加载检查子动作
|
|
182
186
|
|
|
187
|
+
#### 版本边界与能力范围
|
|
188
|
+
|
|
189
|
+
- **0.25.0** 版本已支持对 Codex 0.154.0 的宿主加载检查。
|
|
190
|
+
- **0.26.0** 源码候选版本在相同入口中新增对七宿主的检查能力,但该功能**仍处于候选状态**,正式可用性需以该版本的实际发布验证为准。**请勿使用 0.25.0 发布包运行新增宿主检查**。
|
|
191
|
+
|
|
192
|
+
#### CLI 命令与参数说明
|
|
193
|
+
|
|
194
|
+
公共函数为 `runHostLoadingCheck({ root, hostId, hostVersion, pathCategory, activationRules, hostsRoot })`。以下是对应 CLI 调用;第三条需要包含七宿主增量的版本:
|
|
195
|
+
|
|
183
196
|
```sh
|
|
184
197
|
npm exec -- skill-family-kit check host-loading --root <project> --host codex --host-version 0.154.0 --path-category codex-project-skills
|
|
185
198
|
npm exec -- skill-family-kit check host-loading --root <project> --host codex --host-version 0.154.0 --path-category codex-project-skills --activation-rules <relpath.json> --hosts-root <dir>
|
|
199
|
+
npm exec -- skill-family-kit check host-loading --root <project> --host kimi-code --host-version 2.2.0 --path-category kimi-code-project-skills
|
|
186
200
|
```
|
|
187
201
|
|
|
188
|
-
|
|
202
|
+
- `root`:必须为绝对项目目录路径;CLI 会先解析当前目录或相对路径。
|
|
203
|
+
- `host`:宿主标识符,如 `codex` 或 `kimi-code`。
|
|
204
|
+
- `host-version`:对应宿主版本号,如 `0.154.0` 或 `2.2.0`。
|
|
205
|
+
- `path-category`:宿主技能容器的相对目录类别,例如 `codex-project-skills` 或 `kimi-code-project-skills`。
|
|
206
|
+
- `--activation-rules`:CLI 接收项目根内相对 JSON 文件路径,其内容为有序规则数组,每项选择 `name` 或 `path` 之一,并带 `enabled` 布尔值。只有 Codex 支持这些规则。新增七宿主的 API 参数 `activationRules` 仅允许省略或 `null`,包括 `[]` 在内的任何非 `null` 值都返回 `2`;CLI 应省略该选项。
|
|
207
|
+
- `hosts-root`:可选,指定自定义宿主配置根目录;省略时使用包内默认 Profile。**指定后不得修改已校准的精确版本、类别与相对目录组合**。
|
|
208
|
+
|
|
209
|
+
#### 宿主选择器与实现依据
|
|
210
|
+
|
|
211
|
+
新增七宿主的精确选择器定义于公开源码中:
|
|
212
|
+
|
|
213
|
+
[src/host-loading-native.mjs](src/host-loading-native.mjs) 中的 `NATIVE_HOSTS` 内部表。
|
|
214
|
+
|
|
215
|
+
该表为内部实现结构,不是包根公共导出;它列出新增七宿主支持的精确版本、类别与相对目录组合。Kimi 示例使用 `.kimi-code/skills`。
|
|
216
|
+
|
|
217
|
+
Codex 的选择器仍沿用 [src/host-loading-check.mjs](src/host-loading-check.mjs) 中的常量合同,容器为 `.agents/skills`。
|
|
218
|
+
|
|
219
|
+
#### 检查行为与限制
|
|
220
|
+
|
|
221
|
+
- **不启动宿主、模型、hook 或脚本**。
|
|
222
|
+
- **不联网、不写入文件、不修改任何状态**。
|
|
223
|
+
- **仅静态分析项目容器内指定路径下的技能结构**。
|
|
224
|
+
- **检查范围不涵盖用户全局技能、祖先项目或插件全环境**。
|
|
225
|
+
- **新增七宿主的目录或文件符号链接保留为未覆盖,返回退出码 2,不越界读取**。
|
|
226
|
+
- **仅检查一个显式指定的项目容器**,不推断启用、安装、更新、会话选择或真实业务触发的成功性。
|
|
227
|
+
|
|
228
|
+
#### Codex 保留行为
|
|
229
|
+
|
|
230
|
+
- 同名不同路径的技能全部保留,不合并或覆盖。
|
|
231
|
+
- `SKILL.md` 旁 `agents/` 目录下的标准可选技能元信息 YAML,若存在错误则整份忽略,不导致加载失败。
|
|
232
|
+
- `policy.products` 非空且只列出 Codex 以外产品时才过滤;包含 `codex` 时保留,空列表不触发产品过滤。
|
|
233
|
+
- `allow_implicit_invocation=false` 记录隐式调用关闭,不代表 `enabled=false`;缺少显式启用规则时,`enabled` 仍未知。
|
|
234
|
+
- `activationRules` 仅 Codex 支持传入有序数组,每项为 `name` 或 `path` 二选一,加 `enabled` 布尔值。
|
|
235
|
+
|
|
236
|
+
#### 新增七宿主行为
|
|
237
|
+
|
|
238
|
+
- 所有技能的基础字段 `enabled`、`disabled`、`implicitInvocation`、`interface`、`shortDescription` 均为 `null`。
|
|
239
|
+
- 原生行为差异通过 `skills[].observations` 数组表达,每项包含:
|
|
240
|
+
- `field`:被观察的字段名
|
|
241
|
+
- `value`:观察到的值
|
|
242
|
+
- `basis`:观察依据,`native-observed` 表示该规则曾用原生事实校准,不表示本次检查启动过宿主
|
|
243
|
+
- `sourceId`:来源标识,对应 `coverage.ruleSources` 中的记录
|
|
244
|
+
- `coverage.ruleSources` 记录每条规则的:
|
|
245
|
+
- `id`
|
|
246
|
+
- `version`
|
|
247
|
+
- `source`
|
|
248
|
+
- `sha256`
|
|
249
|
+
- **仅 Cursor CLI 版本 `2026.09.10-fd3934a` 的 `modelMetadata.*` 字段标记为 `source-reviewed-unexecuted`**,表示“源码核实、未作原生运行校准”。
|
|
250
|
+
- Cursor 的菜单与补全面已有原生校准,**不能将此例外推广为整个宿主无原生证据**。
|
|
251
|
+
- Codex 继续使用 `officialTag` 和 `officialCommit`,**不虚构给其他宿主**。
|
|
252
|
+
|
|
253
|
+
#### 退出码与结果解读
|
|
254
|
+
|
|
255
|
+
| 退出码 | 含义 |
|
|
256
|
+
|--------|------|
|
|
257
|
+
| `0` | 请求范围完整,且无已证实阻断 |
|
|
258
|
+
| `1` | 存在已证实阻断,或项目存在但缺技能容器、没有可发现入口;Codex 只有被产品过滤的目标也返回 `1` |
|
|
259
|
+
| `2` | 未知版本/形态、非等价覆盖、非法选择器,或项目根不存在/非目录 |
|
|
260
|
+
|
|
261
|
+
- **有未覆盖项时优先返回 2,但不丢弃已知的 `findings`**。
|
|
262
|
+
- **报告需综合 `findings`、`uncovered`、`limitations` 三部分,不可仅依赖退出码判断**。
|
|
263
|
+
- **同名规则按宿主独立处理,未覆盖时不猜胜者**。
|
|
264
|
+
|
|
265
|
+
#### 重要说明
|
|
189
266
|
|
|
190
|
-
|
|
267
|
+
- 本检查为静态分析,**不证明宿主已启用、已安装、已更新、会话中被选择或业务流程成功**。
|
|
268
|
+
- 发布包来源与检查范围是两个独立判断,消费正式包时需依据实际接口与来源。
|
|
191
269
|
|
|
192
|
-
静态通过不表示真实安装、会话选择或业务执行已经成功。消费以正式发布包的公开接口和源码为准。本次检查覆盖仅所选项目的 `.agents/skills`。发布包的实际来源是本单元公开闭包,与本次检查覆盖范围分别说明。
|
|
193
270
|
|
|
194
271
|
### Candidate Quickstart 投影包
|
|
195
272
|
|
|
@@ -11,7 +11,15 @@
|
|
|
11
11
|
"credentialMutation": "host-managed"
|
|
12
12
|
},
|
|
13
13
|
"sourceAliases": [],
|
|
14
|
-
"pathCategories": [
|
|
14
|
+
"pathCategories": [
|
|
15
|
+
{
|
|
16
|
+
"id": "codebuddy-project-skills",
|
|
17
|
+
"role": "skill-root",
|
|
18
|
+
"scope": "project",
|
|
19
|
+
"anchor": "project-root",
|
|
20
|
+
"relPath": ".codebuddy/skills"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
15
23
|
"probeCapabilities": [
|
|
16
24
|
"cli",
|
|
17
25
|
"version",
|
|
@@ -8,7 +8,15 @@
|
|
|
8
8
|
"sourceAliases": [
|
|
9
9
|
"dsh"
|
|
10
10
|
],
|
|
11
|
-
"pathCategories": [
|
|
11
|
+
"pathCategories": [
|
|
12
|
+
{
|
|
13
|
+
"id": "deepseek-harness-project-skills",
|
|
14
|
+
"role": "skill-root",
|
|
15
|
+
"scope": "project",
|
|
16
|
+
"anchor": "project-root",
|
|
17
|
+
"relPath": ".dsh/skills"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
12
20
|
"probeCapabilities": [
|
|
13
21
|
"cli",
|
|
14
22
|
"version",
|
|
@@ -20,6 +20,13 @@
|
|
|
20
20
|
"scope": "project",
|
|
21
21
|
"anchor": "project-root",
|
|
22
22
|
"relPath": "skills"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "kimi-code-project-skills",
|
|
26
|
+
"role": "skill-root",
|
|
27
|
+
"scope": "project",
|
|
28
|
+
"anchor": "project-root",
|
|
29
|
+
"relPath": ".kimi-code/skills"
|
|
23
30
|
}
|
|
24
31
|
],
|
|
25
32
|
"probeCapabilities": [
|
|
@@ -11,7 +11,15 @@
|
|
|
11
11
|
"authStrategy": "existing-user-state",
|
|
12
12
|
"credentialMutation": "host-managed"
|
|
13
13
|
},
|
|
14
|
-
"pathCategories": [
|
|
14
|
+
"pathCategories": [
|
|
15
|
+
{
|
|
16
|
+
"id": "qoder-project-skills",
|
|
17
|
+
"role": "skill-root",
|
|
18
|
+
"scope": "project",
|
|
19
|
+
"anchor": "project-root",
|
|
20
|
+
"relPath": ".qoder/skills"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
15
23
|
"probeCapabilities": [
|
|
16
24
|
"cli",
|
|
17
25
|
"version",
|
|
@@ -18,6 +18,13 @@
|
|
|
18
18
|
"scope": "project",
|
|
19
19
|
"anchor": "project-root",
|
|
20
20
|
"relPath": "skills"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "workbuddy-project-skills",
|
|
24
|
+
"role": "skill-root",
|
|
25
|
+
"scope": "project",
|
|
26
|
+
"anchor": "project-root",
|
|
27
|
+
"relPath": ".workbuddy/skills"
|
|
21
28
|
}
|
|
22
29
|
],
|
|
23
30
|
"probeCapabilities": [
|
|
@@ -1814,24 +1814,24 @@
|
|
|
1814
1814
|
<tbody>
|
|
1815
1815
|
<tr>
|
|
1816
1816
|
<td><code>skill-family-contracts</code></td>
|
|
1817
|
-
<td>0.
|
|
1817
|
+
<td>0.26.0</td>
|
|
1818
1818
|
<td><a href="https://github.com/ifoohoo/skill-family-contracts">ifoohoo/skill-family-contracts</a></td>
|
|
1819
1819
|
</tr>
|
|
1820
1820
|
<tr>
|
|
1821
1821
|
<td><code>skill-family-harness-node</code></td>
|
|
1822
|
-
<td>0.
|
|
1822
|
+
<td>0.26.0</td>
|
|
1823
1823
|
<td><a href="https://github.com/ifoohoo/skill-family-harness-node">ifoohoo/skill-family-harness-node</a></td>
|
|
1824
1824
|
</tr>
|
|
1825
1825
|
<tr>
|
|
1826
1826
|
<td><code>skill-family-engineering-kit</code></td>
|
|
1827
|
-
<td>0.
|
|
1827
|
+
<td>0.26.0</td>
|
|
1828
1828
|
<td><a href="https://github.com/ifoohoo/skill-family-engineering-kit">ifoohoo/skill-family-engineering-kit</a></td>
|
|
1829
1829
|
</tr>
|
|
1830
1830
|
</tbody>
|
|
1831
1831
|
</table>
|
|
1832
1832
|
<h2 id="独立-Plugin">独立 Plugin<a class="headerlink" href="#独立-Plugin" title="Permanent link">¶</a></h2>
|
|
1833
1833
|
<ul>
|
|
1834
|
-
<li><code>foundation-adoption-review</code>:0.
|
|
1834
|
+
<li><code>foundation-adoption-review</code>:0.26.0,公开镜像 <a href="https://github.com/ifoohoo/foundation-adoption-review">ifoohoo/foundation-adoption-review</a></li>
|
|
1835
1835
|
<li><code>foundation-adoption-review</code>:只读采用诊断</li>
|
|
1836
1836
|
<li><code>foundation-engineering-check</code>:只读静态工程审阅与证明读取</li>
|
|
1837
1837
|
<li><code>foundation-initialize</code>:在明确授权下初始化目标工程,保留业务和人工判断</li>
|