この記事ではAIエージェントに特化して解説します。AIエージェント全般は AIエージェントフレームワーク比較2026年版 をご覧ください。

APMとは何か — npm/pipのAIエージェント版が登場した背景

AIエージェントの実用化が進む2026年、Microsoft APM(Agent Package Manager)はAIエージェントの依存パッケージを一元管理するオープンソースツールだ。npm が JavaScript の依存関係を管理し、pip が Python パッケージを管理するように、APM は AIエージェントの instructions・skills・prompts・agents・hooks・plugins・MCP サーバーを管理する。

GitHub で 1.5kスターを獲得し、MIT License で公開されている microsoft/apm は、Python 95.3% で実装されている。

なぜAPMが必要なのか

AIコーディングエージェントが実用段階に入り、チーム開発で以下の問題が顕在化している。

課題 具体例
設定の属人化 Aさんの Claude Code には MCP サーバーが設定済み、Bさんは未設定
再現性ゼロ 新メンバーが git clone しても、エージェント設定は手動で1から構築
バージョン不整合 skills の古いバージョンを使い続けて動作が違う
セキュリティ未検証 第三者のprompts/skillsを検証なしで利用

APM はこれらを「apm.yml に宣言 → apm install で再現」というワークフローで解決する。

# apm.yml — プロジェクトルートに配置
name: your-project
version: 1.0.0
dependencies:
  apm:
    - anthropics/skills/skills/frontend-design
    - github/awesome-copilot/plugins/context-engineering
    - github/awesome-copilot/agents/api-architect.agent.md
    - microsoft/apm-sample-package#v1.0.0
package.json との対比
npmの package.json がJSライブラリの依存関係を宣言するように、APMの apm.yml はAIエージェントのskills・prompts・MCPサーバーの依存関係を宣言する。チームメンバーは git cloneapm install だけで、全員同じエージェント環境を再現できる。

AIエージェントフレームワーク比較2026年版で紹介した各フレームワークとも、APM を通じてパッケージ管理を統一できる。


Agent Skills・AGENTS.md・MCPとAPMの関係 — 3つのオープン標準を1ファイルで束ねる

APMは独自のエコシステムを作ろうとしているのではなく、既に存在する3つのオープン標準を横断してパッケージ化・配布する「上位レイヤー」として設計されている。Claude Code・Cursor・Copilotなど個々のツールがそれぞれ独自の設定ファイル形式を持つなか、APMはどの標準も上書きせず、束ねるだけだ。

Agent Skills — Anthropicが策定したスキル記述標準

Agent Skills は Anthropic のskillsリポジトリ が参照実装となっているオープン仕様で、1つのスキルは SKILL.md 1ファイルで表現される。エージェントに特定タスクの専門知識を与えるための「持ち運び可能なスキルパッケージ」だ。

# .github/skills/frontend-design/SKILL.md
---
name: frontend-design
description: React/Next.jsコンポーネントの設計レビュースキル
---

## When to use
- 新規コンポーネント作成時
- UI/UX一貫性チェック時

## How to apply
- アクセシビリティ(WCAG)を必ず確認
- 状態管理は最小限の useState から検討

Anthropic公式skillsリポジトリには frontend-design / code-review / system-design などのスキルが公開されており、APMは apm install anthropics/skills/skills/frontend-design で直接取得できる。Obsidianでskillsを管理する実践ガイドで解説したskill運用をチーム全体に展開する基盤としてAPMが機能する。

AGENTS.md — エージェント版READMEの共通仕様

AGENTS.md は OpenAI / Google / Cursor / Factory などが共同策定しているオープン標準で、「リポジトリのルートに置かれた、AIエージェント向けのREADME」に相当する。Copilotの .github/copilot-instructions.md、Claude Codeの CLAUDE.md、Cursorの .cursorrules といったツール固有ファイルの乱立を統合する流れだ。

APMは apm install で取得した各パッケージのinstructionsを自動マージして AGENTS.md を生成できる。GitHub Actionsでは compile: 'true' オプションで自動化する:

# .github/workflows/agents-compile.yml
- uses: microsoft/apm-action@v1
  with:
    compile: 'true'  # 依存パッケージのinstructionsから AGENTS.md を自動生成

