Check and update installed Claude Code skills from multiple sources (Claude plugins and npx skills)...
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
}
detect_locale() to recognize the new locale:if lang_lower.startswith('ja'):
return 'ja'