skills-updater について
Skills Updater は、プラグインマーケットプレイスや npx skills のインストール元にある Claude Code スキルを管理・発見するコマンドラインツールです。バージョン確認、マーケットプレイス更新、ローカル変更の処理、スキル推薦に対応します。
主な機能
- 01インストール済みスキルの更新確認
- 02マーケットプレイスリポジトリの更新
- 03対象スキルの自動再インストール
- 04ローカル変更のバックアップとマージ
- 05人気スキルの推薦
活用シーン
- 01インストール済みスキルの更新有無を確認
- 02マーケットプレイスを更新してスキルを再導入
- 03更新時にローカル編集を保持
- 04対応する推薦元からスキルを探す
インストール
コマンドをコピーしてターミナルで実行します。
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 スキルを管理、更新、検索します。
国際化(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- インストール済みスキルとそのバージョンを記録しますknown_marketplaces.json- 登録済みのマーケットプレイスソースcache/- インストール済みスキルのファイル
npx skills(存在する場合は ~/.skills/):
npx skills add <owner/repo>でインストールされたスキル- skills.sh のインフラストラクチャで管理されます
更新確認のワークフロー
ステップ 1:インストール済みスキルをスキャンする
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:更新方法を確認する
次の選択肢をユーザーに提示します:
- すべて更新 - 更新可能なすべてのスキルを更新します
- 個別に選択 - 更新するスキルをユーザーが選択します
- スキップ - 更新処理をキャンセルします
ステップ 3:ローカルの変更に対処する
更新前に、ローカルの変更を確認します:
# Check if local skill has uncommitted changes
cd ~/.claude/plugins/cache/<marketplace>/<skill>/<version>
git status --porcelain
ローカルの変更が検出された場合:
- 変更されたファイルのバックアップを作成します
- リモートの更新を取得します
- 3-way マージを試みます
- コンフリクトが発生した場合:
- コンフリクトが発生したファイルをユーザーに表示します
- 手動での解決、またはローカルバージョンの保持を提案します
ステップ 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 スクリプトは、マーケットプレイスのリポジトリを更新した後、影響を受けるスキルを自動的に再インストールできます。
使用方法
# 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 を実行します
- コミットを比較 - 何コミット遅れているかを表示します
- 影響を受けるスキルを一覧表示 - このマーケットプレイスからインストールされたスキルを探します
- 更新を取得 - ローカルのマーケットプレイスを更新するために Git pull を実行します
- 自動再インストール - (
--auto-installを指定した場合)影響を受ける各スキルを再インストールします
スキルのおすすめ
トレンドのスキルを取得する
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
おすすめのスキルをインストールする
おすすめを表示した後、インストールを提案します:
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 の比較
コミットで追跡されているスキルの場合(例: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 更新」 / 「スキルの更新を確認」 / 「スキルを更新して」
→ scripts/check_updates.py を実行して結果を表示します
特定のスキルを更新する
ユーザーの発言:「skill-creator を更新」 / 「skill-creator を更新して」
→ 指定されたスキルのみを確認して更新します
新しいスキルを見つける
ユーザーの発言:「おすすめの便利な skills を教えて」 / 「スキルをおすすめして」 / 「人気のスキル」
→ scripts/recommend_skills.py を実行し、厳選されたリストを表示します
更新の全工程
ユーザーの発言:「すべての skills を更新」 / 「すべてのスキルを更新して」
→ スキャン → 確認 → マージへの対処 → 更新 → 結果の報告
エラー処理
ネットワークエラー:指数バックオフで再試行し、最後に確認された状態をキャッシュします
権限エラー:適切な権限で実行するよう提案します
マージの競合:競合マーカーを表示し、解決方法を提示します:
- ローカルを採用(変更を保持)
- リモートを採用(上流を使用)
- 手動でマージ(差分を表示)
マーケットプレイスが見つからない場合:ソースが利用できなくなったことをユーザーに伝えます
リソース
scripts/
check_updates.py- インストール済みのバージョンとリモートのバージョンをスキャンして比較しますrecommend_skills.py- マーケットプレイスから人気のスキルを取得しますupdate_marketplace.py- マーケットプレイスのリポジトリを更新し、スキルを自動で再インストールしますi18n.py- 国際化モジュール(ロケールの検出、翻訳)
references/
marketplaces.md- 対応するマーケットプレイスのドキュメント
言語の追加
新しい言語を追加するには、scripts/i18n.pyを編集します:
TRANSLATIONSdictに翻訳を追加します:
TRANSLATIONS["ja"] = {
"checking_updates": "スキルの更新を確認中...",
# ... other translations
}
detect_locale()を更新して、新しいロケールを認識させます:
if lang_lower.startswith('ja'):
return 'ja'