mcpField
S
skill-library

skill-library

github.com/mathews-tomエージェントワークフロー33788 回インストール2 日前に更新
リポジトリ

skill-library について

skill-library は、エージェントセッションから Armory カタログのパッケージを閲覧・管理するスキルです。旧式パッケージの検索とライフサイクル操作に対応し、ネイティブ拡張はホストを明示的に確認する別手順で扱います。

主な機能

  1. 01パッケージと導入状況の一覧
  2. 02キーワードやカテゴリで検索
  3. 03種類を判定してパッケージを導入
  4. 04パッケージの同期、更新、削除
  5. 05ネイティブ拡張を別の手順で管理

活用シーン

  1. 01名前やカテゴリでパッケージを検索
  2. 02カタログからスキルやエージェントを導入
  3. 03パッケージの更新を確認
  4. 04ネイティブ拡張のメタデータを確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mathews-tom/armory --skill skill-library

インストール後、Claude Code で/skill-libraryを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CHANGELOG.md
cookbook/
info.md
list.md
remove.md
search.md
sync.md
update.md
use.md
evals/
cases.yaml

詳細

パッケージライブラリ

エージェントセッション内ですべての armory パッケージタイプを参照、検索できます。従来の7つのパッケージタイプは、既存の手順でインストール、更新、同期、削除できます。ネイティブ拡張機能には、ホストごとに明示的な個別のライフサイクルを使用します。

変数

  • ARMORY_REPO: Mathews-Tom/armory
  • ARMORY_BRANCH: main
  • ARMORY_CATALOG_URL: https://raw.githubusercontent.com/{ARMORY_REPO}/{ARMORY_BRANCH}/manifest.yaml
  • DEFAULT_INSTALL_DIR: ~/.claude/
  • CATALOG_CACHE_PATH: /tmp/armory-manifest.yaml
  • CATALOG_CACHE_TTL: 600(秒)

サポートされているパッケージタイプ

タイプインストール先方法
skill~/.claude/skills/ディレクトリをコピー
agent~/.claude/agents/ディレクトリをコピー
hook~/.claude/hooks/ディレクトリをコピー
rule~/.claude/rules/本文のみのファイル
command~/.claude/commands/本文のみのファイル
utility~/.claude/utilities/コピー + chmod +x
preset~/.claude/presets/ディレクトリをコピー
extension明示的に指定するホストごとのルートネイティブのライフサイクル CLI のみ

コマンド一覧

コマンドCookbook目的
/library listcookbook/list.mdタイプ、バージョン、インストール状況、更新の有無とともにすべてのパッケージを表示
/library list --type <type>cookbook/list.mdパッケージタイプ(skill、agent、hook、rule など)で一覧を絞り込む
/library use <name>cookbook/use.mdarmory からパッケージを取得する(マニフェストからタイプを自動判定)
/library search <keyword>cookbook/search.mdすべてのパッケージタイプ、名前、説明を対象にキーワード検索する
/library search --category <name>cookbook/search.mdカテゴリ(development、review、security など)で検索を絞り込む
/library synccookbook/sync.md更新があるインストール済みパッケージをすべて再取得する
/library info <name>cookbook/info.mdパッケージの詳細(タイプ、バージョン、タグ、カテゴリ)を表示する
/library updatecookbook/update.mdインストール済みパッケージすべてのバージョン更新を確認する(同期のドライラン)
/library remove <name>cookbook/remove.mdインストール済みパッケージを削除する
/library profilescookbook/profiles.md利用可能なインストールプロファイルとパッケージ数を表示する

Cookbook の振り分け

ユーザーコマンドは、サブコマンドに応じて対応する cookbook ファイルに振り分けられます。/library コマンドを受け取ったら、サブコマンド(/library の後の最初のトークン)を取り出し、このスキルを基準とする cookbook/ ディレクトリから該当する cookbook ファイルを読み込みます。cookbook ファイルには、その操作の実行手順がすべて記載されています。

たとえば、/library use commit-standards は commit-standards をパッケージ名の引数として cookbook/use.md に振り分けられます。/library list --type agent は、--type agent をフィルターとして cookbook/list.md に振り分けられます。

サブコマンドが既知の cookbook に該当しない場合は、エラーを報告し、上の表にある有効なサブコマンドを一覧表示します。

ネイティブ拡張機能の境界

この境界は、従来のクックブック手順よりも優先されます。

  • インストール先のパスを調べたり、パッケージファイルを取得したりする前に、該当するマニフェストのセクションからタイプを特定します。カタログの確認ではマニフェストを取得できますが、ネイティブ拡張機能のペイロードを取得またはコピーしてはいけません。
  • ネイティブのカタログクエリでは、packages.extensions を読み取り、カタログのメタデータを表示します。~/.claude/skills/、従来のプラグイン一覧、その他のプロンプトパッケージディレクトリから、ネイティブのインストール状況を推測してはいけません。ネイティブのインストール状況は確認していないと報告します。
  • extension に対する /library use、同期、更新、削除のファイルシステム操作は拒否します。ネイティブの成果物を skills、agents、その他の従来のディレクトリにコピーしてはいけません。暗黙的に有効化したり、プロファイルやプリセットをネイティブインストールの権限として扱ったりしてはいけません。
  • ユーザーがネイティブホスト、ライフサイクル操作、対象ルートを明示的に確認した後、既存の Armory チェックアウト内で uv run python scripts/install.py に引き継ぎ、すべてのネイティブフラグを明示します:--type extension --platform <omp|claude> --name <name> --action <install|update|disable|remove> --target-root <explicit-root> --yes。確認前に --yes を指定してはいけません。ユーザーに代わってホストや永続ルートを選択してはいけません。また、従来のライブラリ操作の一環として引き継ぎを実行してはいけません。
  • ネイティブエントリーは引き続きカタログで検出可能ですが、従来のプロファイルへの所属やパッケージ数には含めません。従来の一括操作では、選択範囲を展開する前に packages.extensions を除外します。

タイプの特定

/library use <name> が呼び出されたら、マニフェストのすべてのセクション(packages.skills、packages.agents、packages.hooks など)を検索して、パッケージのタイプを特定します。一致する name エントリーを含む最初のセクションがタイプを決定します。そのタイプを使って、次の処理を行います。

  1. 正しいソースパスを解決します:{type_dir}/{name}/
  2. インストール先を特定します:~/.claude/{install_subdir}/
  3. インストール方法を選択します:ディレクトリのコピー、または本文のみの抽出

動作に関する注意事項

  • すべての bash 操作では絶対パスを使用します。一時ディレクトリに cd してはいけません。
  • 取得処理では3段階のフォールバックチェーンを使用します。sparse checkout、次に gh api、最後に curl の順です。それぞれを順番に試し、失敗した場合にのみ次へ進みます。
  • キャッシュは /tmp/ に保存され、有効期間は10分です。キャッシュファイルがない場合はエラーではなく、期限切れとして扱い(再取得を実行し)ます。
  • カタログは、別個のカタログファイルではなく、GitHub 上の manifest.yaml(ARMORY_CATALOG_URL)から読み取ります。これは armory リポジトリで使用されているものと同じマニフェスト形式です。
  • すべてのパッケージタイプのセクションで、同じエントリー形式を使用します:name、version、description、path、source、および任意の tags、category、difficulty。

コメント