agent-package-manager について
agent-package-managerは、APMのリポジトリ設定、依存関係の管理、検証、配布をエージェントに案内するスキルです。変更前に設定と依存関係の解決状態を確認する手順を重視します。
主な機能
- 01APMファイルと設定の確認
- 02マニフェストと依存関係の管理
- 03パッケージ変更のプレビューと検証
- 04コンパイルとスクリプトの検証
- 05ランタイムとバンドル手順の案内
活用シーン
- 01リポジトリでのAPM初期化
- 02エージェントパッケージの追加や更新
- 03インストールやポリシーの問題への対応
- 04再現可能なチームまたはCI配布の準備
MCP 対応
APMコマンドによるMCP サーバーの検索と選択、およびdependencies.mcpへの宣言方法を案内します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ webmaxru/ ai-native-dev --skill agent-package-managerインストール後、Claude Code で/agent-package-managerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/apm.yml.templatereferences/command-workflows.mdmanifest-and-lockfile.mdtroubleshooting.md詳細
Agent Package Manager
手順
ステップ 1:リポジトリと、求められている APM の成果を確認する
- リポジトリのルートで、
apm.yml、apm.lock.yaml、.github/、.claude/、.codex/、.cursor/、.gemini/、.grok/、.opencode/、.windsurf/、.kiro/、apm_modules/を確認します。 apm --versionとapm configを実行して、インストール済みの CLI と現在の設定を確認します。apm.ymlが存在する場合は、依存関係、スクリプト、コンパイル設定を変更する前にreferences/manifest-and-lockfile.mdを読みます。- 依頼がパッケージのインストール、更新、整理、削除に関する場合は、APM コマンドを実行する前に
references/command-workflows.mdを読みます。 apm.ymlが存在せず、ユーザーがリポジトリで APM を使いたい場合は、apm initまたはapm init --yesでプロジェクトを初期化します。- リポジトリがすでに別のエージェント設定フローを使用しており、ユーザーから移行を依頼されていない場合は、既存の設定を置き換えるのではなく、変更を依頼された APM の範囲に限定します。
ステップ 2:マニフェストを慎重に整備または修復する
- リポジトリに新しいマニフェスト構造が必要な場合、または修復が必要な場合は、
assets/apm.yml.templateを読みます。 nameとversionをトップレベルに記述し、必須の契約フィールドとして扱います。- APM パッケージの依存関係は
dependencies.apmに、MCP サーバーはdependencies.mcpに追加します。 - インストール後の
apm.ymlでは、標準的な依存関係の形式を優先します。GitHub でホストされているスキルやパッケージには、webmaxru/web-ai-agent-skills/skills/webmcpのような、リポジトリの省略形式owner/repo/pathをデフォルトとして使用し、明示的なpath、ref、aliasは必要な場合にのみ保持します。 - 再現性が自動的な変更より重要な共有チーム用パッケージでは、固定した参照を使用します。
- ローカルパスの依存関係は、開発中のみ使用します。バンドル配布を推奨する前に、リモート参照に置き換えます。
- 依頼にスクリプトが含まれる場合は、
scriptsの下に定義し、各スクリプトをapm list、apm preview、またはapm runでプレビューまたは実行できることを確認します。 ステップ 3: 推測ではなく検証によって依存関係を管理する - リポジトリにインストール済みのパッケージがある場合は、リスクの高い変更を行う前に
apm install --dry-run、apm uninstall --dry-run、またはapm prune --dry-runでプレビューします。 - 要求された範囲に応じて、
apm install、apm install <package>、apm install --update、またはapm deps updateでパッケージをインストールまたは更新します。 apm install --updateまたはapm deps updateの実行後、ロックファイルのresolved_commitが実際に変更されたことを確認します。古いキャッシュからパッケージが提供された場合は、references/troubleshooting.mdの「Stale packages after update」ワークフローに従います。- リポジトリから単一のスキルをインストールする依頼の場合は、曖昧なリポジトリのみのプレースホルダーではなく、次の例のようにスキルディレクトリまでのパッケージパスを指定します:
apm install webmaxru/web-ai-agent-skills/skills/webmcp。 - 依存関係の変更後は、
apm deps list、apm deps tree、またはapm deps info <package>で解決済みの状態を確認します。 - 解決済みコミットとデプロイ済みファイルの正しい情報源として
apm.lock.yamlを扱います。チームや CI での再現性を確保するため、コミットするよう推奨します。 - リポジトリで MCP の検出または選択が必要な場合は、MCP エントリを手動で編集する前に
apm mcp list、apm mcp search <query>、apm mcp show <server>を使用します。 - インストールの出力に競合やスキップされたファイルが報告された場合は、強制オプションを使って再試行する前に
references/troubleshooting.mdを読みます。 - リポジトリが自身のパッケージを使用する場合(自己参照依存関係)、APM が取得する前に変更をコミットしてプッシュする必要があることをユーザーに伝えます。
references/troubleshooting.mdの「Self-referencing dependencies」セクションを読みます。 apm installはデプロイ前に、隠し Unicode やコンテンツハッシュの検証を含め、パッケージのセキュリティ上の脅威をスキャンすることに留意してください。また、dependencies.mcpで明示的に宣言されているか、信頼済みでない限り、推移的 MCP サーバーをデフォルトでブロックします。オプトインは不要です。スキャンで警告が出たりインストールがブロックされたりした場合は、チェックを回避するのではなく、指摘されたコンテンツに対処します。- リポジトリが
apm-policy.ymlを適用する組織に属している場合、インストール時にポリシーが適用され、デフォルトの推移的 MCP ブロックに加えて、依存関係のソース制限などの追加制限が課されることがあります。ポリシーによってインストールがブロックされた場合は、ポリシーファイルを確認するか、組織の管理者に問い合わせます。強制措置を回避しようとしてはいけません。
ステップ 4: 価値がある場合にのみコンパイルと検証を行う
- コンパイル戦略やターゲットの選択を変更する前に、
references/command-workflows.mdを読みます。 - 目的が出力の生成ではなく正確性の確認である場合は、
apm compile --validateを使用してプリミティブを検証します。 - 大規模なコンパイル変更を行う前、または配置の判断を確認する際は、
apm compile --dry-runを使用します。 - サポート対象のツールでは、
apm installがプロンプト、エージェント、スキル、フック、MCP 統合をすでにデプロイすることを説明します。apm compileは主にAGENTS.mdやCLAUDE.mdなどの指示ファイルを生成するためのものです。 - リポジトリが複数のランタイムまたはツールファミリーに対応する場合は、明示的なターゲットを指定します。
- コンパイルで生成済みの出力が再スキャンされないよう、
compilation.excludeをビルドディレクトリおよび依存関係ディレクトリに合わせます。 - 作成中に継続的な再生成が必要な場合は、単発の検証手順に問題がないことを確認してから
apm compile --watchを使用します。 ステップ 5:スクリプト、ランタイム、配布フローを適切に運用する - スクリプトを実行する前に、
apm listでプロジェクトのスクリプトを一覧表示します。 - 自動化またはデバッグのワークフローで
apm run <script> -p key=valueを使用する前に、プロンプト駆動型スクリプトをapm preview <script> -p key=valueでプレビューします。 - リポジトリが APM 管理ランタイムに依存している場合は、
apm runtime status、apm runtime list、apm runtime setup <runtime>を使用します。 - 目的が CI のファンアウト、エアギャップ環境への配布、またはリリースの追跡可能性である場合は、
references/command-workflows.mdを読み、インストールが正常に完了してapm.lock.yamlとデプロイ済みファイルが生成された後に限りapm packを使用します。 apm unpackは、以前にパックしたバンドルを追加抽出する場合にのみ使用します。依存関係の定義に代わるものとして紹介しないでください。- インストールの繰り返しによって CI コストやネットワークリスクが不要に増加する場合は、
apm-actionまたはビルド済みバンドルを推奨します。
エラー処理
apmが見つからない場合は、まずインストールまたは更新し、プロジェクトファイルを編集する前にapm --versionで確認します。apm installが組織のポリシー(apm-policy.yml)によってブロックされた場合は、ポリシーを回避せず、ブロックされたことを報告して、管理者にポリシーの調整または依存関係の許可リストへの追加を依頼します。apm installで認証エラーが報告された場合は、references/troubleshooting.mdを読み、再試行する前にホストの認証を修正します。apm installでファイルの競合が報告された場合は、診断の概要を確認し、必要に応じて--verboseを指定して再試行します。ローカルファイルを上書きする意図が明確な場合に限り、--forceを使用します。- ユーザーのツールチェーンで
apm compileが不要な場合は、不要な作業として追加せず、より簡潔なインストールのみの手順を優先します。 apm.lock.yamlがない、またはデプロイ済みファイルが存在しないためにapm packが失敗した場合は、再試行する前にapm installを再実行します。- リポジトリがローカルパスのパッケージに依存している場合は、それらの依存関係をリモート参照に置き換えるまで
apm packを推奨しないでください。
コメント
Markdown 対応