release-skill 0.9.9 → 0.9.10

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.10",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.10",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.10",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -19,7 +19,7 @@
19
19
  ],
20
20
  "defaultPrompt": [
21
21
  "Assess this project for release readiness.",
22
- "Prepare a release plan for version 0.9.9.",
22
+ "Prepare a release plan for version 0.9.10.",
23
23
  "Help me understand the release workflow."
24
24
  ]
25
25
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.10",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ <!-- release-skill:changelog:start version=0.9.10 locale=en baseline=sha256:4cd32926b3d8e0da10ec909f58268636c3e6025f59cd7f24d313460cf5524b7b -->
4
+ ## [0.9.10] - 2026-09-04
5
+
6
+ 0.9.10 is a local source candidate that removes release-skill's private marketplace and makes Skill Family Hub the single marketplace source. It consumes the three Foundation packages at the exact 0.16.0 release. The release workspace publishes a verified entry and the Hub's seven-file public snapshot through GitHub's Git Data API after verification. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance.
7
+
8
+ ### Security
9
+
10
+ - Hub branch updates are compare-and-swap writes against the observed main commit. Concurrent movement fails closed; a public-Hub failure after the private commit is retained as a recoverable partial result and is never rolled back or force-pushed.
11
+
12
+ ### Changed
13
+
14
+ - Removed the bundled Claude, Codex, and adapter marketplace indexes from the release-skill package. Plugin manifests remain available for installation through Skill Family Hub.
15
+ - Installation guidance now uses `ifoohoo/skill-family-hub` and `release-skill@skill-family-hub` for Claude Code, Codex, CodeBuddy, and WorkBuddy.
16
+ - After a release reaches VERIFIED, the project-private postVerify hook applies the proposal with the Hub's own receiver, runs the Hub release gate once, and publishes the private and public Hub commits through GitHub's Git Data API with non-forced branch updates.
17
+
18
+ ### Upgrade Notes
19
+
20
+ Remove any `release-skill` standalone marketplace registration from each host, add or update `ifoohoo/skill-family-hub`, and install `release-skill@skill-family-hub`.
21
+ <!-- release-skill:changelog:end version=0.9.10 locale=en -->
22
+
23
+
3
24
  <!-- release-skill:changelog:start version=0.9.9 locale=en baseline=sha256:44d7cba7d5e4cbe182157c8b200e3a2d9b494d61a9555cd5af5c62c97a60fb37 -->
4
25
  ## [0.9.9] - 2026-09-04
5
26
 
