| name | skill-manager |
| homepage | https://github.com/cat-xierluo/legal-skills |
| author | 杨卫薪律师(微信ywxlaw) |
| version | 1.7.0 |
| description | 管理 Claude Code、Codex、OpenClaw 和 QoderWork Skills 的安装、版本追踪、更新检查和项目 Agent 初始化。支持从本地路径或 GitHub 仓库安装,自动识别 .codex/.claude/.openclaw/.qoderworkcn 目标目录,记录每个 Skill 的安装时间、来源 URL 和版本号,检查 GitHub 更新,并通过 init 命令创建 Agent skills 符号链接结构使多 Agent 共享同一技能来源。 |
| license | Complete terms in LICENSE.txt |
Skill Manager
管理 Claude Code、Codex、OpenClaw 和 QoderWork Skills/Commands 的安装、同步、卸载、列表查看和项目 Agent 初始化。
前置条件
- Git 已安装(用于 GitHub 克隆)
- 有写入目标 Agent 配置目录的权限,例如
.codex/skills/、.claude/skills/、.openclaw/skills/、.qoderworkcn/skills/
安装行为
- 本地路径 (Skill) → 符号链接(保持与源同步)
- 本地路径 (Command) → 符号链接(保持与源同步)
- 本地集合目录 → 批量符号链接
- GitHub 仓库/子目录 → 克隆后删除 .git(静态复制)+ 自动安全检查
目标目录识别
执行安装、列表、卸载、更新时,脚本会从调用目录向上查找 Agent 配置目录:
- 在
/Users/maoking/.codex 或其子目录调用时,目标为 /Users/maoking/.codex/skills/
- 在
~/.qoderworkcn 或其子目录调用时,目标为 ~/.qoderworkcn/skills/
- 在项目根目录包含
.codex/、.claude/、.openclaw/、.workbuddy/ 或 .qoderworkcn/ 时,目标为对应配置目录下的 skills/ 或 commands/
- 在
.codex/skills/、.claude/skills/、.openclaw/skills/、.qoderworkcn/skills/ 内调用时,目标为其上级配置目录
- 如需显式指定目标根目录,可使用
--target 参数或设置 SKILL_MANAGER_TARGET_DIR=/path/to/.codex
- 从全局配置目录(如
~/.claude、~/.qoderworkcn)调用时,会尝试通过 git 自动发现项目本地目录,并打印告警
支持的来源类型
本地路径(符号链接)
skill-manager install ~/skills/pdf-tool
skill-manager install ~/commands/deepresearch.md
skill-manager install ~/skills/external-skills/
skill-manager install ~/commands/
GitHub 仓库根目录(克隆,删除 .git)
skill-manager install https://github.com/owner/skill-repo
skill-manager install owner/skill-repo
GitHub 子目录(稀疏克隆,删除 .git)
skill-manager install https://github.com/jgtolentino/insightpulse-odoo/tree/main/docs/claude-code-skills/community
skill-manager install jgtolentino/insightpulse-odoo/main/docs/claude-code-skills/community
工作流程
安装
- 检测来源类型 - 自动识别本地路径、GitHub 仓库或子目录
- 检测 Item 类型 - 自动识别是 Skill(目录)还是 Command(.md 文件)
- 检测是否为集合目录 - 检查目录是否包含多个 items
- 批量处理模式 - 如果是集合目录,遍历所有 items 并分别安装
- 本地来源 - 创建符号链接,保持与源同步更新
- GitHub 仓库根 - 使用
git clone --depth 1 浅克隆
- GitHub 子目录 - 使用稀疏克隆(sparse checkout)仅获取指定目录
- 冲突处理 - 已存在时先备份为
.backup,然后安装新版本
安装命令
scripts/install.sh [--target <dir>] <source>
scripts/install.sh ~/dev/my-skills/pdf-tool
scripts/install.sh ~/dev/my-commands/deepresearch.md
scripts/install.sh ~/dev/my-skills/
scripts/install.sh ~/dev/my-commands/
scripts/install.sh https://github.com/anthropics/claude-code
scripts/install.sh jgtolentino/insightpulse-odoo/main/docs/claude-code-skills/community
scripts/install.sh --target /path/to/project/.claude ~/dev/my-skills/pdf-tool
列出已安装 Items
scripts/list.sh
显示当前识别到的 Agent 配置目录下所有已安装的 items 及其类型(符号链接或克隆)。
卸载
scripts/remove.sh <name>
删除指定的 skill 或 command(自动识别类型)。
更新
scripts/update.sh [name]
- 不指定参数:更新所有通过 git 克隆的 skills
- 指定名称:更新指定的 skill
- 注意:符号链接的 items 会自动与源同步,无需手动更新
检查更新
scripts/check.sh
检查所有远程安装 Skills 的更新状态,检测策略:
- 有版本号 → 直接比较本地与远程版本号
- 无版本号 → 检查远程仓库最近 Commits,与安装时间对比
- 子目录安装 → 精确检查 Skill 所在子目录的 Commits
显示:
- 📦 有可用更新的 Skills
- ✅ 已是最新版本的 Skills
- ⚠️ 检查失败的 Skills(无来源信息等)
每次安装和更新都会自动记录到 assets/skill-registry.json。
查看已安装记录
python3 scripts/record.py list
显示所有已安装 Skills 的详细记录,包括:
项目初始化
scripts/init.sh [选项]
为项目根目录创建 Agent 配置目录结构,使不同 Agent(QoderWork、WorkBuddy、Codex、OpenClaw 等)在项目中工作时都能发现 Claude Code Skills。
核心操作:在项目根目录下,为每个 Agent 创建 相对符号链接 {agent}/skills -> ../.claude/skills。.claude/skills/ 是所有 Agent skills 的符号链接根源——不复制、不双写,单一来源。
默认行为:初始化 .codex、.openclaw、.workbuddy、.qoderworkcn 四个 Agent(不包含 .claude,因其 skills/ 是来源)。
scripts/init.sh
scripts/init.sh --qoderwork --workbuddy
scripts/init.sh --all
scripts/init.sh --dry-run
scripts/init.sh --gitignore
选项:
--all:初始化所有 Agent(含 .codex .claude .openclaw .workbuddy .qoderworkcn)
--qoderwork:仅初始化 .qoderworkcn
--workbuddy:仅初始化 .workbuddy
--codex:仅初始化 .codex
--openclaw:仅初始化 .openclaw
--claude:也初始化 .claude(通常不需要,其 skills 目录是来源)
--dry-run:预览模式,仅显示将要执行的操作
--gitignore:同步更新项目 .gitignore,追加 .{agent}/ 条目
冲突处理:
- 符号链接已正确指向
.claude/skills → 跳过
- 符号链接指向其他地方 → 移除后重建
- 存在实体目录 → 带时间戳备份后创建符号链接
项目根目录查找:优先使用 git rev-parse --show-toplevel,其次向上遍历查找含 .claude/skills/ 的目录。
识别规则
Skill 目录规则
一个目录被视为有效的 skill 目录,如果它包含:
SKILL.md 文件(标准 skill)
- 或
skill.md 文件(变体)
- 或
.codex / .claude / .openclaw 子目录
Command 文件规则
集合目录规则
- Skills 集合:包含多个 skill 子目录
- Commands 集合:包含多个
.md 文件
使用示例
skill-manager install ~/dev/my-skills/pdf-tool
skill-manager install ~/dev/my-skills/
skill-manager install ../other-project/.claude/skills/
cd /Users/maoking/.codex
skill-manager install ~/dev/my-skills/pdf-tool
cd ~/.qoderworkcn
skill-manager install ~/dev/my-skills/pdf-tool
skill-manager install --target /path/to/project/.claude ~/dev/my-skills/pdf-tool
skill-manager install https://github.com/anthropics/claude-code
skill-manager install anthropics/claude-code
skill-manager install https://github.com/jgtolentino/insightpulse-odoo/tree/main/docs/claude-code-skills/community
skill-manager install jgtolentino/insightpulse-odoo/main/docs/claude-code-skills/community
skill-manager list
skill-manager remove pdf-tool
skill-manager check
skill-manager update
skill-manager update claude-code
python3 scripts/record.py list
安全检查
从 GitHub 安装 skill 时,会自动进行安全检查(本地安装不检查)。
检测内容
| 类别 | 说明 |
|---|
| 危险代码模式 | 命令执行、敏感文件访问、数据外泄、代码混淆、权限提升等 |
| Skill 特有风险 | 安装钩子、MCP 服务器配置等 |
| 提示词安全 | 提示注入、数据收集指令、执行指令、欺骗性描述等 |
| 硬编码凭证 | API Key、Token、密码等敏感信息 |
风险等级
- 🔴 CRITICAL - 极高风险,强烈建议不要使用
- 🟠 HIGH - 高风险,需审计后使用
- 🟡 MEDIUM - 中等风险,使用前请检查
- 🟢 LOW - 低风险,建议定期检查
- ✅ NONE - 未发现明显风险
注意事项
- 安全检查需要 Python 3 环境,无 Python 时静默跳过
- 检查发现问题不会阻止安装,仅输出警告报告
- 建议在安装外部 skill 后仔细阅读安全报告
注册表 Schema
每个已安装的 Skill 记录在 assets/skill-registry.json 中,包含以下字段:
| 字段 | 说明 |
|---|
name | Skill 目录名 |
source | 原始安装来源(本地路径或 GitHub URL) |
install_type | "local"(符号链接)或 "remote"(GitHub 克隆) |
installed_at | 初始安装时间(ISO 8601) |
last_updated | 最后版本更新时间 |
last_check_at | 最后一次更新检查时间(仅远程) |
installed_version | 安装时的版本号 |
current_version | 当前已安装版本 |
latest_version | 远程最新版本 |
install_commit | 安装时的 Git commit hash(仅远程) |
install_branch | 安装时使用的 Git branch(仅远程) |
remote_url | 完整 GitHub URL,含子目录路径(仅远程) |
remote_subpath | Skill 在仓库中的子路径(仅子目录安装) |
description | Skill 描述 |
homepage | 主页 URL |
目录结构
skill-manager/
├── SKILL.md # 本文件
├── CHANGELOG.md # 变更日志
├── CLAUDE.md # AI 开发助手说明
├── LICENSE.txt # 许可证
├── scripts/
│ ├── install.sh # 安装脚本
│ ├── list.sh # 列表脚本
│ ├── remove.sh # 卸载脚本
│ ├── update.sh # 更新脚本
│ ├── check.sh # 更新检查脚本
│ ├── init.sh # 项目 Agent 初始化脚本
│ ├── auto-check.sh # 定期自动检查触发器
│ ├── target.sh # Agent 配置目录识别模块
│ ├── record.py # 记录管理模块
│ └── security.py # 安全检查模块
└── assets/ # 资源文件
├── skill-registry.json # Skill 安装记录(运行时生成)
└── skill-registry.example.json # 注册表示例