skillhub/openspec/changes/add-skill-suites/proposal.md
XiaoSeS accd0e1f67 docs(spec): define skill suite lifecycle and compatibility
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
2026-09-07 16:52:26 +08:00

44 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Why
SkillHub 当前只能逐个发布和安装 Skill无法把一组已经发布、彼此协作的 Skill 作为一个可版本化、可审核、可一次安装的产品交付。Issue #715 提出的真实需求是保留成员 Skill 的独立性,同时为团队工作流、入门工具集和专家套件提供稳定的集合身份、成员快照和安装生命周期。
## What Changes
- 新增 Namespace 所有的 `SkillSuite` 及不可变的 `SkillSuiteVersion`
- SuiteVersion 只引用当前 Registry 中已经发布的精确 SkillVersion不重新上传、创建、扫描或发布成员 Skill。
- Skill 与 Suite 使用类型化身份;同一 Namespace 下允许二者使用相同 slug同类型 Suite 仍保持 `(namespace, slug)` 唯一。
- 新增 Suite 创建、编辑、审核、发布、下架、归档、查询和安装接口;新增显式类型化的资源发现入口,现有 Skill 搜索接口继续只返回 Skill。
- 新增 `skillhub suite install/check/upgrade/remove`,成员继续安装为标准 Agent SkillSuite 本身不生成同名 `SKILL.md`
- Suite 安装采用完整预检、全部暂存、fingerprint 校验和整体提交/回滚,避免部分安装。
- CLI inventory 记录 Suite 快照以及每个成员的直接安装和 Suite 来源,安全处理共享成员的卸载。
- 新增人类可编辑的 `suite.yaml`,仅作为 Suite 定义和发布输入,不改变现有单 Skill ZIP 协议。
## Decision Relative to Issue #715
本变更保留 Issue #715 的核心目标——版本化管理一组 Skill 并一次安装——但有意调整原提案中的三项实现:
- 不接受一份 Suite ZIP 自动创建多个 Skillv1 只组合已经独立发布的 SkillVersion避免部分发布、所有权冲突和重复扫描。
- 不为每个 Member 复制审核任务Member 已经完成自身审核Suite 只审核集合元数据、成员关系、可见性和可安装性。
- 不让既有 `skillhub install` 猜测资源类型Suite 使用 `skillhub suite install`,保证旧 CLI 和 Skill/Suite 同 slug 时行为确定。
“批量发布多个 Skill 后创建 Suite”可以作为后续 CLI 编排能力,但不会改变上述领域模型。
## Capabilities
### New Capabilities
- `skill-suites`: 定义 Skill Suite 的身份、成员关系、版本与审核生命周期、可见性、查询、原子安装、升级和卸载行为。
### Modified Capabilities
无。仓库尚无已归档 OpenSpec capability现有 Skill 发布和安装契约保持兼容。
## Impact
- **Domain / persistence**:新增 Suite 聚合、版本、成员快照和仓储;审核任务支持类型化目标。
- **API / OpenAPI**:新增 Suite 管理、审核、解析、安装计划和类型化资源发现接口;现有 Skill API 响应保持兼容;需要重新生成 Web 类型。
- **Web**:新增 Suite 列表、详情、编辑、版本和安装指引,并在搜索结果中展示 Skill/Suite 类型。
- **CLI**:新增 Suite 子命令、整组安装事务和 inventory schema 的向后兼容扩展。
- **Security / governance**成员仍使用现有扫描和审核结果Suite 只审核元数据与成员组成,不重复扫描成员包。
- **Compatibility**:现有 `skillhub install`、单 Skill ZIP、Skill URL 和已安装 Skill 不改变;旧 CLI 只是无法使用新 Suite 命令。
- **Out of scope**:嵌套 Suite、版本范围、跨 Registry 成员、可选成员、MCP/Hook/Agent 插件包、Suite 自动批量创建成员 Skill。