これで個人は CLAUDE.md を自由に書きながら、チーム標準のinstructionsは AGENTS.md として単一ソースから配布できる。

MCP — エージェントと外部ツール/データをつなぐプロトコル

Model Context Protocol(MCP) はAnthropicが策定した、エージェントとツール・データソースを接続するためのプロトコルだ。社内DB・検索エンジン・REST APIなどをエージェントから呼び出せるようにする。

MCPサーバー本体はGo/TypeScript/Pythonで書かれた独立プロセスだが、「どのMCPサーバーを、どのエンドポイントで、どの認証情報で接続するか」という設定は各メンバーで再現性が必要だ。APMはこの設定部分をパッケージ化する:

# apm.yml
dependencies:
  apm:
    - myorg/mcp-configs/servers/database-mcp
    - myorg/mcp-configs/servers/search-mcp
    - myorg/mcp-configs/servers/analytics-mcp

MCPサーバーのstdio経由のRCE脆弱性のように、接続設定のミスは攻撃経路になりうる。APMでチーム標準の接続設定をロックすることで、設定ミスによるセキュリティインシデントを防げる。

3つの標準とAPMの関係を図で整理する

flowchart TB subgraph 標準["3つのオープン標準"] A["Agent Skills
(SKILL.md)
専門知識パッケージ"] B["AGENTS.md
エージェント版README
チーム共通の指示"] C["MCP
外部ツール/データ接続
プロトコル"] end subgraph APM["Microsoft APM"] D["apm.yml
1ファイルで宣言・依存解決"] end subgraph エージェント["各AIコーディングエージェント"] E["Claude Code"] F["GitHub Copilot"] G["Cursor"] H["OpenCode / Codex"] end A --> D B --> D C --> D D --> E D --> F D --> G D --> H style D fill:#0078d4,color:#fff style A fill:#d97757,color:#fff style B fill:#10b981,color:#fff style C fill:#7c3aed,color:#fff
標準 役割 APMが担当する処理
Agent Skills 個別タスク向けの専門知識パッケージ 依存関係として apm.yml に列挙し自動取得
AGENTS.md チーム共通のエージェント指示 compile: 'true' で自動生成・同期
MCP 外部ツール/データ連携のプロトコル サーバー接続設定をパッケージ化して配布
APM は「配送レイヤー」であり「仕様」ではない
Agent Skills / AGENTS.md / MCP はフォーマット仕様であり、APMはそれらを配送・管理するツールだ。将来Agent Skillsがv2になってもAGENTS.md仕様が更新されても、APMのレイヤーは変わらず機能する。特定ベンダーへのロックインを生まない設計になっている。

インストールと初期設定 — macOS/Linux/Windows全対応

APM は複数のインストール方法を提供している。環境に合わせて選択する。

macOS / Linux

最もシンプルな方法はワンライナーインストールだ。

# 推奨:ワンライナーインストール
curl -sSL https://aka.ms/apm-unix | sh

# Homebrew(macOS / Linux)
brew install microsoft/apm/apm

# pip(Python環境がある場合)
pip install apm-cli

Windows

# PowerShell ワンライナー
irm https://aka.ms/apm-windows | iex

# Scoop パッケージマネージャー
scoop bucket add apm https://github.com/microsoft/scoop-apm
scoop install apm

インストール確認と初回セットアップ

# バージョン確認
apm --version
# 出力例: apm 0.8.11

# プロジェクトで初期化(apm.yml を生成)
cd your-project
apm init

# 既存の apm.yml からパッケージをインストール
apm install

apm install を実行すると、apm.yml に記載された依存パッケージが解決され、.github/ ディレクトリ以下にエージェント設定ファイルが配置される。推移的依存関係(transitive dependencies)も自動で解決されるため、パッケージAがパッケージBに依存している場合、Bも自動的にインストールされる。

graph TD A["開発者
git clone + apm install"] -->B["apm.yml
依存パッケージ宣言"] B -->C["APM CLI
依存関係解決エンジン"] C -->D["GitHub / GitLab
Azure DevOps / Bitbucket"] D -->E["パッケージ取得
+ 推移的依存解決"] E -->F["セキュリティスキャン
隠しUnicode検出"] F -->G[".github/ に配置
instructions / skills / prompts"] G -->H["Claude Code / Copilot
Cursor / OpenCode / Codex"]

対応するGitホスティングは GitHub・GitLab・Bitbucket・Azure DevOps・GitHub Enterprise で、プライベートリポジトリからのインストールもトークン設定で対応できる。


apm.ymlの書き方 — マニフェスト構造・依存パッケージ種別・実践例

apm.yml はAPMの中核となるマニフェストファイルだ。プロジェクトルートに配置し、エージェントが必要とするすべての依存関係を宣言する。

基本構造

# apm.yml
name: my-web-app
version: 1.0.0
dependencies:
  apm:
    # スキル:特定のタスクを実行するための専門知識
    - anthropics/skills/skills/frontend-design
    - anthropics/skills/skills/code-review

    # プラグイン:エージェントの能力を拡張する機能
    - github/awesome-copilot/plugins/context-engineering

    # エージェント定義:特定の役割を持つエージェント設定
    - github/awesome-copilot/agents/api-architect.agent.md

    # フルパッケージ:instructions/skills/prompts/hooksを含む
    - microsoft/apm-sample-package#v1.0.0

    # カスタムGitソースからの取得
    - git: https://gitlab.example.com/team/agent-config.git
      path: skills/security-review
      ref: v2.0.0

依存パッケージの7つの種別

APMが管理できるエージェント設定の種別は以下の通りだ。

種別 説明 配置先の例
instructions エージェントへの基本指示(AGENTS.md等) .github/instructions/
skills 特定タスクの専門知識(SKILL.md) .github/skills/
prompts 再利用可能なプロンプトテンプレート .github/prompts/
agents エージェント定義ファイル(.agent.md) .github/agents/
hooks イベント駆動の自動実行スクリプト .github/hooks/
plugins 機能拡張プラグイン(plugin.json) .github/plugins/
MCP servers Model Context Protocol サーバー設定 .github/mcp/

バージョン固定とソース指定

dependencies:
  apm:
    # セマンティックバージョニングでピン留め
    - microsoft/apm-sample-package#v1.0.0

    # ブランチ指定
    - org/repo#main

    # 特定コミットのハッシュ指定
    - org/repo#abc1234

    # サブディレクトリの特定パッケージを指定
    - org/monorepo/packages/security-skills
推移的依存関係の自動解決
パッケージAが内部でパッケージBに依存している場合、APMはBも自動的にインストールする。npmの node_modules ツリーと同様の仕組みで、開発者は直接の依存関係だけを宣言すればよい。

実践例:フルスタックWebアプリのapm.yml

name: fullstack-saas-app
version: 1.0.0
dependencies:
  apm:
    # フロントエンド開発スキル
    - anthropics/skills/skills/frontend-design
    - anthropics/skills/skills/react-patterns

    # API設計エージェント
    - github/awesome-copilot/agents/api-architect.agent.md

    # セキュリティレビュープラグイン
    - github/awesome-copilot/plugins/security-review

    # 社内共通のコーディング規約(プライベートリポ)
    - myorg/agent-standards#v3.1.0

    # MCPサーバー連携設定
    - myorg/mcp-configs/servers/database-mcp

この構成で apm install を実行すると、フロントエンド・バックエンド・セキュリティの各skillsが一括でセットアップされ、チーム全員が同じエージェント環境で開発を開始できる。


主要コマンド — install/audit/pack/marketplace

APM CLIは直感的なコマンド体系を持つ。npm/pip経験者であればすぐに馴染める設計だ。

apm install — 依存パッケージのインストール

# apm.yml に基づいて全依存パッケージをインストール
apm install

# 特定パッケージを直接インストール(apm.yml にも追記される)
apm install microsoft/apm-sample-package#v1.0.0

# プライベートリポジトリからインストール(トークン必要)
apm install myorg/private-skills

apm install の実行後、.github/ ディレクトリに以下のような構造でファイルが配置される。

.github/
├── instructions/
│   └── coding-standards.instructions.md
├── skills/
│   ├── frontend-design/
│   │   └── SKILL.md
│   └── code-review/
│       └── SKILL.md
├── agents/
│   └── api-architect.agent.md
├── prompts/
│   └── pr-review.prompt.md
└── plugins/
    └── context-engineering/
        └── plugin.json

apm audit — セキュリティスキャン

# 全パッケージのセキュリティ監査
apm audit

# 出力例:
# Scanning 12 packages...
# ✓ No hidden Unicode characters detected
# ✓ No compromised packages found
# ✓ All packages verified
# Audit complete: 12 packages, 0 issues

apm audit は隠しUnicode文字の検出と、侵害されたパッケージのブロックを自動で行う。サプライチェーン攻撃の手法として知られる「目に見えないUnicode文字を仕込んでpromptを改変する」攻撃を検出できる。

apm pack — パッケージのバンドル

# 現在のインストール済みパッケージをアーカイブに圧縮
apm pack

# 特定のエージェント向けにバンドル
apm pack --target copilot

# プラグイン形式で出力(plugin.json + 必要ファイル)
apm pack --format plugin

apm pack で生成されたアーカイブは、CI/CDパイプラインでの配布や、オフライン環境へのデプロイに利用できる。

apm marketplace — キュレーションレジストリ

# マーケットプレイスを登録
apm marketplace add github/awesome-copilot

# マーケットプレイスからパッケージをインストール
apm install azure-cloud-development@awesome-copilot

# 利用可能なマーケットプレイスを一覧
apm marketplace list

apm update — パッケージ更新

# 全パッケージを最新バージョンに更新
apm update

# 特定パッケージのみ更新
apm update microsoft/apm-sample-package
npmとの対応関係
apm install = npm install(依存解決+インストール)
apm audit = npm audit(セキュリティスキャン)
apm pack = npm pack(配布用アーカイブ作成)
apm update = npm update(バージョン更新)
npm経験者はコマンド体系がほぼ同じため、学習コストが極めて低い。

対応ツールとの連携 — Claude Code/Cursor/Copilot/MCP/agentrc

APM の強みは「One Manifest, Every Agent」というコンセプトにある。1つの apm.yml で、異なるAIエージェントツールすべてに対応した設定を配布できる。

対応AIエージェントツール一覧

ツール 開発元 APM連携
GitHub Copilot GitHub / Microsoft instructions, skills, agents が .github/ から自動読み込み
Claude Code Anthropic CLAUDE.md, skills, agents をAPMで管理可能
Cursor Anysphere .cursorrules, prompts の配布に対応
OpenCode OSS AGENTS.md ベースの統一フォーマットに準拠
Codex OpenAI instructions の配布に対応

Claude Code との連携

Claude Codeのベストプラクティスで解説した CLAUDE.md やスキル定義を、APM パッケージとしてチーム全体に配布できる。

# apm.yml — Claude Code向けスキル配布
name: team-claude-config
version: 1.0.0
dependencies:
  apm:
    # フロントエンド設計スキル
    - anthropics/skills/skills/frontend-design
    # コードレビュースキル
    - anthropics/skills/skills/code-review
    # 社内共通のCLAUDE.md設定
    - myorg/claude-team-config#v2.0.0

agentrc との連携

agentrc はコードベースを解析して、最適なエージェント指示を自動生成するツールだ。APMとagentrcは .instructions.md フォーマットを共有しており、以下のワークフローが可能になる。

# 1. agentrc でコードベースを解析、instructions を自動生成
agentrc analyze

# 2. 生成された instructions を APM パッケージとしてバンドル
apm pack

# 3. チーム全体にパッケージを配布
# → 他メンバーは apm install するだけで同じ instructions を取得

MCPサーバーとの連携

MCPサーバーの作り方完全ガイドで解説した MCP サーバー設定も、APM パッケージとして管理できる。

# MCP サーバー設定をAPMで管理する例
dependencies:
  apm:
    - myorg/mcp-configs/servers/database-mcp
    - myorg/mcp-configs/servers/search-mcp
    - myorg/mcp-configs/servers/analytics-mcp

MCPサーバーの接続設定(エンドポイント、認証情報のテンプレート)をパッケージ化すれば、チームメンバーは apm install 一発で全MCPサーバーとの接続設定が完了する。

AGENTS.md 標準との関係
APM は AGENTS.md 仕様、Agent Skills フレームワーク、Model Context Protocol(MCP)の3つのオープン標準の上に構築されている。特定のベンダーにロックインされない設計のため、対応ツールが今後増えても apm.yml の書き換えは不要だ。

Claude Code skills・Cursor rules のチーム配布ワークフロー

APMの実運用効果を、Claude CodeのskillsCursorの.cursorrulesという代表的な2ユースケースで具体的に示す。どちらも現状は「チーム全員で統一する公式の仕組みがない」ために属人化しやすい領域であり、APMがギャップを埋める対象だ。

Claude Code skills をチームで統一配布する

Claude Code は ~/.claude/skills/ または .claude/skills/ に配置された SKILL.md を自動読み込みする。しかし現状、このskill群をチーム全員に同期配布する仕組みがClaude Code自体には存在しない。結果として各メンバーが手動で git clone したり、Slackで SKILL.md を送り合ったりするのが実態だ。

APMはこの問題を apm.yml の宣言で解決する:

# apm.yml — Claude Code skills をチーム統一配布
name: our-claude-config
version: 1.0.0
dependencies:
  apm:
    # Anthropic公式スキル
    - anthropics/skills/skills/frontend-design
    - anthropics/skills/skills/code-review
    - anthropics/skills/skills/system-design

    # 社内共通スキル(プライベートリポジトリ)
    - myorg/internal-skills/skills/brand-voice
    - myorg/internal-skills/skills/security-review

    # チーム共通のCLAUDE.md設定(命名規約・プロンプト)
    - myorg/claude-team-config#v2.0.0

オンボーディング時の流れは以下の通り一気に簡素化される:

sequenceDiagram participant D as 新メンバー participant G as Gitリポジトリ participant A as APM CLI participant C as Claude Code D->>G: git clone project D->>A: apm install A->>G: apm.yml の依存を解決 A->>A: apm audit
(隠しUnicode検出) A->>D: .claude/skills/ に配置 D->>C: claude コマンド起動 C->>C: 全員が同じスキルセットを読み込み Note over D,C: 手動設定なし・1分で完了

Before / After の具体比較

フェーズ APM導入前 APM導入後
新メンバーのオンボーディング READMEを見ながら手動コピー(30分〜2時間) apm install で1分
skill更新の伝達 Slackで「最新版にしておいて」と周知 apm update + PRレビュー
skillのバージョン管理 ファイル名に -v2 を付けて手動管理 #v2.0.0 でピン留め
セキュリティ検証 目視で SKILL.md を確認 apm audit で隠しUnicode自動検出

Cursor rules / .cursorrules の配布をAPMで統一する

Cursor は .cursorrules(旧形式)および .cursor/rules/*.mdc(新形式)で AI アシスタントへの指示を管理する。これも Claude Code 同様、チーム全員で統一する標準的な仕組みは Cursor 自身には存在しない

APMは .cursorrules および .cursor/rules/ をパッケージとして扱える:

# apm.yml — Cursor rules のチーム配布
name: cursor-team-config
dependencies:
  apm:
    # 公開されている Cursor rules テンプレート
    - github/awesome-copilot/cursor-rules/typescript
    - github/awesome-copilot/cursor-rules/react

    # 社内標準のコーディング規約
    - myorg/cursor-configs/rules/coding-standards
    - myorg/cursor-configs/rules/security-rules

apm install 後、以下のような構造で Cursor rules が配置される:

.cursor/
└── rules/
    ├── typescript.mdc
    ├── react.mdc
    ├── coding-standards.mdc
    └── security-rules.mdc

Cursor は起動時に .cursor/rules/ を自動で読み込むため、Cursor側の追加設定は不要だ。

「社内エージェント設定」を1リポジトリで一元管理する
myorg/agent-standards のような社内共通リポジトリに、Claude Code skills・Cursor rules・Copilot instructions・MCPサーバー設定をすべて置いておく。全プロジェクトがその apm.yml からこれを参照するだけで、全員が同じエージェント環境で作業できる。更新はPRレビュー経由になるため、ガバナンスの観点でも強い。

複数ツール併用こそAPMが効く場面

2026年の実態として、1人の開発者が Claude Code(サーバーサイド)/ Cursor(フロントエンド)/ GitHub Copilot(IDE統合)を使い分けるケースが一般化している。それぞれにスキル・ルール・instructions を手動設定する運用はすぐ破綻する。

APMは apm.yml 1宣言を全ツールに展開できるため、使うツールの数が増えるほどコスト削減効果が大きくなる

graph LR A["apm.yml
1ファイルで宣言"] --> B["APM CLI
apm install"] B --> C[".claude/skills/
Claude Code"] B --> D[".cursor/rules/
Cursor"] B --> E[".github/instructions/
GitHub Copilot"] B --> F["AGENTS.md
OpenCode/Codex"] B --> G["mcp.json
MCPサーバー設定"] style A fill:#0078d4,color:#fff style B fill:#0078d4,color:#fff

apm audit でサプライチェーン侵害の疑いがあるパッケージは自動ブロックされるため、Renovate/Dependabotで守るサプライチェーン防御と組み合わせれば、コード依存・エージェント依存の両方を同じ運用ポリシーで管理できる。


セキュリティ・ガバナンス・CI/CD — apm-policy.yamlとGitHub Action

エンタープライズ環境でAPMを導入する際、セキュリティとガバナンスは最重要課題だ。APMは3つのレイヤーでこれに対応している。

レイヤー1:apm audit によるパッケージスキャン

前述の apm audit コマンドに加え、apm install 時にも自動でセキュリティチェックが実行される。侵害されたパッケージはインストール自体がブロックされる。

# インストール時の自動ブロック例
$ apm install suspicious/package
Error: Package 'suspicious/package' has been flagged for hidden Unicode characters.
Installation blocked. Run 'apm audit' for details.

レイヤー2:apm-policy.yaml によるガバナンス

組織レベルのポリシーを apm-policy.yaml で定義し、マーケットプレイスでのパッケージ公開や利用を制御できる。

# apm-policy.yaml — 組織のセキュリティポリシー
policy:
  # 許可するパッケージソース
  allowed_sources:
    - github.com/microsoft/*
    - github.com/anthropics/*
    - github.com/myorg/*

  # 必須のセキュリティスキャン
  require_audit: true

  # バージョン固定を必須にする
  require_version_pin: true

  # 承認されたマーケットプレイスのみ許可
  allowed_marketplaces:
    - github/awesome-copilot

レイヤー3:GitHub Actions による CI/CD 統合

Microsoft公式の microsoft/apm-action を使えば、CI/CDパイプラインにAPMを組み込める。

# .github/workflows/agent-setup.yml
name: Agent Configuration
on: [push, pull_request]

jobs:
  setup-agents:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      # ワンライン設定:apm.yml を読んで自動インストール
      - uses: microsoft/apm-action@v1

      # セキュリティ監査レポート(SARIF形式でGitHub Code Scanningに連携)
      - uses: microsoft/apm-action@v1
        with:
          audit-report: 'sarif'

      # AGENTS.md ドキュメント自動生成
      - uses: microsoft/apm-action@v1
        with:
          compile: 'true'

audit-report: 'sarif' を設定すると、セキュリティスキャン結果がGitHub Code Scanningダッシュボードに自動で表示される。PRごとにエージェント設定のセキュリティチェックが自動実行される運用が実現する。

CI/CDでのpack + restore パターン

複数ジョブでエージェント設定を共有する場合、packrestore の組み合わせが効果的だ。

jobs:
  # ジョブ1: パッケージをインストールしてバンドル
  agent-config:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: microsoft/apm-action@v1
        with:
          pack: 'true'
          target: 'copilot'
      - uses: actions/upload-artifact@v4
        with:
          name: agent-bundle
          path: ./bundle.tar.gz

  # ジョブ2: バンドルを展開して利用
  deploy:
    needs: agent-config
    runs-on: ubuntu-latest
    steps:
      - uses: actions/download-artifact@v4
        with:
          name: agent-bundle
      - uses: microsoft/apm-action@v1
        with:
          bundle: './bundle.tar.gz'

このパターンにより、全ジョブでバイト単位で同一のエージェント設定が保証される。

GitHub Action の主要オプション
isolated: 'true' — apm.yml を無視してインライン指定の依存のみインストール
apm-version: '0.8.11' — APM CLIのバージョンを固定
github-token: secrets.APM_PAT — プライベートリポ・クロスオーガニゼーション対応
compile: 'true' — AGENTS.md ドキュメントを自動生成

gh skillとの比較 — 個人利用ならgh skill、チーム運用ならAPM

2026年4月、GitHub公式が GitHub CLI に gh skill コマンド を追加した(詳細は gh skill完全ガイド にまとめた)。これはAPMと同時期に登場した、Agent Skillsの管理に特化した公式CLIだ。領域が重なるため、どう使い分けるかを押さえておきたい。

gh skill の基本機能

gh skill は GitHub CLI 公式の Agent Skills 管理コマンドで、gh v2.90.0以上で利用できる(現在はPublic Preview)。対応エージェントは GitHub Copilot / Claude Code / Cursor / Codex / Gemini CLI / Antigravity の6種類だ。

# スキルを検索
gh skill search copilot

# GitHubリポジトリからスキルをインストール
gh skill install github/awesome-copilot documentation-writer

# SHA固定でインストール(サプライチェーン対策)
gh skill install github/awesome-copilot documentation-writer@abc123def

# バージョンタグでインストール
gh skill install github/awesome-copilot documentation-writer@v1.2.0

# --pin フラグでもバージョン/SHAを明示できる
gh skill install github/awesome-copilot documentation-writer --pin v1.2.0

# エージェント・スコープを明示してインストール
gh skill install github/awesome-copilot code-review --agent claude-code --scope user

# 自分のスキルを公開
gh skill publish

gh skill publishagentskills.io の仕様に対するバリデーションに加え、tag protection / secret scanning / code scanning の有効化状況までチェックする。現在のディレクトリが skills/*/SKILL.md 構造のGitリポジトリで、かつcommit済みであることも必須条件だ。

APM vs gh skill — 設計思想の違い

両者は同じ領域をカバーしているように見えるが、設計思想と対象規模が明確に異なる

観点 gh skill Microsoft APM
対象規模 個人・小規模チーム 中〜大規模チーム・組織
管理対象 Agent Skills(SKILL.md)中心 Skills + instructions + prompts + agents + hooks + plugins + MCP設定
マニフェスト なし(コマンドで直接指定) apm.yml に一元宣言
依存解決 各メンバーが個別にインストール apm install で一括解決
ガバナンス なし apm-policy.yaml で組織ポリシー定義
CI/CD統合 手動スクリプト microsoft/apm-action@v1 で標準対応
配布元 GitHubリポジトリのみ GitHub / GitLab / Bitbucket / Azure DevOps
提供元 GitHub公式(Copilot CLI) Microsoft(OSS)
登場時期 2026年4月 2026年4月

使い分けの判断フロー

flowchart TD A["AIエージェント設定を
共有したい"] --> B{"チーム規模は?"} B -->|"個人・1-2名"| C{"管理対象は?"} B -->|"3名以上"| D["APM を選択"] C -->|"Skills のみ"| E["gh skill を選択"] C -->|"Skills + MCP + instructions"| D D --> F{"ポリシー統制必要?"} F -->|"必要"| G["APM + apm-policy.yaml"] F -->|"不要"| H["APM 標準設定"] style D fill:#0078d4,color:#fff style E fill:#238636,color:#fff style G fill:#0078d4,color:#fff

gh skill が向いているケース

  • 個人開発者が Claude Code や Copilot でスキルを数個使っている
  • Anthropic公式や awesome-copilot から既製スキルを拾うだけで良い
  • セットアップをシンプルに保ちたい
  • GitHub Copilot CLI を既に使っている

APM が向いているケース

  • 3名以上のチームで同じエージェント環境を再現したい
  • スキルだけでなく、instructions・MCPサーバー・hooksを統一管理したい
  • apm-policy.yaml で組織ポリシー(許可ソース・バージョン固定強制等)を運用したい
  • CI/CDでエージェント設定の検証を自動化したい
  • Copilot以外の複数エージェント(Claude Code / Cursor / Codex)を併用している
両方を組み合わせるハイブリッド運用
個人の実験には gh skill install で素早く試し、チーム標準として採用が決まったら apm.yml に追加してAPM経由で配布する、というハイブリッド運用も実際的だ。gh skill が「試用」、APMが「量産・運用」という役割分担で使い分けるとスムーズになる。

CIで apm audit をポリシー駆動に使う

APMの強みの一つが apm audit のCI統合だ。組織ポリシーに違反するパッケージを検出してビルドを失敗させられる:

# apm-policy.yaml に基づいてCI環境で検証
# --no-fail-fast で全違反を一度にレポート(1件で止めない)
apm audit --ci --policy ./apm-policy.yml --no-fail-fast

gh skillには現状このレベルのポリシー制御がない。組織レベルの依存管理統制を必要とするユースケースでは、APMのこの機能が決定的な差別化要因になる。


APM vs 従来の手動管理 — Before/After比較とnpmとの概念対応

最後に、APM導入前後の変化と、npm エコシステムとの概念的な対応関係を整理する。

Before / After 比較

項目 Before(手動管理) After(APM導入)
新メンバーのオンボーディング READMEを読みながら手動設定(1〜2時間) apm install で完了(1分)
エージェント設定の共有 Slackで設定ファイルを送り合う apm.yml をコミットするだけ
バージョン管理 「最新版にしておいて」と口頭伝達 #v1.0.0 でピン留め、apm update で一括更新
セキュリティ検証 目視確認(見落としリスク大) apm audit で自動スキャン
CI/CDとの統合 カスタムスクリプトを自作 microsoft/apm-action@v1 の1行追加
マルチツール対応 ツールごとに設定ファイルを用意 apm.yml 1ファイルで全ツール対応
推移的依存関係 手動で全パッケージをリスト 自動解決(開発者は直接の依存だけ宣言)

npm / pip との概念対応表

npmやpipに馴染みのある開発者向けに、APMとの概念対応を整理する。

npm (JavaScript) pip (Python) APM (AI Agent)
package.json requirements.txt apm.yml
npm install pip install -r apm install
npm audit pip-audit apm audit
npm pack python -m build apm pack
npm update pip install --upgrade apm update
node_modules/ site-packages/ .github/
npmjs.com pypi.org apm marketplace
package-lock.json requirements.txt (pinned) バージョンピン #v1.0.0
APMが解決する本質的な問題
2026年のAI開発では、コードだけでなく「エージェントの設定」もチームの資産になった。APMは「エージェント設定のバージョン管理・共有・セキュリティ検証」を、npmやpipと同じ感覚で実現するツールだ。AGENTS.md・Agent Skills・MCPというオープン標準の上に構築されているため、特定ベンダーへのロックインもない。

導入判断のチェックリスト

APMの導入が特に効果的なケースを整理する。

  • チーム3人以上で同じリポジトリのエージェント設定を使っている
  • 新メンバーのオンボーディングでエージェント設定に30分以上かかる
  • GitHub Copilot・Claude Code・Cursorを併用しているメンバーがいる
  • 第三者のskills/promptsを利用しており、セキュリティが気になる
  • CI/CDでエージェント設定の検証を自動化したい

上記に2つ以上該当するなら、APMの導入コスト(apm.yml の作成 + チームへの周知)に対して十分なリターンが見込める。


まとめ:APMはAIエージェント開発のインフラになるか

Microsoft APM は「AIエージェントの依存管理」という、2026年に急速に顕在化した課題に正面から取り組んだツールだ。

  • npm/pipと同じ思想apm.yml 1ファイルで宣言、apm install で再現
  • マルチツール対応 — Copilot・Claude Code・Cursor・OpenCode・Codexの設定を統一管理
  • セキュリティ組み込みapm audit で隠しUnicode検出、apm-policy.yaml で組織ポリシー適用
  • CI/CD対応 — GitHub Action 1行でパイプラインに組み込み
  • オープン標準準拠 — AGENTS.md・Agent Skills・MCPの上に構築、ベンダーロックインなし

現時点ではバージョン 0.8.11(2026年4月リリース)と初期段階だが、Microsoftが公式に開発を主導し、エコシステムの拡大が期待される。AIエージェントが個人ツールからチーム標準へと移行するこのタイミングで、APMのようなインフラツールの重要性は増すばかりだ。

参照ソース