skillmgr
一个用于管理和分发 LLM 编程助手命令和技能的 CLI 工具。
功能特性
- 从 git 仓库拉取 skills 和 commands
- 支持多平台部署(Claude Code、OpenCode)
- 支持全局安装和项目级安装
- 事务性安装,避免安装失败导致的文件污染
- 完整的安装追踪和管理
安装
# 从源码构建
git clone https://github.com/your/skills.git
cd skills/manager
make build
# 将可执行文件添加到 PATH
cp bin/skillmgr /usr/local/bin/
快速开始
# 添加仓库
skillmgr add https://github.com/your/skills-repo.git --name my-skills
# 同步仓库内容
skillmgr sync
# 搜索可用的 skills 和 commands
skillmgr search
# 安装 skill 到 Claude Code(全局)
skillmgr install skill my-skill --platform claude --global
# 安装 command 到 OpenCode(项目级)
skillmgr install command my-cmd --platform opencode
命令参考
仓库管理
# 添加仓库
skillmgr add <url> --name <name> [--branch <branch>]
# 移除仓库
skillmgr remove <name>
# 列出仓库
skillmgr repos
# 同步仓库(拉取最新)
skillmgr sync [name]
安装管理
# 安装
skillmgr install <skill|command> <name> --platform <claude|opencode> [--global]
# 卸载
skillmgr uninstall <skill|command> <name> --platform <claude|opencode> [--global]
# 更新
skillmgr update <skill|command> <name> --platform <claude|opencode> [--global]
skillmgr update --all
# 列出已安装
skillmgr list [--type <skill|command>] [--platform <claude|opencode>] [--global]
# 搜索可用项
skillmgr search [keyword] [--type <skill|command>] [--repo <name>]
# 清理孤立记录
skillmgr clean [--dry-run]
平台适配
Claude Code
- Skills 安装到
~/.claude/skills/<skill-name>/(全局) 或./.claude/skills/<skill-name>/(项目) - Commands 安装到
~/.claude/commands/<cmd-name>/(全局) 或./.claude/commands/<cmd-name>/(项目) - 保持原始目录结构
OpenCode
- Skills 全局安装到
~/.config/opencode/skills/<skill-name>/,项目级安装到./.opencode/skills/<skill-name>/ - Commands 全局安装到
~/.config/opencode/commands/,项目级安装到./.opencode/commands/ - Command 文件名扁平化:
<group>-<action>.md - 例如:
commands/lyxy-kb/init.md→~/.config/opencode/commands/lyxy-kb-init.md
配置文件
仓库配置
位置:~/.skillmgr/repository.json
{
"repositories": [
{
"name": "my-skills",
"url": "https://github.com/user/skills.git",
"branch": "main",
"added_at": "2024-01-01T00:00:00Z"
}
]
}
安装记录
位置:~/.skillmgr/install.json
{
"installations": [
{
"type": "skill",
"name": "my-skill",
"source_repo": "my-skills",
"platform": "claude",
"scope": "global",
"install_path": "/Users/xxx/.claude/skills/my-skill",
"installed_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
]
}
仓库结构
skillmgr 期望源仓库具有以下结构:
your-skills-repo/
├── skills/
│ ├── skill-a/
│ │ ├── SKILL.md # 必需:skill 定义文件
│ │ └── ... # 其他支持文件
│ └── skill-b/
│ └── SKILL.md
└── commands/
├── cmd-group-a/
│ ├── init.md
│ └── run.md
└── cmd-group-b/
└── action.md
测试
# 运行所有测试
make test
# 运行单元测试
make test-unit
# 生成覆盖率报告
make test-coverage
# 使用沙盒环境手动测试
make sandbox
测试环境变量
SKILLMGR_TEST_ROOT: 覆盖配置目录(~/.skillmgr)SKILLMGR_TEST_BASE: 覆盖安装基础目录(用户主目录或当前目录)
故障排除
常见问题
-
Git clone 失败
- 检查网络连接
- 确认仓库 URL 正确
- 对于私有仓库,确保已配置 SSH 密钥或 token
-
找不到 skill/command
- 运行
skillmgr sync更新本地缓存 - 使用
skillmgr search查看可用项
- 运行
-
安装冲突
- 已安装的项会提示覆盖确认
- 使用
skillmgr uninstall先卸载
-
孤立记录
- 当文件被手动删除时,使用
skillmgr clean清理记录
- 当文件被手动删除时,使用
开发
# 依赖
make deps
# 构建
make build
# 代码格式化
make fmt
# 代码检查
make lint
License
MIT