結論:Skill名ではなく供給元・scope・実行内容で承認する

Claude Code Skillsは、便利そうな名前だけで有効化せず、どこから届き、どのscopeで優先され、実行時に何を読み込み、何を動かすかを確認してから使います。

enterprise、personal、project、plugin、claude.ai同期を台帳で分け、同名衝突と更新差分を代表taskで検証します。

読者の具体的な困りごとは、同じ/review/deployという名前でも端末・repository・組織設定によって読み込まれる内容が変わり、誰がどの指示を承認したか説明できないことです。この記事を読むと、採用、修正、隔離試験、無効化を8手順で判断できます。

次の行動:現在使っているSkillを一つ選び、名前、保存場所、供給元、最終確認commit、呼び出せるtoolの五つを一行へ記録してください。不明欄があれば本番repositoryで自動実行しません。

Skillsが読み込まれる仕組みと最新の安全強化

Anthropic公式Skills guideでは、SKILL.mdに手順を書き、利用者がslash commandとして呼ぶ方法と、descriptionに合う依頼でClaudeが選ぶ方法が説明されています。長い手順は使う時だけ本文が読み込まれるため、常時読み込むCLAUDE.mdとは役割が異なります。繰り返す作業手順はSkill、project全体の事実や禁止事項はCLAUDE.mdと分けると、更新責任が見えます。

保存場所はenterprise、personalの~/.claude/skills/、projectの.claude/skills/、plugin内のskillsです。同じ名前ではenterpriseがpersonalより、personalがprojectより優先します。projectに安全な手順を置いても、個人scopeの同名Skillが優先され得るため、repositoryのfileだけを見て「全員同じ」と判断できません。pluginはplugin-name:skill-nameのnamespaceを持ちます。

2026年8月11日公開のClaude Code v2.1.228では、claude.aiから同期されるSkillsが強化されました。同期Skillはlocal commandやMCP promptをshadowせず、descriptionがsanitizeされて同期由来と表示され、手元のmachineでは本文中の! command実行や@ file展開を行わないとChangelogに記載されています。これは重要な防御ですが、Skill全体を無条件に信頼してよいという意味ではありません。tool利用、引数、出力先、後続の人間確認は別に設計します。

公式guideではsyncedが予約folderで、非対話実行時にCLAUDE_CODE_SYNC_SKILLSを設定すると、claude.aiで有効にしたSkillsが~/.claude/skills/synced/へdownloadされる条件も示されています。同期有無を端末台帳へ残し、手作りの同名folderで代用しません。

enterprise・personal・project・同期を7軸で比較する

  1. 変更責任:全社必須はenterprise、repository共同手順はproject、個人補助はpersonal、配布機能一式はpluginへ置きます。
  2. 優先順位:同名時の優先関係を確認し、意図しないoverrideがないか代表端末でcommand一覧と実内容を照合します。
  3. 供給元:Git repository、組織管理、claude.ai同期、plugin marketplaceを分け、URLとcommitまたはversionを記録します。
  4. 動的入力:!で取得するcommand出力、@で参照するfile、同梱script、templateを列挙します。秘密情報を広く注入しません。
  5. 呼び出し:利用者だけが呼ぶか、Claudeが自動選択できるか、subagentで実行するかをfrontmatterとテストで確認します。
  6. 操作境界:Skillの説明ではなく、実際に使えるBash、write、network、MCPをpermissionとsandboxで制限します。
  7. 更新と停止:変更差分、承認者、代表task、rollback先を残し、供給元不明・説明外操作・出力逸脱で即停止します。

同期Skillは中央から素早く配れますが、組織の正本repositoryと同じreview経路になるとは限りません。逆にproject Skillはpull requestで確認しやすい一方、personal Skillによる同名overrideを見落とせます。どれか一つを絶対安全とせず、「誰が変えるか」「どこで差分を見るか」「失敗時に何を止めるか」で選びます。

Skillを採用する前の8手順

  1. claude --versionでversionを記録し、同期Skillを扱う端末ではv2.1.228以降の強化をChangelogと照合します。
  2. 対象Skillの保存scope、folder名、SKILL.md、同梱file、symlink先を確認します。見えない別pathを正本にしません。
  3. 同じcommand名がenterprise、personal、project、commands folderにないか確認し、実際に優先される一件を特定します。
  4. description、利用者呼び出し可否、自動呼び出し可否、subagent指定、model指定を読み、想定起動条件を書き出します。
  5. 本文の!@、script、MCP、network接続、write先を確認し、読ませない秘密と触らせないpathをdenyへ入れます。
  6. 秘密を含まないcleanなrepositoryで、read-onlyの代表task、異常入力、空入力、失敗時の四例を試します。
  7. 期待出力、実際のtool利用、変更file、所要時間、費用の観測点を比較し、説明外の動作があれば採用を止めます。
  8. 承認したsource、commitまたはversion、owner、適用scope、次回見直し日、rollback方法を台帳へ残してから共有します。

更新時はSkill本文だけでなく、supporting fileとscriptの差分もreviewします。公式guideのlive change detectionはSKILL.md本文をsession中に反映しますが、Skill folderがpluginでもある場合、HooksやMCPなどの変更にはplugin reloadが必要です。検証前後でsession条件を揃えます。

運用チェックリストと停止条件

  • 供給元URLとownerを確認した
  • scopeと優先順位を確認した
  • 同名Skillの衝突を確認した
  • SKILL.mdと同梱fileをreviewした
  • 動的commandとfile参照を確認した
  • 自動呼び出し条件を確認した
  • permissionとsandboxを固定した
  • 本番secretを使わず試験した
  • 正常・異常・空入力を試した
  • 説明外操作を記録した
  • versionと承認者を記録した
  • rollbackと無効化手順を確認した

停止条件は、供給元が確認できない、同名overrideを説明できない、review外のscriptが増えた、意図しないnetworkへ接続した、禁止pathを読んだ、成果物を直接公開しようとした場合です。Skillは手順を再利用する仕組みであり、承認責任を置き換える仕組みではありません。

よくある質問と次の行動

CLAUDE.mdの手順をすべてSkillへ移すべきですか?

いいえ。常に必要な禁止事項やproject事実はCLAUDE.md、特定作業でだけ読む長い手順やtemplateはSkillへ分けます。

同期Skillならlocal commandより優先されますか?

v2.1.228のChangelogでは同期Skillsがlocal commandやMCP promptをshadowしない強化が明記されています。versionと実一覧を確認してください。

Skillを共有したら全員同じ動作になりますか?

personal override、version、permission、OS、tool接続で差が出ます。代表端末だけでなく、利用条件の異なる端末でも受入試験をします。

保存scope、優先順位、同期folder、作成方法はAnthropic公式Skills guide、v2.1.228の同期Skill強化はClaude Code公式Changelog、組織配布と設定scopeは公式Settings guideで公開直前にも確認してください。

repository受入はworkspace trustの判断手順、操作制御はClaude Codeの権限設定、plugin配布はZIP pluginの安全な配布へつなげます。Miraigentの無料診断では、Skillのsource、scope、tool、承認、停止条件を一枚の管理表へ整理します。