テック技報最新号へ →
AIコーディング

チームでスキルを配る:gh skill でピン留め、apm でマニフェスト化、出自で置き場所を分ける

Agent Skills はエージェントへの命令書そのものなので、パッケージと同じく「バージョン固定・改ざん検知・入れる前に読む」が要る。GitHub CLI の gh skill(2026-04 公開)か Microsoft の apm を使い、自作・他人・案件の3種類で置き場所を分けると、更新の巻き戻り事故も防げる。

@tonkotsuboy_com · 投稿 2026-04-17
#skills#agent-skills#gh-skill#apm#サプライチェーン#チーム運用

どんな場面で使う?

  • 公開スキルを npx skills add で入れているが、配布元が書き換わったら気づけない
  • チームでスキルを共有したいが、全員に全スキルを配るのは避けたい
  • リポジトリを clone したら同じスキル・MCP 構成が揃う状態にしたい

gh skill(GitHub CLI v2.90.0 以上、public preview)

bash
gh skill search mcp-apps                                   # 探す
gh skill preview OWNER/REPO SKILL                          # 入れる前に SKILL.md を読む
gh skill install OWNER/REPO SKILL --agent claude-code --scope user
gh skill install OWNER/REPO SKILL --pin v1.2.0             # タグかコミットに固定
gh skill update --dry-run                                  # 更新があるかだけ確認
gh skill update --all
gh skill publish --fix                                     # 自作スキルを仕様チェックして公開
  • --agent は claude-code / cursor / codex / gemini / antigravity(省略時は Copilot)。各エージェント本来のディレクトリ(Claude Code なら ~/.claude/skills/)にコピーされる。npx skills は ~/.agents/skills/ を正にして symlink を張る方式なので、両方を混ぜない
  • インストール時に SKILL.md の frontmatter の metadata に github-repo / github-ref / github-tree-sha が書き込まれる。ファイルを別プロジェクトにコピーしても由来と更新判定がついて回る
  • update はタグ名ではなくディレクトリの tree SHA で差分を判定するので、タグを付け替える force push にも気づける。--pin したものは update で飛ばされる
  • publish は agentskills.io 仕様(名前とディレクトリ名の一致、name/description の有無、allowed-tools が文字列か等)を検査し、tag protection・secret scanning・code scanning・immutable releases の有効化も勧めてくる

GitHub はスキルの中身を検証しない。プロンプトインジェクションや隠し命令は preview で読んで判断する(読むこと自体をスキル化するのも手)。

apm(Agent Package Manager)

スキルだけでなく、指示・プロンプト・hooks・プラグイン・MCP サーバーを apm.yml に宣言し、apm install で各エージェントへ展開する。clone した人が同じ構成になるのが利点。

yaml
# apm.yml
name: your-project
version: 1.0.0
targets:
  - copilot
dependencies:
  apm:
    - anthropics/skills/skills/frontend-design
    - microsoft/apm-sample-package#v1.0.0
  mcp:
    - name: io.github.github/github-mcp-server
      transport: http
  • apm.lock.yaml に解決結果とハッシュを記録。apm audit で隠し Unicode の検査や、手編集による差分(ドリフト)を検出できる
  • 組織では apm-policy.yml で「許可するソース・スコープ」を決められる
  • @mizchi さんはチームでの共有に採用したが、使い方を知らないモデルのために「apm の使い方」スキルを書く羽目になったとのこと。新しいツールを入れたら、その利用者向けスキルもセットで用意する(よく使う CLI の「利用者向けリファレンス」をスキルにして持たせる)

置き場所は「出自」で分ける(@kamo__shika さんの運用)

出自例管理
自作自分のワークフロー自分の dotfiles(chezmoi の dot_claude/skills/)
他人の公開スキルskills.sh / GitHub のものgh skill や skills CLI
案件固有デプロイ手順・チケット運用プロジェクトの .claude/skills/ にコミット
  • 同じスキルを2つの仕組みで管理すると、片方の update をもう片方の apply が古い内容で上書きする
  • チーム共通リポジトリに集めず、各自の dotfiles を source of truth にして欲しい人が pull する形にすると、不要なスキルを配らずに済み、メンテナーにも負荷が集中しない
  • この運用ルール自体を skill-management スキルにして配ると、「スキル追加して」と言った時点でエージェントが分類を確認してくれる
  • GHE 上のスキルは skills CLI の skills update が何も言わずにスキップする(api.github.com 固定のため)。同じ URL で skills add を再実行して上書きするのが回避策
  • 社内 private リポジトリのスキルは、Claude Code のプラグイン経由なら git の認証だけで入る。npm で配ると .npmrc のトークンが要って面倒(@syun_blue さん)

注意点

出典

X の元の投稿を開く