3.0 KiB
3.0 KiB
ADDED Requirements
Requirement: 用户可以安装 skill 到全局目录
工具必须支持将 skill 安装到用户主目录下的平台配置目录(如 ~/.claude/skills/)。
Scenario: 全局安装到 Claude Code
- WHEN 用户执行
skillmgr install skill <name> --platform claude --global - THEN 系统将 skill 复制到
~/.claude/skills/<name>/
Scenario: 全局安装到 OpenCode
- WHEN 用户执行
skillmgr install skill <name> --platform opencode --global - THEN 系统将 skill 复制到
~/.config/opencode/skills/<name>/
Requirement: 用户可以安装 skill 到项目目录
工具必须支持将 skill 安装到当前项目目录下的平台配置目录。
Scenario: 项目级安装到 Claude Code
- WHEN 用户在项目目录执行
skillmgr install skill <name> --platform claude - THEN 系统将 skill 复制到
./claude/skills/<name>/
Scenario: 项目级安装到 OpenCode
- WHEN 用户在项目目录执行
skillmgr install skill <name> --platform opencode - THEN 系统将 skill 复制到
./.opencode/skills/<name>/
Requirement: 系统必须在所有源仓库中查找 skill
工具必须在所有已配置的源仓库缓存中搜索指定的 skill。
Scenario: 在第一个仓库找到
- WHEN 第一个仓库包含目标 skill
- THEN 系统使用该仓库的 skill 进行安装
Scenario: 在后续仓库找到
- WHEN 前面的仓库不包含目标 skill,但后续仓库包含
- THEN 系统使用找到的第一个匹配仓库
Scenario: 所有仓库都不包含
- WHEN 所有源仓库都不包含目标 skill
- THEN 系统报错"skill '' not found in any repository"
Requirement: 用户可以临时指定源仓库
工具必须支持通过 --from 参数临时指定源仓库 URL,不保存到配置文件。
Scenario: 使用临时仓库安装
- WHEN 用户执行
skillmgr install skill <name> --platform claude --global --from <git-url> - THEN 系统从指定 URL 拉取仓库并安装,不修改 repository.json
Requirement: 系统必须处理目录已存在的情况
工具必须在安装前检查目标目录是否已存在,并根据情况处理。
Scenario: install.json 有记录且目录存在
- WHEN 目标 skill 已通过 skillmgr 安装
- THEN 系统询问用户是否覆盖,默认为否
Scenario: install.json 无记录但目录存在
- WHEN 目标目录存在但不在 install.json 中
- THEN 系统询问用户是否覆盖该目录,默认为否
Scenario: 用户拒绝覆盖
- WHEN 用户选择不覆盖
- THEN 系统取消安装,不修改任何文件
Requirement: 系统必须记录安装操作
工具必须在成功安装后将记录写入 ~/.skillmgr/install.json。
Scenario: 记录包含完整信息
- WHEN 安装成功完成
- THEN 系统在 install.json 中添加包含 type、name、platform、scope、install_path、installed_at、updated_at 的记录