skills-updater by yizhiyanhua-ai/skills-updater
npx skills add https://github.com/yizhiyanhua-ai/skills-updater --skill skills-updater管理、更新和发现跨多个安装源的 Claude Code 技能。
所有脚本会自动从环境变量检测用户区域设置,并以适当的语言显示输出。
支持的语言:
自动检测顺序:
LANG 环境变量LC_ALL 环境变量LANGUAGE 环境变量手动覆盖:
python scripts/check_updates.py --lang zh # 强制使用中文
python scripts/check_updates.py --lang en # 强制使用英语
Claude Code 插件 (~/.claude/plugins/):
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
installed_plugins.json - 跟踪已安装技能的版本known_marketplaces.json - 已注册的市场来源cache/ - 已安装的技能文件npx skills (如果存在 ~/.skills/):
npx skills add <owner/repo> 安装的技能python scripts/check_updates.py
输出格式:
📦 已安装技能状态
━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 已是最新 (12):
• skill-creator@daymade-skills (1.2.2)
• github-ops@daymade-skills (1.0.0)
...
⬆️ 有可用更新 (3):
• planning-with-files@planning-with-files
本地: 2.5.0 → 远程: 2.6.1
• superpowers@superpowers-marketplace
本地: 4.0.3 → 远程: 4.1.0
...
⚠️ 未知版本 (2):
• document-skills@anthropic-agent-skills (unknown)
...
向用户呈现选项:
在更新之前,检查本地修改:
# 检查本地技能是否有未提交的更改
cd ~/.claude/plugins/cache/<marketplace>/<skill>/<version>
git status --porcelain
如果检测到本地更改:
对于 Claude Code 插件:
# 触发市场刷新和技能重新安装
# 这使用了 Claude Code 的内置更新机制
claude /install <skill-name>@<marketplace>
对于 npx skills:
npx skills add <owner/repo> --force
update_marketplace.py 脚本可以在更新市场仓库后自动重新安装受影响的技能。
# 仅更新市场(显示受影响的技能)
python scripts/update_marketplace.py anthropic-agent-skills
# 更新市场并自动重新安装受影响的技能
python scripts/update_marketplace.py anthropic-agent-skills --auto-install
# 以 JSON 格式输出
python scripts/update_marketplace.py anthropic-agent-skills --json
# 强制语言
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
✅ 所有受影响的技能已更新
--auto-install) 重新安装每个受影响的技能python scripts/recommend_skills.py --source all
来源:
🔥 热门技能
━━━━━━━━━━━━━━━━━━
来自 skills.sh:
1. vercel-react-best-practices (25.5K 安装量)
npx skills add vercel/react-best-practices
2. web-design-guidelines (19.2K 安装量)
npx skills add webdesign/guidelines
3. remotion-best-practices (2.2K 安装量)
npx skills add remotion/best-practices
💡 个性化推荐:
基于您已安装的技能 (developer-tools, productivity):
- playwright-skill - 浏览器自动化测试
- github-ops - GitHub CLI 操作
显示推荐后,提供安装选项:
您想安装这些技能中的任何一个吗?
1. 按编号安装 (例如,"1" 或 "1,3,5")
2. 按名称安装
3. 跳过
从远程 marketplace.json 读取版本:
curl -s "https://raw.githubusercontent.com/<owner>/<repo>/main/.claude-plugin/marketplace.json" | jq '.plugins[] | select(.name == "<skill>") | .version'
如果 marketplace.json 不可用或未指定版本:
# 获取最新发布标签
curl -s "https://api.github.com/repos/<owner>/<repo>/releases/latest" | jq -r '.tag_name'
# 或 main 分支上的最新提交
curl -s "https://api.github.com/repos/<owner>/<repo>/commits/main" | jq -r '.sha[:7]'
对于按提交跟踪的技能(例如,e30768372b41):
# 比较本地 gitCommitSha 与远程 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 "有可用更新"
fi
当存在本地修改时:
识别已修改的文件:
git diff --name-only HEAD
分类更改:
合并方法:
# 智能合并的伪代码
for file in modified_files:
if file == 'SKILL.md':
merge_skill_md(local, remote) # 保留用户自定义
elif file.startswith('scripts/'):
backup_and_warn(local) # 用户脚本需要审查
else:
three_way_merge(base, local, remote)
用户说:"检查 skills 更新" / "check skill updates" / "update my skills"
→ 运行 scripts/check_updates.py 并显示结果
用户说:"更新 skill-creator" / "update skill-creator"
→ 仅检查和更新指定的技能
用户说:"推荐一些好用的 skills" / "recommend skills" / "popular skills"
→ 运行 scripts/recommend_skills.py 并显示精选列表
用户说:"更新所有 skills" / "update all skills"
→ 扫描 → 确认 → 处理合并 → 更新 → 报告结果
网络错误:使用指数退避重试,缓存最后已知状态
权限错误:建议使用适当的权限运行
合并冲突:显示冲突标记,提供解决选项:
市场缺失:如果来源不再可用,通知用户
check_updates.py - 扫描并比较已安装版本与远程版本recommend_skills.py - 从市场获取热门技能update_marketplace.py - 更新市场仓库并自动重新安装技能i18n.py - 国际化模块(区域设置检测、翻译)marketplaces.md - 支持的市场文档要添加新语言,请编辑 scripts/i18n.py:
TRANSLATIONS 字典中:TRANSLATIONS["ja"] = {
"checking_updates": "スキルの更新を確認中...",
# ... 其他翻译
}
2. 更新 detect_locale() 以识别新的区域设置:
if lang_lower.startswith('ja'):
return 'ja'
每周安装量
263
仓库
GitHub 星标数
154
首次出现
Jan 22, 2026
安全审计
安装于
opencode213
gemini-cli208
codex193
cursor190
claude-code186
github-copilot167
Manage, update, and discover Claude Code skills across multiple installation sources.
All scripts automatically detect user locale from environment variables and display output in the appropriate language.
Supported Languages:
Auto-detection order:
LANG environment variableLC_ALL environment variableLANGUAGE environment variableManual override:
python scripts/check_updates.py --lang zh # Force Chinese
python scripts/check_updates.py --lang en # Force English
Claude Code Plugins (~/.claude/plugins/):
installed_plugins.json - Tracks installed skills with versionsknown_marketplaces.json - Registered marketplace sourcescache/ - Installed skill filesnpx skills (~/.skills/ if present):
npx skills add <owner/repo>python scripts/check_updates.py
Output format:
📦 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)
...
Present options to user:
Before updating, check for local modifications:
# Check if local skill has uncommitted changes
cd ~/.claude/plugins/cache/<marketplace>/<skill>/<version>
git status --porcelain
If local changes detected:
For Claude Code plugins:
# Trigger marketplace refresh and skill reinstall
# This uses Claude Code's built-in update mechanism
claude /install <skill-name>@<marketplace>
For npx skills:
npx skills add <owner/repo> --force
The update_marketplace.py script can automatically reinstall affected skills after updating a marketplace repository.
# 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
✅ 所有受影响的技能已更新
--auto-install) Reinstall each affected skillpython scripts/recommend_skills.py --source all
Sources:
🔥 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
After showing recommendations, offer to install:
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
Read version from remote marketplace.json:
curl -s "https://raw.githubusercontent.com/<owner>/<repo>/main/.claude-plugin/marketplace.json" | jq '.plugins[] | select(.name == "<skill>") | .version'
If marketplace.json unavailable or version not specified:
# 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]'
For skills tracking by commit (e.g., 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
When local modifications exist:
Identify modified files :
git diff --name-only HEAD
Categorize changes :
Merge approach :
# 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)
User says: "检查 skills 更新" / "check skill updates" / "update my skills"
→ Run scripts/check_updates.py and display results
User says: "更新 skill-creator" / "update skill-creator"
→ Check and update only the specified skill
User says: "推荐一些好用的 skills" / "recommend skills" / "popular skills"
→ Run scripts/recommend_skills.py and show curated list
User says: "更新所有 skills" / "update all skills"
→ Scan → Confirm → Handle merges → Update → Report results
Network errors : Retry with exponential backoff, cache last known state
Permission errors : Suggest running with appropriate permissions
Merge conflicts : Show conflict markers, offer resolution options:
Missing marketplace : Inform user if source is no longer available
check_updates.py - Scan and compare installed vs remote versionsrecommend_skills.py - Fetch trending skills from marketplacesupdate_marketplace.py - Update marketplace repos and auto-reinstall skillsi18n.py - Internationalization module (locale detection, translations)marketplaces.md - Supported marketplace documentationTo add a new language, edit scripts/i18n.py:
TRANSLATIONS dict:TRANSLATIONS["ja"] = {
"checking_updates": "スキルの更新を確認中...",
# ... other translations
}
2. Update detect_locale() to recognize the new locale:
if lang_lower.startswith('ja'):
return 'ja'
Weekly Installs
263
Repository
GitHub Stars
154
First Seen
Jan 22, 2026
Security Audits
Gen Agent Trust HubWarnSocketPassSnykWarn
Installed on
opencode213
gemini-cli208
codex193
cursor190
claude-code186
github-copilot167
AI Elements:基于shadcn/ui的AI原生应用组件库,快速构建对话界面
56,200 周安装