package/INSTALL.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [简体中文](INSTALL.zh-CN.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.9 -->
5
+ <!-- release-skill:release-version: 0.9.10 -->
6
6
  ## Prerequisites
7
7
 
8
8
  - Node.js 22.0.0 or later
@@ -35,12 +35,11 @@ release-skill help
35
35
 
36
36
  You should see the version number and the list of available commands.
37
37
 
38
- ## Install as a plugin (bundled-family marketplace — recommended)
38
+ ## Install as a plugin (Skill Family Hub — recommended)
39
39
 
40
40
  Claude Code, CodeBuddy, WorkBuddy, and Codex install release-skill from the
41
- bundled-family marketplace [ifoohoo/release-skill](https://github.com/ifoohoo/release-skill).
42
- The plugin repository itself carries the marketplace manifest
43
- (`.claude-plugin/marketplace.json`), so no external marketplace is required.
41
+ central [Skill Family Hub](https://github.com/ifoohoo/skill-family-hub).
42
+ The release-skill repository carries plugin manifests but no marketplace index.
44
43
  release-skill currently invokes no scriptable install API for Kimi Code — see the
45
44
  [Kimi Code section](#install-as-a-kimi-code-plugin). Add the marketplace once,
46
45
  then install the plugin:
@@ -48,21 +47,21 @@ then install the plugin:
48
47
  > **Prerequisite: GitHub access.** The `owner/repo` shorthand makes Claude Code
49
48
  > clone via `git@github.com:...` (SSH), which requires a GitHub public key
50
49
  > configured on this machine. If you do not use SSH, either pass the full HTTPS
51
- > URL — `/plugin marketplace add https://github.com/ifoohoo/release-skill` — or
50
+ > URL — `/plugin marketplace add https://github.com/ifoohoo/skill-family-hub` — or
52
51
  > set `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`.
53
52
 
54
53
  **Claude Code** (interactive session):
55
54
 
56
55
  ```
57
- /plugin marketplace add ifoohoo/release-skill
58
- /plugin install release-skill@release-skill
56
+ /plugin marketplace add ifoohoo/skill-family-hub
57
+ /plugin install release-skill@skill-family-hub
59
58
  ```
60
59
 
61
60
  **CodeBuddy / WorkBuddy:**
62
61
 
63
62
  ```bash
64
- codebuddy plugin marketplace add ifoohoo/release-skill
65
- codebuddy plugin install release-skill@release-skill
63
+ codebuddy plugin marketplace add ifoohoo/skill-family-hub
64
+ codebuddy plugin install release-skill@skill-family-hub
66
65
  ```
67
66
 
68
67
  WorkBuddy desktop installs only through a registered marketplace: after the
@@ -71,7 +70,7 @@ WorkBuddy desktop installs only through a registered marketplace: after the
71
70
  **OpenAI Codex:**
72
71
 
73
72
  ```bash
74
- codex plugin marketplace add ifoohoo/release-skill
73
+ codex plugin marketplace add ifoohoo/skill-family-hub
75
74
  ```
76
75
 
77
76
  Then install `release-skill` from the interactive `/plugins` browser.
@@ -84,15 +83,12 @@ task and does not verify its completion.
84
83
 
85
84
  ### Alternative: direct repository install (advanced)
86
85
 
87
- The unified marketplace above is the supported primary path. Direct
88
- installation from the release repository remains available for advanced
89
- scenarios:
86
+ The Hub marketplace above is the supported primary path. Direct installation
87
+ remains available only where the host supports a repository URL:
90
88
 
91
- - Claude Code: `/plugin marketplace add ifoohoo/release-skill`, then
92
- `/plugin install release-skill@release-skill`.
93
89
  - Kimi Code: the version-pinned `/plugins install <release-tag URL>` documented
94
90
  in the [Kimi Code section](#install-as-a-kimi-code-plugin) below.
95
- - CodeBuddy: single-session use directly from a source checkout via
91
+ - CodeBuddy: single-session use from a source checkout via
96
92
  `--plugin-dir <path>/adapters/workbuddy` (see the
97
93
  [CodeBuddy/WorkBuddy section](#install-as-a-codebuddyworkbuddy-plugin)).
98
94
 
@@ -114,7 +110,7 @@ tag pinned to the exact version (never the bare repository URL, which installs
114
110
  the latest release or default branch), confirm the trust prompt, then reload:
115
111
 
116
112
  ```
117
- /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.9
113
+ /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.10
118
114
  /plugins reload
119
115
  ```
120
116
 
package/INSTALL.zh-CN.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [English](INSTALL.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.9 -->
5
+ <!-- release-skill:release-version: 0.9.10 -->
6
6
  ## 前置条件
7
7
 
8
8
  - Node.js 22.0.0 或更高版本
@@ -32,32 +32,31 @@ release-skill help
32
32
 
33
33
  输出中应包含版本号和可用命令列表。
34
34
 
35
- ## 安装为插件(bundled-family 市场——推荐)
35
+ ## 安装为插件(Skill Family Hub——推荐)
36
36
 
37
- Claude Code、CodeBuddy、WorkBuddy 和 Codex 从 bundled-family 市场
38
- [ifoohoo/release-skill](https://github.com/ifoohoo/release-skill)
39
- 安装 release-skill。插件仓库自身携带市场清单
40
- (`.claude-plugin/marketplace.json`),无需外部市场。release-skill 当前没有接入
37
+ Claude Code、CodeBuddy、WorkBuddy 和 Codex 从统一的
38
+ [Skill Family Hub](https://github.com/ifoohoo/skill-family-hub)
39
+ 安装 release-skill。release-skill 仓库只携带插件清单,不再携带市场索引。当前没有接入
41
40
  Kimi Code 的可脚本化安装接口,见 [Kimi Code 小节](#安装为-kimi-code-插件)。先添加一次市场,再安装
42
41
  插件:
43
42
 
44
43
  > **前置条件:GitHub 访问。** `owner/repo` 简写会让 Claude Code 通过
45
44
  > `git@github.com:...`(SSH)克隆,需要本机配置 GitHub 公钥。如不使用 SSH,
46
- > 可传完整 HTTPS 地址——`/plugin marketplace add https://github.com/ifoohoo/release-skill`——
45
+ > 可传完整 HTTPS 地址——`/plugin marketplace add https://github.com/ifoohoo/skill-family-hub`——
47
46
  > 或设置 `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`。
48
47
 
49
48
  **Claude Code**(交互会话中):
50
49
 
51
50
  ```
52
- /plugin marketplace add ifoohoo/release-skill
53
- /plugin install release-skill@release-skill
51
+ /plugin marketplace add ifoohoo/skill-family-hub
52
+ /plugin install release-skill@skill-family-hub
54
53
  ```
55
54
 
56
55
  **CodeBuddy / WorkBuddy:**
57
56
 
58
57
  ```bash
59
- codebuddy plugin marketplace add ifoohoo/release-skill
60
- codebuddy plugin install release-skill@release-skill
58
+ codebuddy plugin marketplace add ifoohoo/skill-family-hub
59
+ codebuddy plugin install release-skill@skill-family-hub
61
60
  ```
62
61
 
63
62
  WorkBuddy 桌面端只能通过已注册的市场安装:执行上面的 `marketplace add`
@@ -66,7 +65,7 @@ WorkBuddy 桌面端只能通过已注册的市场安装:执行上面的 `marke
66
65
  **OpenAI Codex:**
67
66
 
68
67
  ```bash
69
- codex plugin marketplace add ifoohoo/release-skill
68
+ codex plugin marketplace add ifoohoo/skill-family-hub
70
69
  ```
71
70
 
72
71
  然后在交互式 `/plugins` 浏览器中安装 `release-skill`。
@@ -78,10 +77,8 @@ release-skill 当前对 Kimi Code 采用钉死版本的交互式 TUI 路径。
78
77
 
79
78
  ### 备选:直接从仓库安装(进阶)
80
79
 
81
- 上面的统一市场是受支持的主路径。直接从发布仓库安装仍可用于进阶场景:
80
+ 上面的 Hub 市场是受支持的主路径。只有宿主支持仓库 URL 时,才能直接安装:
82
81
 
83
- - Claude Code:`/plugin marketplace add ifoohoo/release-skill`,然后
84
- `/plugin install release-skill@release-skill`。
85
82
  - Kimi Code:下文 [Kimi Code 小节](#安装为-kimi-code-插件)中版本钉死的
86
83
  `/plugins install <release-tag URL>`。
87
84
  - CodeBuddy:源码检出后通过 `--plugin-dir <path>/adapters/workbuddy`
@@ -104,7 +101,7 @@ release-skill 当前只采用并验证 Kimi Code 的交互式 TUI 路径,**无
104
101
  (切勿使用裸仓库地址,它会安装最新 release 或默认分支),确认信任提示后重新加载:
105
102
 
106
103
  ```
107
- /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.9
104
+ /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.10
108
105
  /plugins reload
109
106
  ```
110
107
 
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [简体中文](README.zh-CN.md) · Installation: [English](INSTALL.md) / [简体中文](INSTALL.zh-CN.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.9 -->
5
+ <!-- release-skill:release-version: 0.9.10 -->
6
6
  Release preparation for Claude Code, CodeBuddy, WorkBuddy, Codex, and Kimi Code, with human-edited files kept intact.
7
7
 
8
8
  release-skill helps a maintainer answer three questions: what will be released,
@@ -14,31 +14,27 @@ Setup surfaces only the deterministic `compactSummary` review view; the full
14
14
  report stays in a temporary session directory.
15
15
 
16
16
  <!-- release-skill:managed:start id=latest-release -->
17
- **0.9.9** (2026-09-04)
17
+ **0.9.10** (2026-09-04)
18
18
 
19
- 0.9.9 is a local source candidate that makes Kimi Code plugin trust compare the complete displayed installation identity with the frozen URL. It consumes the three Foundation packages at the exact 0.16.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance.
19
+ 0.9.10 is a local source candidate that removes release-skill's private marketplace and makes Skill Family Hub the single marketplace source. It consumes the three Foundation packages at the exact 0.16.0 release. The release workspace publishes a verified entry and the Hub's seven-file public snapshot through GitHub's Git Data API after verification. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance.
20
20
 
21
21
  **Security**
22
22
 
23
- - Kimi Code extracts the complete installation identity from the plugin trust dialog, removes ANSI/OSC control sequences and soft wrapping, and compares the result exactly with the frozen installation URL. Similar repository names and tag prefixes or suffixes fail closed.
24
- - Claude and Codex continue to verify the frozen marketplace repository, ref, and commit before the first marketplace or plugin write when a rebind is required. An unreachable remote, missing ref, or commit mismatch returns `MANUAL_REQUIRED` for that host with zero host writes; other selected hosts continue.
25
- - Kimi Code continues only when the selected row is confirmed as `Trust and install`. A `Trust this folder?` dialog, an unknown screen, timeout, EOF, or mismatched identity fails closed before unintended confirmation.
26
- - Any host plan remains a qualified frozen-plan path and requires a VERIFIED-run from the same release lineage before host acceptance; this source candidate does not provide that acceptance.
23
+ - Hub branch updates are compare-and-swap writes against the observed main commit. Concurrent movement fails closed; a public-Hub failure after the private commit is retained as a recoverable partial result and is never rolled back or force-pushed.
27
24
 
28
25
  **Changed**
29
26
 
30
- - The English and Chinese README scope descriptions identify 0.9.9 as the current source candidate.
31
- - The public release-finish flow continues to treat a `proposal-inbox` postVerify hook as proposal delivery plus delivery evidence. The receiver applies, renders, and synchronizes the proposal under its own runbook and governance; no Hub repository or push sequence is built into the public Skill.
32
- - Kimi Code continues to resolve its effective configuration root from explicit `kimiHome`, then `KIMI_CODE_HOME`, then `~/.kimi-code`; the TUI process and post-install observation use the same root.
33
- - The current 0.9.9 candidate keeps the narrow R-05 Hook cache v2 consumer path, keeps the CodeBuddy plugin entry explicit as `marketplace: release-skill`, and keeps `--root <project-root>` in release-finish local-finish examples. Foundation dependencies remain pinned to the three released 0.16.0 packages.
27
+ - Removed the bundled Claude, Codex, and adapter marketplace indexes from the release-skill package. Plugin manifests remain available for installation through Skill Family Hub.
28
+ - Installation guidance now uses `ifoohoo/skill-family-hub` and `release-skill@skill-family-hub` for Claude Code, Codex, CodeBuddy, and WorkBuddy.
29
+ - After a release reaches VERIFIED, the project-private postVerify hook applies the proposal with the Hub's own receiver, runs the Hub release gate once, and publishes the private and public Hub commits through GitHub's Git Data API with non-forced branch updates.
34
30
 
35
31
  **Upgrade Notes**
36
32
 
37
- Prepare and approve a new 0.9.9 production plan for these changes. After verify reaches `VERIFIED`, complete every declared postVerify hook with its own immutable checkpoint approval before running release-finish. Real-host acceptance can begin only after 0.9.9 is officially published and VERIFIED; the official 0.9.9 entry must be installed or reloaded first. A source candidate, an older installed entry, or the mere existence of plan and run files cannot complete real-host acceptance. Each selected host must complete a first successful update. On the second run, Claude, Kimi, CodeBuddy, and WorkBuddy must report `ALREADY_CURRENT`; Codex may report `UPDATED` only when it reinstalls the same exact 0.9.9 frozen reference, payload validation passes, and `restartRequired=true` is declared. The local updater uses the Kimi Code TUI path verified for 0.40.1; it does not switch to a web or REST installation path. Confirm that the complete frozen installation URL shown by the plugin trust dialog is exact, and never approve a folder-trust dialog as part of plugin installation. This candidate does not claim that 0.9.9 has already been published or VERIFIED.
33
+ Remove any `release-skill` standalone marketplace registration from each host, add or update `ifoohoo/skill-family-hub`, and install `release-skill@skill-family-hub`.
38
34
  <!-- release-skill:managed:end id=latest-release -->
39
35
 
40
36
  <!-- release-skill:capability:external-write-boundary -->
41
- > **Current boundary:** v0.9.9 is the current source candidate. This README
37
+ > **Current boundary:** v0.9.10 is the current source candidate. This README
42
38
  > records intended scope and verification boundaries; it is not evidence of
43
39
  > publication, consumer-installation verification, or independent acceptance.
44
40
  > Release availability must be established from the corresponding release records
@@ -62,7 +58,7 @@ Prepare and approve a new 0.9.9 production plan for these changes. After verify
62
58
  > publish global preflight.
63
59
 
64
60
  <!-- release-skill:capability:safe-first-command -->
65
- > **Production path verified since the v0.1.1 milestone; v0.9.9 is the current
61
+ > **Production path verified since the v0.1.1 milestone; v0.9.10 is the current
66
62
  > source candidate. Its README does not establish publication,
67
63
  > consumer-installation verification, or independent acceptance.**
68
64
  > The npm-installed CLI is the supported user entry. Source checkout
@@ -91,20 +87,22 @@ checkpoints remain intact and use matching-version recovery. Evidence v1 stays
91
87
  read-only; v2 uses a closed top level with phase extensions in `details`.
92
88
  Summaries and recovery suggestions are diagnostic, never publication authority.
93
89
 
94
- The current 0.9.9 candidate includes the narrow R-05 Hook cache v2 consumer
90
+ The current 0.9.10 candidate includes the narrow R-05 Hook cache v2 consumer
95
91
  path, the public `postverify` path, and the stable isolated install-tree record
96
- path (A2/A3). It still
92
+ path (A2/A3). It also removes the repository's own marketplace indexes and
93
+ uses Skill Family Hub as the single marketplace source. It still
97
94
  excludes R-02 safe full-tree inventory, R-10 historical-release verification
98
95
  implementation, real Kimi/WorkBuddy public-marketplace installation and
99
96
  invocation gates, and an Audit public offline release-record verifier.
100
97
  Foundation dependencies are pinned to the three released 0.16.0 packages.
101
- For new bundled-family Kimi/CodeBuddy plans, verify calls the released
98
+ For Kimi/CodeBuddy plans that still use the bundled-family distribution form,
99
+ verify calls the released
102
100
  `runPluginVerification` entry with the complete frozen payload and records a
103
101
  minimal `install-only` observation receipt. Kimi maps to `kimi-code`; CodeBuddy
104
102
  maps to the compatible `workbuddy` host. `observed` and `payloadMatches` are
105
103
  mechanism facts, not remote publication or release-domain VERIFIED facts.
106
- Standalone marketplace sources, real marketplace installation, and host
107
- invocation remain manual follow-ups.
104
+ Real marketplace installation and host invocation remain post-release host
105
+ operations.
108
106
  This scope summary is not a remote publication record or a consumer upgrade instruction.
109
107
 
110
108
  <!-- release-skill:maturity:distribute-v1 -->
@@ -237,17 +235,17 @@ npx release-skill help
237
235
 
238
236
  **Plugin (Claude Code / CodeBuddy / WorkBuddy / Codex):**
239
237
 
240
- Claude Code, CodeBuddy, WorkBuddy, and Codex install from the bundled-family
241
- marketplace `ifoohoo/release-skill`:
238
+ Claude Code, CodeBuddy, WorkBuddy, and Codex install from the central
239
+ Skill Family Hub marketplace:
242
240
 
243
241
  ```
244
- /plugin marketplace add ifoohoo/release-skill
245
- /plugin install release-skill@release-skill
242
+ /plugin marketplace add ifoohoo/skill-family-hub
243
+ /plugin install release-skill@skill-family-hub
246
244
  ```
247
245
 
248
246
  > **Prerequisite: GitHub access.** The `owner/repo` shorthand makes Claude Code
249
247
  > clone via SSH. If you do not use SSH, pass the full HTTPS URL —
250
- > `/plugin marketplace add https://github.com/ifoohoo/release-skill` — or set
248
+ > `/plugin marketplace add https://github.com/ifoohoo/skill-family-hub` — or set
251
249
  > `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`.
252
250
 
253
251
  **Kimi Code:** release-skill currently invokes no scriptable install API for
package/README.zh-CN.md CHANGED
@@ -2,37 +2,33 @@
2
2
 
3
3
  [English](README.md) · 安装指南:[中文](INSTALL.zh-CN.md) / [English](INSTALL.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.9 -->
5
+ <!-- release-skill:release-version: 0.9.10 -->
6
6
  面向 Claude Code、CodeBuddy、WorkBuddy、Codex 和 Kimi Code 的发布准备工具,完整保留人工维护的文件内容。
7
7
 
8
8
  release-skill 帮助维护者回答三个问题:准备发布什么、还有哪些检查未通过、最终发布的内容是什么。它不重新生成、也不回写项目源文件。`prepare` 把每个配置的公开文件复制到隔离快照并验证字节——先冻结并供人工审阅,再从同一份冻结产物发布。`setup` 只显示确定性的 `compactSummary` 审阅视图,完整报告保留在临时会话目录中。
9
9
 
10
10
  <!-- release-skill:managed:start id=latest-release -->
11
- **0.9.9** (2026-09-04)
11
+ **0.9.10** (2026-09-04)
12
12
 
13
- 0.9.9 是修正 Kimi Code 插件信任身份精确比较的本地源码候选。三项 Foundation 依赖均精确消费已发布的 0.16.0。本说明不代表已经发布、完成真实宿主验收、完成消费者安装验证或通过独立验收。
13
+ 0.9.10 是删除 release-skill 自有市场、统一以 Skill Family Hub 为市场来源的本地源码候选,三项 Foundation 依赖均精确使用已发布的 0.16.0。发布验证完成后,发布工作区会通过 GitHub Git Data API 更新 Hub 条目及七文件公开快照。本说明不代表已经发布、完成真实宿主验收、完成消费者安装验证或通过独立验收。
14
14
 
15
15
  **安全**
16
16
 
17
- - Kimi Code 会从插件信任对话框提取完整安装身份,清除 ANSI/OSC 控制序列并归一软换行,再与冻结安装 URL 精确比较。相似仓库名、tag 前缀或 tag 后缀均失败关闭。
18
- - Claude 和 Codex 继续在确实需要重绑时,于第一条市场或插件写命令前验证冻结的 marketplace 仓库、ref 和 commit。远端不可达、ref 缺失或 commit 不一致时,该宿主以零写入返回 `MANUAL_REQUIRED`,其他已选宿主继续。
19
- - Kimi Code 只有在选中项确认为 `Trust and install` 时才继续。出现 `Trust this folder?`、未知界面、超时、EOF 或身份不一致时,在意外确认前失败关闭。
20
- - 任何宿主计划都必须是合格冻结计划,并要求同一发布谱系的 VERIFIED run 才能开始宿主验收;本源码候选不提供该验收。
17
+ - Hub 分支更新以已观察的 main commit 做比较后写入,禁止强推;并发漂移会失败关闭。若私有 Hub 已提交而公开 Hub 失败,则保留可恢复的 PARTIAL 状态,不回滚、不覆盖。
21
18
 
22
19
  **变更**
23
20
 
24
- - 中英文 README 的范围说明统一把 0.9.9 标为当前源码候选。
25
- - 公共 release-finish 继续只把 `proposal-inbox` postVerify hook 定义为提案送达和送达证据。接收端按自身 runbook 和治理应用、渲染与同步提案;公共 Skill 不内置 Hub 仓库或推送顺序。
26
- - Kimi Code 有效配置根继续依次取显式 `kimiHome`、`KIMI_CODE_HOME` `~/.kimi-code`;TUI 进程与安装后观察使用同一根目录。
27
- - 当前 0.9.9 候选保留窄范围的 R-05 Hook cache v2 消费路径,保留 CodeBuddy 插件显式的 `marketplace: release-skill` 条目,并在 release-finish 本机收尾示例中保留 `--root <project-root>`。Foundation 三包继续精确依赖已发布的 0.16.0。
21
+ - release-skill 包中删除 Claude、Codex 及适配器内的自有市场索引;插件清单继续保留,由 Skill Family Hub 提供安装入口。
22
+ - Claude Code、Codex、CodeBuddy WorkBuddy 的安装说明统一改为 `ifoohoo/skill-family-hub` `release-skill@skill-family-hub`。
23
+ - 发布达到 VERIFIED 后,项目私有的 postVerify hook 会调用 Hub 自身接收器应用提案,只运行一次 Hub 发布门禁,再通过 GitHub Git Data API 发布 Hub 私有真源和公开快照。
28
24
 
29
25
  **升级说明**
30
26
 
31
- 采用这些修复时,应准备并批准新的 0.9.9 production plan。verify 达到 `VERIFIED` 后,先用各 hook 独立的不可变 checkpoint approval 完成所有已声明 postVerify,再运行 release-finish。真实宿主验收只有在 0.9.9 正式发布并达到 VERIFIED 后才能开始;必须先安装或重载正式的 0.9.9 入口。源码候选、旧的已安装入口,或仅存在计划和运行文件,都不能完成真实宿主验收。每个已选宿主都必须完成首次成功更新。第二次运行时,Claude、Kimi、CodeBuddy 和 WorkBuddy 必须返回 `ALREADY_CURRENT`;Codex 可以返回 `UPDATED`,但只有在重新安装同一精确 0.9.9 冻结引用、载荷验证通过并声明 `restartRequired=true` 时才允许这样返回。本机 updater 采用已针对 Kimi Code 0.40.1 验证的 TUI 路径,不切换到 Web 或 REST 安装路径。插件信任界面显示的完整冻结安装 URL 必须精确一致;插件安装过程中不得批准目录信任界面。本候选不宣称 0.9.9 已经发布或达到 VERIFIED。
27
+ 在各宿主删除独立的 `release-skill` 市场登记,添加或更新 `ifoohoo/skill-family-hub`,再安装 `release-skill@skill-family-hub`。
32
28
  <!-- release-skill:managed:end id=latest-release -->
33
29
 
34
30
  <!-- release-skill:capability:external-write-boundary -->
35
- > **当前边界:** v0.9.9 只是当前源码候选。本 README 记录预期范围与验证边界,
31
+ > **当前边界:** v0.9.10 只是当前源码候选。本 README 记录预期范围与验证边界,
36
32
  > 不代表已经发布、完成消费者安装验证或通过独立验收。
37
33
  > 版本可用性以对应发布记录及发布后验证结果为准。
38
34
  > v0.4.1 是更早的已发布里程碑(v0.2.2 曾处于已发布状态,后因平台验证收敛修复而更新)。
@@ -48,7 +44,7 @@ release-skill 帮助维护者回答三个问题:准备发布什么、还有哪
48
44
  > 远端唯一性检查在 `publish` 全局预检执行。
49
45
 
50
46
  <!-- release-skill:capability:safe-first-command -->
51
- > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.9.9 是当前源码候选,本 README 不证明该候选已经发布、完成消费者安装验证或通过独立验收。**
47
+ > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.9.10 是当前源码候选,本 README 不证明该候选已经发布、完成消费者安装验证或通过独立验收。**
52
48
  > npm 安装的 CLI 是受支持的用户入口;源码 checkout 保留为开发/贡献者路径。
53
49
  >
54
50
  > **第一条命令:**
@@ -66,9 +62,18 @@ marketplace 委托目标工作区发布的边界不变。
66
62
 
67
63
  旧 production 计划缺少 `sourceAuthority` 时,在外部写入前拒绝。未发生外部写入的计划必须重新 prepare 并批准新摘要,不能补写旧计划或迁移批准。已有 `PARTIAL` 保留检查点,走匹配版本的恢复路径。evidence v1 只读;v2 顶层封闭,阶段扩展放在 `details`。摘要和恢复建议只作诊断,不构成发布权威。
68
64
 
69
- 当前 0.9.9 候选包含窄范围的 R-05 Hook cache v2 消费路径、公开 `postverify` 路径和稳定隔离安装树记录路径(A2/A3)。当前仍不包含 R-02 安全整树盘点、R-10 历史发布验证的产品实现、真实 Kimi/WorkBuddy 公开市场安装与调用门禁或 Audit 公开离线发布记录验证器。本范围说明不构成远端发布记录或消费者升级指引。
65
+ 当前 0.9.10 候选包含窄范围的 R-05 Hook cache v2 消费路径、公开 `postverify`
66
+ 路径和稳定隔离安装树记录路径(A2/A3),并删除仓库自有市场索引,统一以
67
+ Skill Family Hub 为市场来源。当前仍不包含 R-02 安全整树盘点、R-10 历史发布验证
68
+ 的产品实现、真实 Kimi/WorkBuddy 公开市场安装与调用门禁或 Audit 公开离线发布记录
69
+ 验证器。本范围说明不构成远端发布记录或消费者升级指引。
70
70
 
71
- Foundation 三包精确依赖已发布的 0.16.0。新生成的 Kimi/CodeBuddy 同仓计划在 verify 阶段调用正式 `runPluginVerification`,把完整冻结载荷交给 Foundation,并记录最小的 `install-only` 观察收据。Kimi 映射为 `kimi-code`,CodeBuddy 映射为兼容的 `workbuddy`。`observed` 与 `payloadMatches` 只表示机制观察结果,不代表远端已发布或 release-skill 已完成领域验证。独立市场来源、真实市场安装和宿主调用仍是人工后续任务。
71
+ Foundation 三包精确依赖已发布的 0.16.0。仍采用 bundled-family 分发形态的
72
+ Kimi/CodeBuddy 计划会在 verify 阶段调用正式 `runPluginVerification`,把完整冻结载荷
73
+ 交给 Foundation,并记录最小的 `install-only` 观察收据。Kimi 映射为 `kimi-code`,
74
+ CodeBuddy 映射为兼容的 `workbuddy`。`observed` 与 `payloadMatches` 只表示机制观察结果,
75
+ 不代表远端已发布或 release-skill 已完成领域验证。真实市场安装和宿主调用仍是发布后
76
+ 宿主操作。
72
77
 
73
78
  <!-- release-skill:maturity:distribute-v1 -->
74
79
  <!-- release-skill:capability:distribute -->
@@ -185,17 +190,16 @@ npx release-skill help
185
190
 
186
191
  **插件(Claude Code / CodeBuddy / WorkBuddy / Codex):**
187
192
 
188
- Claude Code、CodeBuddy、WorkBuddy 和 Codex bundled-family 市场
189
- `ifoohoo/release-skill` 安装:
193
+ Claude Code、CodeBuddy、WorkBuddy 和 Codex 从统一的 Skill Family Hub 市场安装:
190
194
 
191
195
  ```
192
- /plugin marketplace add ifoohoo/release-skill
193
- /plugin install release-skill@release-skill
196
+ /plugin marketplace add ifoohoo/skill-family-hub
197
+ /plugin install release-skill@skill-family-hub
194
198
  ```
195
199
 
196
200
  > **前置条件:GitHub 访问。** `owner/repo` 简写会让 Claude Code 通过 SSH 克隆。
197
201
  > 如不使用 SSH,可传完整 HTTPS 地址——
198
- > `/plugin marketplace add https://github.com/ifoohoo/release-skill`——
202
+ > `/plugin marketplace add https://github.com/ifoohoo/skill-family-hub`——
199
203
  > 或设置 `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`。
200
204
 
201
205
  **Kimi Code:** release-skill 当前无可脚本化安装接口接入,只采用钉死版本的交互式
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.10",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -9,9 +9,9 @@ const __bundlePkgRoot = __bundleResolve(__bundleDirname(__bundleFileURLToPath(im
9
9
  // Provide a real require() for CJS packages bundled into ESM (e.g. yaml, ajv).
10
10
  const __bundleRealRequire = __bundleCreateRequire(import.meta.url);
11
11
  // Package identity injected at build time — closure-independent --version probe.
12
- const __bundlePkg = Object.freeze({"name":"release-skill","version":"0.9.9"});
12
+ const __bundlePkg = Object.freeze({"name":"release-skill","version":"0.9.10"});
13
13
  // Build-time source digest for the BUNDLE_STALE freshness gate (see above).
14
- const __bundleSourceDigest = "ef2ec274a982afcf48acdbccdf32439d199dd1d79b4a39b1aeaef23195fadbfb";
14
+ const __bundleSourceDigest = "b5ea47eca1374c2a893a3a56dd274973673ff0fe4e424564f55e6646b7763b3a";
15
15
 
16
16
  var __create = Object.create;
17
17
  var __defProp = Object.defineProperty;
@@ -42134,8 +42134,7 @@ var init_registry2 = __esm({
42134
42134
  name: "claude",
42135
42135
  pluginDirName: ".claude-plugin",
42136
42136
  templateFileName: "plugin.json",
42137
- marketplaceFileName: "marketplace.json",
42138
- hasMarketplace: true
42137
+ hasMarketplace: false
42139
42138
  }),
42140
42139
  strategy: Object.freeze({
42141
42140
  parseListOutput: claudeParseListOutput,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.10",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -19,7 +19,7 @@
19
19
  ],
20
20
  "defaultPrompt": [
21
21
  "Assess this project for release readiness.",
22
- "Prepare a release plan for version 0.9.9.",
22
+ "Prepare a release plan for version 0.9.10.",
23
23
  "Help me understand the release workflow."
24
24
  ]
25
25
  }
@@ -9,9 +9,9 @@ const __bundlePkgRoot = __bundleResolve(__bundleDirname(__bundleFileURLToPath(im
9
9
  // Provide a real require() for CJS packages bundled into ESM (e.g. yaml, ajv).
10
10
  const __bundleRealRequire = __bundleCreateRequire(import.meta.url);
11
11
  // Package identity injected at build time — closure-independent --version probe.
12
- const __bundlePkg = Object.freeze({"name":"release-skill","version":"0.9.9"});
12
+ const __bundlePkg = Object.freeze({"name":"release-skill","version":"0.9.10"});
13
13
  // Build-time source digest for the BUNDLE_STALE freshness gate (see above).
14
- const __bundleSourceDigest = "ef2ec274a982afcf48acdbccdf32439d199dd1d79b4a39b1aeaef23195fadbfb";
14
+ const __bundleSourceDigest = "b5ea47eca1374c2a893a3a56dd274973673ff0fe4e424564f55e6646b7763b3a";
15
15
 
16
16
  var __create = Object.create;
17
17
  var __defProp = Object.defineProperty;
@@ -42134,8 +42134,7 @@ var init_registry2 = __esm({
42134
42134
  name: "claude",
42135
42135
  pluginDirName: ".claude-plugin",
42136
42136
  templateFileName: "plugin.json",
42137
- marketplaceFileName: "marketplace.json",
42138
- hasMarketplace: true
42137
+ hasMarketplace: false
42139
42138
  }),
42140
42139
  strategy: Object.freeze({
42141
42140
  parseListOutput: claudeParseListOutput,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.10",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -9,9 +9,9 @@ const __bundlePkgRoot = __bundleResolve(__bundleDirname(__bundleFileURLToPath(im
9
9
  // Provide a real require() for CJS packages bundled into ESM (e.g. yaml, ajv).
10
10
  const __bundleRealRequire = __bundleCreateRequire(import.meta.url);
11
11
  // Package identity injected at build time — closure-independent --version probe.
12
- const __bundlePkg = Object.freeze({"name":"release-skill","version":"0.9.9"});
12
+ const __bundlePkg = Object.freeze({"name":"release-skill","version":"0.9.10"});
13
13
  // Build-time source digest for the BUNDLE_STALE freshness gate (see above).
14
- const __bundleSourceDigest = "ef2ec274a982afcf48acdbccdf32439d199dd1d79b4a39b1aeaef23195fadbfb";
14
+ const __bundleSourceDigest = "b5ea47eca1374c2a893a3a56dd274973673ff0fe4e424564f55e6646b7763b3a";
15
15
 
16
16
  var __create = Object.create;
17
17
  var __defProp = Object.defineProperty;
@@ -42134,8 +42134,7 @@ var init_registry2 = __esm({
42134
42134
  name: "claude",
42135
42135
  pluginDirName: ".claude-plugin",
42136
42136
  templateFileName: "plugin.json",
42137
- marketplaceFileName: "marketplace.json",
42138
- hasMarketplace: true
42137
+ hasMarketplace: false
42139
42138
  }),
42140
42139
  strategy: Object.freeze({
42141
42140
  parseListOutput: claudeParseListOutput,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.10",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -9,9 +9,9 @@ const __bundlePkgRoot = __bundleResolve(__bundleDirname(__bundleFileURLToPath(im
9
9
  // Provide a real require() for CJS packages bundled into ESM (e.g. yaml, ajv).
10
10
  const __bundleRealRequire = __bundleCreateRequire(import.meta.url);
11
11
  // Package identity injected at build time — closure-independent --version probe.
12
- const __bundlePkg = Object.freeze({"name":"release-skill","version":"0.9.9"});
12
+ const __bundlePkg = Object.freeze({"name":"release-skill","version":"0.9.10"});
13
13
  // Build-time source digest for the BUNDLE_STALE freshness gate (see above).
14
- const __bundleSourceDigest = "ef2ec274a982afcf48acdbccdf32439d199dd1d79b4a39b1aeaef23195fadbfb";
14
+ const __bundleSourceDigest = "b5ea47eca1374c2a893a3a56dd274973673ff0fe4e424564f55e6646b7763b3a";
15
15
 
16
16
  var __create = Object.create;
17
17
  var __defProp = Object.defineProperty;
@@ -42134,8 +42134,7 @@ var init_registry2 = __esm({
42134
42134
  name: "claude",
42135
42135
  pluginDirName: ".claude-plugin",
42136
42136
  templateFileName: "plugin.json",
42137
- marketplaceFileName: "marketplace.json",
42138
- hasMarketplace: true
42137
+ hasMarketplace: false
42139
42138
  }),
42140
42139
  strategy: Object.freeze({
42141
42140
  parseListOutput: claudeParseListOutput,
@@ -9,9 +9,9 @@ const __bundlePkgRoot = __bundleResolve(__bundleDirname(__bundleFileURLToPath(im
9
9
  // Provide a real require() for CJS packages bundled into ESM (e.g. yaml, ajv).
10
10
  const __bundleRealRequire = __bundleCreateRequire(import.meta.url);
11
11
  // Package identity injected at build time — closure-independent --version probe.
12
- const __bundlePkg = Object.freeze({"name":"release-skill","version":"0.9.9"});
12
+ const __bundlePkg = Object.freeze({"name":"release-skill","version":"0.9.10"});
13
13
  // Build-time source digest for the BUNDLE_STALE freshness gate (see above).
14
- const __bundleSourceDigest = "ef2ec274a982afcf48acdbccdf32439d199dd1d79b4a39b1aeaef23195fadbfb";
14
+ const __bundleSourceDigest = "b5ea47eca1374c2a893a3a56dd274973673ff0fe4e424564f55e6646b7763b3a";
15
15
 
16
16
  var __create = Object.create;
17
17
  var __defProp = Object.defineProperty;
@@ -42134,8 +42134,7 @@ var init_registry2 = __esm({
42134
42134
  name: "claude",
42135
42135
  pluginDirName: ".claude-plugin",
42136
42136
  templateFileName: "plugin.json",
42137
- marketplaceFileName: "marketplace.json",
42138
- hasMarketplace: true
42137
+ hasMarketplace: false
42139
42138
  }),
42140
42139
  strategy: Object.freeze({
42141
42140
  parseListOutput: claudeParseListOutput,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.10",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -23,7 +23,6 @@
23
23
  "release-skill": "./bin/release-skill.mjs"
24
24
  },
25
25
  "files": [
26
- ".agents/",
27
26
  ".claude-plugin/",
28
27
  ".codebuddy-plugin/",
29
28
  ".codex-plugin/",
@@ -2,11 +2,11 @@
2
2
  "schemaVersion": "1.0.0",
3
3
  "platformId": "release-skill",
4
4
  "platformName": "release-skill Plugin Platform",
5
- "version": "0.9.9",
5
+ "version": "0.9.10",
6
6
  "logicalRoot": "skills-src/",
7
7
  "logicalRootDigest": "aec96745b30289ed48d576fbfc98ecd3aacb834f83394be76d4734d7d0fc0ad4",
8
8
  "projectionDigest": "e5117d89c9f965e15a1464cc84f542cb1e75a685f842183d0cfc7a105ace5ceb",
9
- "projectionId": "release-skill:platform:0.9.9",
9
+ "projectionId": "release-skill:platform:0.9.10",
10
10
  "manifestRequired": true,
11
11
  "projectionSources": {
12
12
  "skills-src-root": {
@@ -187,8 +187,7 @@ const CLAUDE = Object.freeze({
187
187
  name: 'claude',
188
188
  pluginDirName: '.claude-plugin',
189
189
  templateFileName: 'plugin.json',
190
- marketplaceFileName: 'marketplace.json',
191
- hasMarketplace: true,
190
+ hasMarketplace: false,
192
191
  }),
193
192
  strategy: Object.freeze({
194
193
  parseListOutput: claudeParseListOutput,
@@ -199,8 +199,8 @@ export function computeBuildAdaptersDigest(sourceBytes) {
199
199
 
200
200
  // Platform definitions, derived from the platform registry (the single source
201
201
  // of platform knowledge). The build shape mirrors the legacy inline table
202
- // byte-for-byte: marketplaceFileName is present only when the platform
203
- // co-locates a marketplace manifest in its plugin dir (claude).
202
+ // marketplaceFileName is present only when a platform adapter is itself a
203
+ // marketplace. Plugin payload adapters do not create private marketplaces.
204
204
  //
205
205
  // The build adapter NAME defaults to the platform id, but a platform may keep a
206
206
  // historical directory name distinct from its pipeline id via
@@ -1,32 +0,0 @@
1
- {
2
- "name": "release-skill",
3
- "interface": {
4
- "displayName": "Release Skill",
5
- "shortDescription": "Safe preparation and frozen GitHub/npm production publishing",
6
- "category": "DevOps"
7
- },
8
- "plugins": [
9
- {
10
- "name": "release-skill",
11
- "source": {
12
- "source": "local",
13
- "path": "./"
14
- },
15
- "policy": {
16
- "installation": "AVAILABLE",
17
- "authentication": "ON_INSTALL"
18
- },
19
- "category": "DevOps",
20
- "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification"
21
- },
22
- {
23
- "name": "foundation-adoption-review",
24
- "source": {
25
- "source": "url",
26
- "url": "https://github.com/ifoohoo/foundation-adoption-review.git",
27
- "ref": "refs/tags/foundation-adoption-review-v0.1.0",
28
- "sha": "7e8032735f7589dbbeecc1012c8f6a1f32390ada"
29
- }
30
- }
31
- ]
32
- }
@@ -1,30 +0,0 @@
1
- {
2
- "name": "release-skill",
3
- "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
4
- "owner": {
5
- "name": "ifoohoo",
6
- "url": "https://github.com/ifoohoo"
7
- },
8
- "plugins": [
9
- {
10
- "name": "release-skill",
11
- "source": "./",
12
- "version": "0.9.9",
13
- "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
14
- "author": {
15
- "name": "广州市风荷科技有限公司"
16
- },
17
- "license": "Apache-2.0"
18
- },
19
- {
20
- "name": "foundation-adoption-review",
21
- "source": {
22
- "source": "github",
23
- "repo": "ifoohoo/foundation-adoption-review",
24
- "ref": "foundation-adoption-review-v0.1.0",
25
- "sha": "7e8032735f7589dbbeecc1012c8f6a1f32390ada"
26
- },
27
- "version": "0.1.0"
28
- }
29
- ]
30
- }
@@ -1,20 +0,0 @@
1
- {
2
- "name": "release-skill",
3
- "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
4
- "owner": {
5
- "name": "ifoohoo",
6
- "url": "https://github.com/ifoohoo"
7
- },
8
- "plugins": [
9
- {
10
- "name": "release-skill",
11
- "source": "./",
12
- "version": "0.9.9",
13
- "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
14
- "author": {
15
- "name": "广州市风荷科技有限公司"
16
- },
17
- "license": "Apache-2.0"
18
- }
19
- ]
20
- }