Microsoft 365 Copilot Coworkでは、Teams アプリ、Copilot エージェント、Office アドインで使用されるのと同じ配布メカニズムである M365 アプリ パッケージを使用した拡張性がサポートされます。Coworkは次の方法で拡張できます。
- スキル: 財務分析、法的調査、人事ワークフローなど、新しいドメインの専門知識Cowork教えるプロンプト ベースのワークフロー。
- コネクタ: 外部データ ソースと API へのCoworkアクセスを提供するリモート サーバー。
どちらも標準の Microsoft 365 アプリ パッケージにまとめてパッケージ化され、Microsoft 365 App Storeを通じて配布されます。
ビルドする内容
Cowork プラグインは、次を含む.zip パッケージです。
my-extension.zip
├── manifest.json # M365 Unified App Manifest (v1.28)
├── color.png # 192×192 full-color app icon
├── outline.png # 32×32 outline icon
└── skills/ # Agent Skills (SKILL.md files)
├── skill-one/
│ ├── SKILL.md
│ └── references/ # Optional deep-dive docs
└── skill-two/
└── SKILL.md
スキルでは、Claude Code、Visual Studio Code Copilot、Gemini CLI、Cursor、JetBrains Junie、および 30 以上の他の AI ツールでサポートされているのと同じ形式でエージェント スキルを開きます。
出発点を選択する
| 開始点 | Path | 最初のパッケージまでの時間 |
|---|---|---|
| 私は既存のClaudeコードプラグインを持っています | 変換する | ~5 分 |
| ゼロから始める | ゼロからビルドする | ~30 分 |
既存のClaude プラグインを変換する
スキルと MCP サーバーを備えた Claude Code プラグインが既にある場合、変換スクリプトは翻訳を処理します。
.\Convert-ClaudePluginToMOS3.ps1 -PluginPath ./my-claude-plugin -OutputPath ./output
このスクリプトは、プラグインの.claude-plugin/plugin.json、.mcp.json、skills/ ディレクトリを読み取り、生成されたmanifest.jsonを持つ有効な M365 .zip パッケージを生成します。
変換される内容
| プラグイン成果物のClaude | M365 同等 | 備考 |
|---|---|---|
.claude-plugin/plugin.json |
manifest.json |
マップされた名前、説明、作成者。GUID 自動生成 (決定論的 UUID v5) |
skills/*/SKILL.md |
agentSkills[] entries + skills/ フォルダー |
コピーされた逐語 - 同じ形式 |
.mcp.json サーバー |
agentConnectors[] エントリ |
URL と認証の種類が自動検出されました |
color.png / outline.png |
パッケージ内のアイコン | 存在する場合に使用されます。不足している場合に生成されるプレースホルダー |
変換されないもの
次のClaude プラグイン機能は、Microsoft 365 マニフェストではまだサポートされていません。
| Claude プラグイン機能 | 状態 |
|---|---|
commands/ (スラッシュ コマンド) |
まだサポートされていません |
agents/ (サブエージェント) |
まだサポートされていません |
hooks/ (イベント ハンドラー) |
まだサポートされていません |
settings.json |
該当なし |
bin/ (実行可能ファイル) |
該当なし |
変換スクリプト のオプション
.\Convert-ClaudePluginToMOS3.ps1
-PluginPath <path> # Required: Claude plugin directory
-OutputPath <path> # Output directory (default: current)
-AppId <guid> # Override auto-generated GUID
-DefaultAuthType <type> # Auto | None | OAuthPluginVault | ApiKeyPluginVault
-DetailedOutput # Show step-by-step progress
認証の種類の自動検出:
| ソース | 既定の認証の種類 | 理由 |
|---|---|---|
| 外部 HTTPS URL | OAuthPluginVault |
ほとんどのリモート API には認証が必要です |
自動検出がセットアップと一致しない場合は、 -DefaultAuthType を使用してオーバーライドします。
プラグインをゼロからビルドする
最初のスキルから始めて、完全で公開可能なパッケージまでビルドして、最初からプラグイン パッケージを作成するには、次の手順に従います。
手順 1: 最初のスキルを作成する
スキルは、 SKILL.md ファイルを含むフォルダーです。 次のフォルダー構造を作成します。
my-extension/
└── skills/
└── contract-analysis/
└── SKILL.md
YAML frontmatter と Markdown 本文を使用して SKILL.md を記述します。
---
name: contract-analysis
description: |
Analyzes contracts for key terms, risks, and obligations.
Use when user asks to "review this contract", "find the liability clause",
"summarize the key terms", or "compare these two agreements".
license: MIT
metadata:
author: Contoso Legal Tech
version: "1.0"
---
# Contract Analysis
## What This Skill Does
Guides Cowork through systematic contract review, identifying:
- Key commercial terms (pricing, payment, renewal)
- Risk clauses (indemnification, limitation of liability, IP)
- Obligations and deadlines
- Non-standard or unusual provisions
## Workflow
1. Read the uploaded contract document
2. Extract and categorize all clauses
3. Flag risk areas with severity ratings
4. Generate a structured summary with recommendations
## Output Format
Present findings in a structured table:
| Clause | Category | Risk Level | Summary |
|--------|----------|------------|---------|
| Section 4.2-Indemnification | Risk | High | Unlimited indemnification for IP claims |
| Section 7.1-Term | Commercial | Low | 12-month auto-renewal with 30-day notice |
SKILL.md フロントマッター フィールド
必須フィールド:
| フィールド | 制約 | 説明 |
|---|---|---|
name |
1 から 64 文字、ケバブケース | スキル識別子 - フォルダー名と正確に一致する必要があります |
description |
1 から 1024 文字 | このスキルを含むトリガー フレーズを使用する場合 |
重要
- フォルダー名は、frontmatter の
nameフィールドと一致している必要があります。 この不一致は、スキルの失敗の最も一般的な原因です。 -
descriptionフィールドの一覧に、ユーザーがサブスクリプションを購入するように外部マーケットプレースに誘導するアクションの呼び出しを含めてはいけません。
| フォルダー パス |
name フィールド |
有効。 | 理由 |
|---|---|---|---|
skills/contract-analysis/SKILL.md |
contract-analysis |
はい | フォルダーと名前の一致 |
skills/contract-analysis/SKILL.md |
ContractAnalysis |
不要 | 名前は、一致するフォルダーの代わりに PascalCase を使用します |
skills/my-skill/SKILL.md |
contract-analysis |
不要 | フォルダーは my-skill ですが、名前は contract-analysis |
名前付け規則 (kebab-case): 小文字の英数字とハイフンのみを使用します。 連続するハイフンは使用せず、先頭または末尾のハイフンは使用しないでください。
| 例 | 有効。 | 問題 |
|---|---|---|
bond-relative-value |
はい | ハイフンを使用した小文字 |
fx-carry-trade |
はい | ハイフンを使用した小文字 |
email |
はい | 1 つの単語、ハイフンは必要ありません |
Bond_Relative_Value |
不要 | アンダースコアと大文字 |
--my-skill-- |
不要 | 先頭と末尾のハイフン |
my--skill |
不要 | 連続するハイフン |
手順 2: 参照資料を追加する (省略可能)
複雑なスキルの場合は、メインの SKILL.md をリーンに保ち、詳細なコンテンツをサブディレクトリに移動します。 これらの追加ファイルは コンパニオン ファイル と呼ばれ、必要に応じてスキルと共に読み込まれます。
skills/
└── contract-analysis/
├── SKILL.md # Core workflow (~1,500-2,000 words ideal)
├── references/ # Deep-dive docs loaded on demand
│ ├── clause-taxonomy.md
│ └── risk-scoring.md
└── scripts/ # Executable utilities
└── extract-clauses.py
コンパニオン ファイルの制限
各スキルには、最大 20 個のコンパニオン ファイル ( SKILL.md以外のファイル) を含めることができます。 スキルごとに次の制限が適用されます。
| 極限 | 値 |
|---|---|
| コンパニオン ファイルの最大数 | 20 |
| コンパニオン ファイルあたりの最大サイズ | 5 MB |
| コンパニオンの最大合計サイズ | Excel Services で開くことのできるブックの最大サイズは 10 MB です。 |
| ダウンロード タイムアウト (すべてのコンパニオン) | 15 秒 |
コンパニオン ファイルルール
コンパニオン ファイル パスは、次の規則に従う必要があります。
- 相対パスのみを使用する (絶対パスなし)
- パス トラバーサルなし (
..セグメント) - ファイル名に円記号または null バイトがない
- 非表示ファイルなし (
.で始まる名前) - Windows 予約名 (
CON、PRN、AUX、NUL、COM1-COM9、LPT1-LPT9) なし - ファイル
SKILL.md自体がコンパニオン ファイルとしてカウントされない - ファイル名には、英数字、ハイフン、アンダースコア、ドット、スペース、および
!
コンテキスト ウィンドウを効率的に保つために、システムはスキルを 3 つのレイヤーに読み込みます。
| Layer | 読み込まれた場合 | ターゲット サイズ |
|---|---|---|
Frontmatter (name + description) |
Always - 起動時 | ~100 トークン |
SKILL.md 体 |
スキルがトリガーされたとき | 5,000 個未満のトークン (1,500 から 2,000 ワード) |
参照 (references/) |
エージェントによるオンデマンド | 無制限 |
スクリプト (scripts/) |
実行され、コンテキストに読み込まれません | 該当なし |
エージェントが存在することを認識できるように、 SKILL.md でサブディレクトリを明示的に参照します。
## Additional Resources
- **`references/clause-taxonomy.md`**-Full taxonomy of contract clause types
- **`references/risk-scoring.md`**-Risk scoring methodology and thresholds
- **`scripts/extract-clauses.py`**-Automated clause extraction utility
手順 3: コネクタを追加する (省略可能)
拡張機能が外部データにアクセスする必要がある場合は、リモート MCP サーバーを追加します。 この手順は省略できます。 スキルのみのパッケージは、プロンプト ベースのワークフローに適しています。
コネクタの要件
| 要件 | 詳細 |
|---|---|
| Transport | ストリーミング可能な HTTP (HTTPS 必須、TLS 1.2 以降) |
| プロトコル | JSON-RPC 2.0 メッセージ形式 |
| ツール検出 | 動的検出のサポート tools/list (推奨) |
| ツールの実行 | 呼び出しの tools/call をサポートする |
| Availability | ストア公開アプリに推奨される 99.9% アップタイム SLA |
| 応答時間 | ツール呼び出しあたり 30 秒未満 |
ツール設計ガイドライン
-
小さな API (15 操作未満):
search_case_law、get_ruling、cite_precedent - 大規模な API (50 以上の操作) を検索して実行します。
search_actions+execute_action -
わかりやすい名前:
get_bond_priceしませんgetData - リッチ入力スキーマ: すべてのパラメーターの説明を含めます。これはエージェントが読み取るものです
- 構造化された出力: エージェントがユーザーの書式を設定できる JSON を返します
サポートされている認証の種類
| 認証の種類 | いつ使用するか | ユーザー エクスペリエンス |
|---|---|---|
None |
パブリック API または匿名 API、内部サービス | Transparent - 認証プロンプトなし |
OAuthPluginVault |
OAuth 2.0 API (運用環境に推奨) | ユーザーが OAuth の同意を 1 回完了する |
ApiKeyPluginVault |
API キーベースのサービス | ユーザーがキーを 1 回提供する |
OAuthPluginVaultとApiKeyPluginVaultの場合、referenceIdは Microsoft Enterprise Token Store に格納されている資格情報を指します。シークレットはマニフェストまたはスキル ファイルには表示されません。
referenceId値は、エージェント ツールキットに OAuth クライアントを登録するときに作成する OAuth クライアント登録 ID です。
重要
OAuth クライアントを登録するときは、organizationによる使用状況を任意の Microsoft 365 Organization に設定して、プラグインがテナント間で動作することを確認します。
MCP 認証
認証に OAuth または ApiKey を使用するには、セットアップと構成の詳細については、「Microsoft 365 Copilotのエージェントで MCP および API プラグインの認証を構成する」を参照してください。
動的クライアント登録
MCP サーバーで動的クライアント登録 (DCR) がサポートされている場合は、コネクタ定義からauthentication構成を省略し、プラグインの代わりに OAuth クライアントを自動的に作成Cowork。
MCP サーバー URL のみを構成し、Coworkが残りの処理を行います。
"remoteMcpServer": {
"mcpServerUrl": "https://api.contoso.com/legal/mcp",
}
手順 4: マニフェストを作成する
パッケージ ルートに manifest.json を作成します。
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.28/MicrosoftTeams.schema.json",
"manifestVersion": "1.28",
"version": "1.0.0",
"id": "YOUR-GUID-HERE",
"developer": {
"name": "Contoso Legal Tech",
"websiteUrl": "https://contoso.com",
"privacyUrl": "https://contoso.com/privacy",
"termsOfUseUrl": "https://contoso.com/terms"
},
"name": {
"short": "Contoso Legal Tools",
"full": "Contoso Legal Tools for Copilot Cowork"
},
"description": {
"short": "Contract analysis, clause extraction, and legal research",
"full": "Comprehensive legal tools for Copilot Cowork including contract analysis, clause extraction, risk assessment, and legal research capabilities."
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"accentColor": "#2B579A",
"agentSkills": [
{ "folder": "./skills/contract-analysis" }
]
}
コネクタを追加するには、次の agentConnectorsを含めます。
{
"agentConnectors": [
{
"id": "contoso-legal-api",
"displayName": "Contoso Legal Database",
"description": "Access to case law, statutes, and regulatory databases",
"toolSource": {
"remoteMcpServer": {
"mcpServerUrl": "https://api.contoso.com/legal/mcp",
"authorization": {
"type": "OAuthPluginVault",
"referenceId": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u"
}
}
}
}
]
}
コネクタ構成では、 referenceId は OAuth 登録 ID である必要があります。
手順 5: アイコンを追加する
2 つの PNG アイコンを作成します。
| アイコン | Size | 用途 |
|---|---|---|
color.png |
192×192 px | ストアとアプリの一覧に表示されるフル カラー アプリ アイコン |
outline.png |
32×32 px | コンパクト ビューの単色アウトライン アイコン |
アイコンがまだない場合は、変換スクリプトによって単色のプレースホルダーが生成されます。 ストアの申請の前に置き換えます。
手順 6: パッケージ
ルート レベルですべての内容を含む ZIP ファイルを作成します。
contoso-legal-tools.zip
├── manifest.json
├── color.png
├── outline.png
└── skills/
└── contract-analysis/
├── SKILL.md
└── references/
└── clause-taxonomy.md
Windows (PowerShell):
Compress-Archive -Path manifest.json, color.png, outline.png, skills -DestinationPath contoso-legal-tools.zip
macOS/Linux:
zip -r contoso-legal-tools.zip manifest.json color.png outline.png skills/
Microsoft 365 Agents Toolkit の使用
atk package --manifest-file ./appPackage/manifest.json \
--output-package-file ./appPackage/build/appPackage.zip \
--output-folder ./appPackage/build
手順 7: テスト
アプリをテストするには、「アプリを Teams にアップロードする」の説明に従って 、アプリ パッケージを Teams にアップロードします。
個人用テストの場合は、Microsoft 365 Agents Toolkit コマンド ライン インターフェイスを使用してアプリをサイドロードします。
npmから@microsoft/m365agentstoolkit-cliをインストールします。npm install -g @microsoft/m365agentstoolkit-cliインストールを確認するには、次を実行します。
atk --versionMicrosoft 365 職場アカウントで認証する:
atk auth login職場アカウントにサインインしたら、エージェント パッケージをインストールし、ファイル パスを ZIP パッケージの場所に置き換えます。
atk install --file-path "C:/Users/myuser/myPackage.zip" --scope Personal正常にインストールされると、アカウントの
TitleIdとAppIdを含む出力が返されます。これらの ID は、後で更新またはアンインストールするときに使用するために保存します。
Microsoft 365 Agents Toolkit コマンド ライン インターフェイスの詳細を確認してください。
手順 8: テナントに発行する
- M365 管理センター>管理アプリ>カスタム アプリのアップロードを開きます。
- 省略記号ボタン (...) >を選択しますエージェントを追加します。
-
.zipパッケージをアップロードします。 - Cowork>Sources & Skills>Plugins を開きます。 プラグインが [検出 ] セクションに表示されます。
手順 9: パブリックに発行する
パブリック配布を目的としたプラグインの場合は、パートナー センター経由で Microsoft 365 App Storeにプラグインを送信します。 詳細については、「Microsoft 365 Copilotのエージェントを発行する」を参照してください。
パッケージ化パターン
拡張機能に合ったパターンを選択します。
スキルのみ (コネクタなし)
プロンプト ベースのワークフロー、ドキュメント分析、書き込み支援に最適です。
my-skills-pack.zip
├── manifest.json # agentSkills only, no agentConnectors
├── color.png
├── outline.png
└── skills/
├── skill-one/SKILL.md
└── skill-two/SKILL.md
スキル + リモート コネクタ
データ分析、API 統合、エンタープライズ システムに最適です。
my-data-skills.zip
├── manifest.json # agentSkills + agentConnectors
├── color.png
├── outline.png
└── skills/
├── analysis-workflow/SKILL.md
└── reporting-workflow/SKILL.md
コネクタのみ (カスタム スキルなし)
このオプションは、Coworkの組み込みスキルが既に使用できるデータ ソースに使用します。
my-connector.zip
├── manifest.json # agentConnectors only, no agentSkills
├── color.png
└── outline.png
変換されたClaude プラグイン
このオプションは、Coworkを対象とする既存のClaude エコシステム プラグインに使用します。
.\Convert-ClaudePluginToMOS3.ps1 -PluginPath ./claude-plugin -OutputPath ./output
スキル作成のベスト プラクティス
これらのガイドラインに従って、確実にアクティブ化し、一貫した結果を生成するスキルを作成します。
有効な説明を記述する
[ description ] フィールドは、エージェントがスキルをアクティブ化するタイミングを決定します。 具体的には次の手順を実行します。
# Good-specific trigger phrases, concrete scenarios
description: |
Analyzes bond relative value using Z-spreads, ASW spreads, and butterfly analysis.
Use when user asks to "analyze bond spreads", "compare bonds",
"rich-cheap analysis", "relative value", or "Z-spread calculation".
# Bad-vague, no trigger phrases
description: Provides bond analytics capabilities.
効果的なワークフローを記述する
- 説明で具体的に説明します。 トリガー フレーズを含める: "ユーザーが要求したときに使用します。..この説明では、アクティブ化するスキルをエージェントが決定する方法について説明します。
- ワークフローとしての構造。 手順に番号を付します。 各ステップは、具象アクションにマップする必要があります (ファイルの読み取り、ツールの呼び出し、出力の生成)。
- 出力形式を定義します。 ユーザーが期待するテーブル、リスト、またはドキュメント構造を正確に表示します。 この定義により、一貫性が大幅に向上します。
-
名前による参照ツール。 スキルがコネクタ ツールに依存している場合は、明示的に"
search_case_lawツールを使用して..." という名前を付けます。 -
メインの SKILL.md を無駄にしたままにしておきます。 詳細な参照資料を
references/サブディレクトリに移動します。 スキル本体は、百科事典ではなくワークフローである必要があります。
よくある間違いを避ける
-
SKILL.mdファイルにシークレットを埋め込む必要はありません。 API 資格情報の認証でagentConnectorsを使用します。 - 組み込みのスキルを複製しないでください。 ビルドする前 に、組み込みのスキルの一覧 を確認してください。
- スキルを広くしないでください。 "法的文書ですべてを行う" は、"契約分析"、"句抽出"、"法的研究" の特定のスキルよりも悪いです。
- ファイル パスまたはシステム コマンドをハードコーディングしないでください。 スキルは、環境間で移植できる必要があります。
-
すべてを SKILL.md に入れないでください。 体が約3,000語を超える場合は、詳細なコンテンツを
references/に移動します。
検証規則
パッケージを送信すると、プラットフォームによって複数のレベルで検証されます。 送信前にこれらのエラーを修正して、拒否を回避します。
マニフェスト レベルの検証
| コード | Rule | 重要度 |
|---|---|---|
| ASKILL-M001 |
folder は、各 agentSkills エントリに必要です |
Error |
| ASKILL-M002 |
agentSkills 配列には最大 20 個の項目を含めることができます |
Error |
| ASKILL-M003 |
folder path には最大 256 文字を指定できます |
Error |
パッケージ レベルの検証
| コード | Rule | 一般的な修正 | 重要度 |
|---|---|---|---|
| ASKILL-P001 | マニフェストで参照されるフォルダーが ZIP に存在する | ZIP 構造を確認する | Error |
| ASKILL-P002 | フォルダーには、 SKILL.md ファイルが含まれています |
不足している追加 SKILL.md |
Error |
| ASKILL-P003 |
SKILL.md
---区切り記号の間に有効な YAML フロントマッターがある |
YAML 構文の修正 | Error |
| ASKILL-P004 | Frontmatter には、 name フィールドが含まれます |
frontmatter に name: を追加する |
Error |
| ASKILL-P005 | Frontmatter には、 description フィールドが含まれます |
frontmatter に description: を追加する |
Error |
| ASKILL-P006 |
name フォルダー名 (最後のパス セグメント) と一致します |
フォルダーの名前を変更するか、修正する name: |
Error |
| ASKILL-P007 |
name は kebab-case です |
MySkillされていないmy-skillを使用するmy_skill |
Error |
| ASKILL-P008 | 配列内に重複する folder 値がない |
重複を削除 | Error |
コネクタの検証
| Rule | 重要度 |
|---|---|
id各コネクタに必要なdisplayName |
Error |
マニフェスト内で一意のすべてのコネクタ id 値 |
Error |
pluginまたはremoteMcpServer |
Error |
mcpServerUrl は有効な HTTPS URL である必要があります |
Error |
authorization.referenceId 型が である場合を除き、必須 None |
Error |
authorization.referenceId 型が 次の場合は存在しない必要があります。 None |
Error |
コンパニオン ファイルの検証
コンパニオン ファイル (参照資料、スクリプト、その他のファイルと SKILL.md) は、アップロード時と同期時に検証されます。
| Rule | 重要度 |
|---|---|
スキルあたり最大 20 個のコンパニオン ファイル ( SKILL.mdを除く) |
Error |
| 各コンパニオン ファイルは 5 MB 以下にする必要があります | Error |
| コンパニオン ファイルの合計は、スキルごとに 10 MB 以下にする必要があります | Error |
| ファイル パスは相対パスである必要があります (絶対パスなし) | Error |
パス トラバーサル セグメントなし (..) |
Error |
| ファイル名に円記号または null バイトがない | Error |
非表示ファイルなし ( . で始まる名前) |
Error |
Windows 予約名 (CON、 PRN、 AUX、 NUL、 COM1-COM9、 LPT1-LPT9) なし |
Error |
ファイル名には、安全な文字のみを使用する必要があります (英数字、ハイフン、アンダースコア、ドット、スペース、 !) |
Error |
クロスプラットフォームの互換性
スキルは、エージェント スキルオープン標準を使用します。 同じ SKILL.md ファイルは、複数の AI ツール間で機能します。
| プラットフォーム | 互換性 |
|---|---|
| Claude コード | 全く同じ SKILL.md 形式 |
| Claude.ai プロジェクト | フル スキルをプロジェクト ファイルとしてアップロードできます |
| VS Code / GitHub Copilot | エージェント モードでサポートされるスキルの Full-Agent |
| GEMINI CLI | サポートされている Full-Agent スキル |
| JetBrains Junie | サポートされている Full-Agent スキル |
| OpenAI Codex | サポートされている Full-Agent スキル |
| Cursor | サポートされている Full-Agent スキル |
Claude Code と Cowork の両方のスキルを開発している場合は、Claude Code プラグイン構造から始めます。これはスーパーセットです。
my-plugin/
├── .claude-plugin/
│ └── plugin.json # Claude plugin manifest
├── skills/
│ ├── skill-one/
│ │ ├── SKILL.md # Works in both Claude Code AND M365
│ │ └── references/
│ └── skill-two/
│ └── SKILL.md
└── .mcp.json # MCP server config (optional)
次に、Microsoft 365 App Storeに発行する準備ができたら、M365 パッケージに変換します。
.\Convert-ClaudePluginToMOS3.ps1 -PluginPath ./my-plugin -OutputPath ./output
MCP 注釈と確認管理
Copilot Coworkは、サーバーがtools/listから返すツールの標準 MCP annotations オブジェクトを読み取り、ツール呼び出しでユーザーの確認が必要かどうかを判断し、プロンプトに表示するラベルを決定します。
使用可能なフィールド
| フィールド | 種類 | 効果 |
|---|---|---|
readOnlyHint |
bool |
false: ツールを実行する前に確認が必要です。 |
destructiveHint |
bool |
true: ツールを実行する前に確認が必要です。 |
title |
string | 確認ダイアログに人間が判読できるラベルが表示されます。 存在しない場合は、ツール名にフォールバックします。 |
確認ルール
readOnlyHint == falseまたはdestructiveHint == trueの場合は確認が必要です。
すべてのツールに安全注釈が指定されている必要があります。 注釈のないツールは破壊的なものとして扱われ、確認が必要です。 詳細については、 MCP スキーマ リファレンスを参照 してください。
MCP の例
わかりやすいラベルを持つ破壊的なアクション:
{
"name": "send_email",
"description": "Send an email message.",
"annotations": {
"title": "Send Email",
"destructiveHint": true
},
"inputSchema": { ... }
}
自動実行される安全な読み取り:
{
"name": "search_docs",
"annotations": {
"title": "Search Documents",
"readOnlyHint": true
}
}
今すぐ利用できる内容
- Microsoft ツール (Graph、Dataverse など) は、注釈に関係なく、Coworkの組み込みポリシーによってゲートされます。
- Microsoft MCP 以外のサーバーの場合、注釈駆動型の確認は段階的にロールアウトされています。 ヒントの設定が前方互換性になり、開発者の変更を必要とせずロールアウトが拡大すると、確認プロンプトが表示されます。
よくある質問
Claude Code で M365 パッケージのスキルを使用できますか?
はい。 スキル フォルダーには、標準のエージェント スキルが含まれています。 それらを任意のClaude Code プロジェクトの.claude/skills/にコピーするか、最初にClaude プラグインとしてプロジェクトを構造化し、M365 の変換スクリプトを使用します。
リモート コネクタは必要ですか?
その必要はありません。 スキルのみのパッケージは、プロンプト ベースのワークフローに適しています。 コネクタは、スキルで外部システムからのライブ データが必要な場合にのみ必要です。
プラグインスキルと組み込みスキルの違い
プラグインスキルは、API のソース "package" で表示されます。 同じ名前の組み込みスキルをオーバーライドすることはできません。 管理デプロイされたパッケージには、isAdminDeployed: trueが表示されます。
IT 管理者は、使用可能なプラグインを制御できますか?
はい。 Standard M365 管理コントロールが適用されます。テナント レベルの許可/ブロック リスト、管理者が管理するデプロイ、コンプライアンス ポリシー。
プラグインが取り消された場合はどうなりますか?
次の同期サイクルでは、そのパッケージのスキルとコネクタがユーザーのセッションから削除されます。 アクティブな会話は中断されませんが、新しいセッションにはパッケージの機能がありません。
パッケージあたりのスキルの最大数は何ですか?
20 スキル (ASKILL-M002 あたり)。 コネクタの場合、制限はパッケージあたり 10 です。
スキルは同じパッケージのコネクタ ツールを参照できますか?
はい。そうする必要があります。
SKILL.md ワークフローでツールに明示的に名前を付けます (たとえば、「search_case_law ツールを使用して....」)。 エージェントは実行時に接続します。
パッケージ操作方法決定論的 GUID を生成しますか?
変換スクリプトでは、プラグイン名から UUID v5 (SHA-1 ベース) が使用されます。 変換を 2 回実行すると、同じ GUID が生成されます。 手動でパッケージ化する場合は、任意の GUID ジェネレーターを使用します。 バージョン間で安定していることを確認してください。