| name | skills-updater |
| description | Check and update installed Claude Code skills from multiple sources (Claude plugins and npx skills). Scans for available updates, supports batch or individual updates with intelligent local change merging, and recommends popular skills from skillsmp.com and skills.sh marketplaces. Use when users want to update skills, check for new versions, discover trending skills, or manage their skill collection. |
Skills Updater
Manage, update, and discover Claude Code skills across multiple installation sources.
Internationalization (i18n)
All scripts automatically detect user locale from environment variables and display output in the appropriate language.
Supported Languages:
- English (en) - Default
- Chinese (zh) - ไธญๆ
Auto-detection order:
LANG environment variable
LC_ALL environment variable
LANGUAGE environment variable
- System locale
Manual override:
python scripts/check_updates.py --lang zh
python scripts/check_updates.py --lang en
Supported Sources
Claude Code Plugins (~/.claude/plugins/):
installed_plugins.json - Tracks installed skills with versions
known_marketplaces.json - Registered marketplace sources
cache/ - Installed skill files
npx skills (~/.skills/ if present):
- Skills installed via
npx skills add <owner/repo>
- Managed by skills.sh infrastructure
Update Check Workflow
Step 1: Scan Installed Skills
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)
...
Step 2: Confirm Update Strategy
Present options to user:
- Update All - Update all skills with available updates
- Select Individual - Let user choose specific skills to update
- Skip - Cancel the update process
Step 3: Handle Local Modifications
Before updating, check for local modifications:
cd ~/.claude/plugins/cache/<marketplace>/<skill>/<version>
git status --porcelain
If local changes detected:
- Create backup of modified files
- Pull remote updates
- Attempt 3-way merge
- If conflicts:
- Show conflict files to user
- Offer manual resolution or keep local version
Step 4: Execute Update
For Claude Code plugins:
claude /install <skill-name>@<marketplace>
For npx skills:
npx skills add <owner/repo> --force
Auto-Install After Marketplace Update
The update_marketplace.py script can automatically reinstall affected skills after updating a marketplace repository.
Usage
python scripts/update_marketplace.py anthropic-agent-skills
python scripts/update_marketplace.py anthropic-agent-skills --auto-install
python scripts/update_marketplace.py anthropic-agent-skills --json
python scripts/update_marketplace.py anthropic-agent-skills --lang zh
Output (Chinese locale)
๐ก ๆญฃๅจ่ทๅ่ฟ็จๆดๆฐ...
ๅฝๅๆไบค: 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
โ
ๆๆๅๅฝฑๅ็ๆ่ฝๅทฒๆดๆฐ
Workflow
- Fetch remote - Git fetch to check for updates
- Compare commits - Show how many commits behind
- List affected skills - Find installed skills from this marketplace
- Pull updates - Git pull to update local marketplace
- Auto-reinstall - (with
--auto-install) Reinstall each affected skill
Skill Recommendations
Fetch Trending Skills
python scripts/recommend_skills.py --source all
Sources:
- skills.sh - Leaderboard ranked by installs
- skillsmp.com - Curated marketplace (if accessible)
Output Format
๐ฅ 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
Install Recommended Skill
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
Version Detection Methods
Primary: marketplace.json
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'
Fallback: GitHub API
If marketplace.json unavailable or version not specified:
curl -s "https://api.github.com/repos/<owner>/<repo>/releases/latest" | jq -r '.tag_name'
curl -s "https://api.github.com/repos/<owner>/<repo>/commits/main" | jq -r '.sha[:7]'
Commit SHA Comparison
For skills tracking by commit (e.g., e30768372b41):
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
Smart Merge Strategy
When local modifications exist:
-
Identify modified files:
git diff --name-only HEAD
-
Categorize changes:
- SKILL.md customizations โ Preserve user sections
- scripts/ modifications โ Keep local, note for review
- references/ additions โ Merge both
- assets/ โ Keep both versions if different
-
Merge approach:
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)
User Interaction Patterns
Check for Updates
User says: "ๆฃๆฅ skills ๆดๆฐ" / "check skill updates" / "update my skills"
โ Run scripts/check_updates.py and display results
Update Specific Skill
User says: "ๆดๆฐ skill-creator" / "update skill-creator"
โ Check and update only the specified skill
Discover New Skills
User says: "ๆจ่ไธไบๅฅฝ็จ็ skills" / "recommend skills" / "popular skills"
โ Run scripts/recommend_skills.py and show curated list
Full Update Workflow
User says: "ๆดๆฐๆๆ skills" / "update all skills"
โ Scan โ Confirm โ Handle merges โ Update โ Report results
Error Handling
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:
- Accept local (keep your changes)
- Accept remote (use upstream)
- Manual merge (show diff)
Missing marketplace: Inform user if source is no longer available
Resources
scripts/
check_updates.py - Scan and compare installed vs remote versions
recommend_skills.py - Fetch trending skills from marketplaces
update_marketplace.py - Update marketplace repos and auto-reinstall skills
i18n.py - Internationalization module (locale detection, translations)
references/
marketplaces.md - Supported marketplace documentation
Adding New Languages
To add a new language, edit scripts/i18n.py:
- Add translations to
TRANSLATIONS dict:
TRANSLATIONS["ja"] = {
"checking_updates": "ในใญใซใฎๆดๆฐใ็ขบ่ชไธญ...",
}
- Update
detect_locale() to recognize the new locale:
if lang_lower.startswith('ja'):
return 'ja'