关于 skills-updater
Skills Updater 是用于管理和发现 Claude Code skill 的命令行工具集,支持插件市场与 npx skills 安装来源。它可检查版本、更新市场仓库、处理本地修改并推荐热门 skill。
主要功能
- 01扫描已安装 skill 的更新
- 02更新市场仓库
- 03自动重新安装受影响的 skill
- 04备份并合并本地修改
- 05推荐热门 skill
适用场景
- 01检查已安装 skill 是否有可用更新
- 02刷新市场并重新安装其中的 skill
- 03更新时保留本地编辑
- 04从支持的来源发现推荐 skill
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ yizhiyanhua-ai/ skills-updater --skill skills-updater安装后在 Claude Code 中输入/skills-updater确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.en.mdREADME.md.gitignorereferences/marketplaces.mdscripts/check_updates.pyupdate_marketplace.pyrecommend_skills.pyrecommendations.jsoni18n.py详细介绍
Skills Updater
管理、更新和发现来自多个安装来源的 Claude Code skills。
国际化(i18n)
所有脚本都会自动检测用户的区域设置,并以相应语言显示输出。
支持的语言:
- 英语(en)— 默认
- 中文(zh)— 中文
自动检测顺序:
LANG环境变量LC_ALL环境变量LANGUAGE环境变量- 系统区域设置
手动覆盖:
python scripts/check_updates.py --lang zh # Force Chinese
python scripts/check_updates.py --lang en # Force English
支持的来源
Claude Code 插件(~/.claude/plugins/):
installed_plugins.json— 跟踪已安装 skills 及其版本known_marketplaces.json— 已注册的市场来源cache/— 已安装的 skill 文件
npx skills(如果存在,则为 ~/.skills/):
- 通过
npx skills add <owner/repo>安装的 skills - 由 skills.sh 基础设施管理
更新检查工作流
第 1 步:扫描已安装的 Skills
python scripts/check_updates.py
输出格式:
📦 Installed Skills Status
━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Up-to-date (12):
• skill-creator@daymade-skills (1.2.2)
• github-ops@daymade-skills (1.0.0)
...
⬆️ Updates Available (3):
• planning-with-files@planning-with-files
Local: 2.5.0 → Remote: 2.6.1
• superpowers@superpowers-marketplace
Local: 4.0.3 → Remote: 4.1.0
...
⚠️ Unknown Version (2):
• document-skills@anthropic-agent-skills (unknown)
...
第 2 步:确认更新策略
向用户提供以下选项:
- 全部更新 — 更新所有有可用更新的 skills
- 选择单个项目 — 让用户选择要更新的特定 skills
- 跳过 — 取消更新流程
第 3 步:处理本地修改
更新前,检查是否存在本地修改:
# Check if local skill has uncommitted changes
cd ~/.claude/plugins/cache/<marketplace>/<skill>/<version>
git status --porcelain
如果检测到本地更改:
- 备份已修改的文件
- 拉取远程更新
- 尝试进行三方合并
- 如果存在冲突:
- 向用户显示冲突文件
- 提供手动解决或保留本地版本的选项
第 4 步:执行更新
对于 Claude Code 插件:
# Trigger marketplace refresh and skill reinstall
# This uses Claude Code's built-in update mechanism
claude /install <skill-name>@<marketplace>
对于 npx skills:
npx skills add <owner/repo> --force
市场更新后自动安装
update_marketplace.py 脚本可以在更新市场仓库后,自动重新安装受影响的 skills。
用法
# Update marketplace only (show affected skills)
python scripts/update_marketplace.py anthropic-agent-skills
# Update marketplace AND auto-reinstall affected skills
python scripts/update_marketplace.py anthropic-agent-skills --auto-install
# Output as JSON
python scripts/update_marketplace.py anthropic-agent-skills --json
# Force language
python scripts/update_marketplace.py anthropic-agent-skills --lang zh
输出(中文区域设置)
📡 正在获取远程更新...
当前提交: e5c60158df67
远程提交: 69c0b1a06741
状态: 落后 6 个提交
📝 更新内容:
• 69c0b1a Add link to Agent Skills specification website
• be229a5 Fix links in agent skills specification
...
📦 受影响的技能: document-skills
📥 正在更新市场: anthropic-agent-skills
✅ 市场更新成功
🔄 正在重新安装受影响的技能...
正在安装: document-skills
✅ 已安装: document-skills
✅ 所有受影响的技能已更新
工作流
- 获取远程内容 — 通过 Git fetch 检查更新
- 比较提交 — 显示落后多少个提交
- 列出受影响的 skills — 查找来自此市场的已安装 skills
- 拉取更新 — 通过 Git pull 更新本地市场
- 自动重新安装 — (使用
--auto-install时)重新安装每个受影响的 skill
Skill 推荐
获取热门 Skills
python scripts/recommend_skills.py --source all
来源:
- skills.sh — 按安装量排名的排行榜
- skillsmp.com — 精选市场(如果可访问)
输出格式
🔥 Trending Skills
━━━━━━━━━━━━━━━━━━
From skills.sh:
1. vercel-react-best-practices (25.5K installs)
npx skills add vercel/react-best-practices
2. web-design-guidelines (19.2K installs)
npx skills add webdesign/guidelines
3. remotion-best-practices (2.2K installs)
npx skills add remotion/best-practices
💡 Personalized Recommendations:
Based on your installed skills (developer-tools, productivity):
- playwright-skill - Browser automation testing
- github-ops - GitHub CLI operations
安装推荐的 Skill
显示推荐内容后,提供安装选项:
Would you like to install any of these skills?
1. Install by number (e.g., "1" or "1,3,5")
2. Install by name
3. Skip
版本检测方法
主要方法:marketplace.json
从远程 marketplace.json 读取版本:
curl -s "https://raw.githubusercontent.com/<owner>/<repo>/main/.claude-plugin/marketplace.json" | jq '.plugins[] | select(.name == "<skill>") | .version'
备用方法:GitHub API
如果 marketplace.json 不可用或未指定版本:
# Get latest release tag
curl -s "https://api.github.com/repos/<owner>/<repo>/releases/latest" | jq -r '.tag_name'
# Or latest commit on main
curl -s "https://api.github.com/repos/<owner>/<repo>/commits/main" | jq -r '.sha[:7]'
提交 SHA 比较
对于按提交跟踪的 skills(例如 e30768372b41):
# Compare local gitCommitSha with remote HEAD
local_sha=$(jq -r '.plugins["<key>"][0].gitCommitSha' ~/.claude/plugins/installed_plugins.json)
remote_sha=$(curl -s "https://api.github.com/repos/<owner>/<repo>/commits/main" | jq -r '.sha')
if [ "$local_sha" != "$remote_sha" ]; then
echo "Update available"
fi
智能合并策略
存在本地修改时:
-
识别已修改的文件:
git diff --name-only HEAD -
对更改分类:
- SKILL.md 自定义内容 → 保留用户部分
- scripts/ 修改 → 保留本地版本,并注明以供审核
- references/ 新增内容 → 合并两者
- assets/ → 如果版本不同,则保留两个版本
-
合并方法:
# Pseudo-code for smart merge for file in modified_files: if file == 'SKILL.md': merge_skill_md(local, remote) # Preserve user customizations elif file.startswith('scripts/'): backup_and_warn(local) # User scripts need review else: three_way_merge(base, local, remote)
用户交互模式
检查更新
用户说:“检查 skills 更新” / “check skill updates” / “update my skills”
→ 运行 scripts/check_updates.py 并显示结果
更新特定 Skill
用户说:“更新 skill-creator” / “update skill-creator”
→ 仅检查并更新指定的 skill
发现新 Skills
用户说:“推荐一些好用的 skills” / “recommend skills” / “popular skills”
→ 运行 scripts/recommend_skills.py 并显示精选列表
完整更新工作流
用户说:“更新所有 skills” / “update all skills”
→ 扫描 → 确认 → 处理合并 → 更新 → 报告结果
错误处理
网络错误:使用指数退避重试,并缓存最近一次已知状态
权限错误:建议使用适当的权限运行
合并冲突:显示冲突标记,并提供解决选项:
- 接受本地版本(保留你的更改)
- 接受远程版本(使用上游版本)
- 手动合并(显示差异)
缺少市场:如果源已不可用,则告知用户
资源
scripts/
check_updates.py- 扫描并比较已安装版本与远程版本recommend_skills.py- 从市场获取热门技能update_marketplace.py- 更新市场代码仓库并自动重新安装技能i18n.py- 国际化模块(区域设置检测、翻译)
references/
marketplaces.md- 支持的市场文档
添加新语言
要添加新语言,请编辑 scripts/i18n.py:
- 在
TRANSLATIONS字典中添加翻译:
TRANSLATIONS["ja"] = {
"checking_updates": "スキルの更新を確認中...",
# ... other translations
}
- 更新
detect_locale(),以识别新的区域设置:
if lang_lower.startswith('ja'):
return 'ja'