オプション
家 Skill DevOps と CI/CD teams-app-developer

teams-app-developer

microsoft/skills microsoft/skills

ATK CLI を使用して、Teams および Copilot 用の Microsoft 365 アプリとエージェントのビルド、テスト、デプロイを実行し、プロジェクト作成、ローカルテスト、クラウドデプロイメント、トラブルシューティング、Slack から Teams への移行に関するサブスキルを備えています。

...すべて拡張します
0
更新された時間 2026年9月16日

Microsoft 365 エージェント ツールキット スキル

ATK CLI を使用して Microsoft 365 エージェントおよび Teams アプリを構築します。

AI 動作ガイドライン

  1. テスト戦略: まずエージェント プレイグラウンドを推奨します(高速、M365 不要)。ユーザーが明示的にリクエストした場合のみ Teams ワークフローを使用します。

  2. 環境変数: 秘密情報をハードコードしたり、架空のプレースホルダー値を作成したりしないでください。必ずユーザーに実際の値を問い合わせてください。

  3. エラー処理: エラーメッセージを注意深く読みます。env/.env.local.localConfigs、および atk auth list を確認します。よくある落とし穴:

    • AADSTS7000229 → YAML で aadApp/creategenerateServicePrincipal: true が不足している — 追加して再プロビジョニングする
    • .localConfigsTENANT_ID が不足している → SDK が間違ったトークン権限を使用する → Bot Connector から 401 エラー
    • 認証修正後も 401 が持続する → devtunnel URL がブラックリストに登録されている可能性がある — 新鮮なトンネルを作成する
    • 完全な診断手順については troubleshoot/troubleshoot.md を参照してください
  4. 長時間実行コマンド — 完了まで待機:

    • atk newatk provisionatk deploy には数分かかる場合があります
    • 次のステップを実行する前に、必ず完了まで待機してください(タイムアウト 120000ms 以上)
  5. ローカル サービスの起動 — ターミナルがハングする(想定内):

    • npm run devnpm startpython app.pydevtunnel host などはハングします — プロセスは無限に実行され続けます
    • 常にバックグラウンド プロセスとして実行してください(isBackground=true)— これらのコマンドに対して isBackground=false を使用しないでください
    • 「終了」するまで待機しないでください — 「ポートでリッスン中」またはトンネル URL が出力に含まれていることを確認して起動を検証します
    • エラーが表示された場合は、ログを読み、診断し、修正し、再起動します
    • エージェント プレイグラウンドを起動するか Teams のサイドローディング URL を開くには、新しいターミナルを使用してください
  6. アプリ ログの監視: 定期的にバックグラウンド ターミナルの出力を確認してランタイム エラーがないか確認します。アプリがクラッシュした場合は、エラーを読み、根本原因を修正し、再起動します。

  7. テレメトリ タグ付け: 任意の atk CLI コマンドを実行する前に、セッション環境変数を設定して、すべての CLI 呼び出しがスキルによって開始されたことをタグ付けします:

     export ATK_CLI_SKILL=true
    

    セッションの開始時にこれを 1 回実行します。同じターミナル内の後続の atk コマンドはすべてこれを継承します。

ATK CLI セットアップ

atk --version  # 1.1.5-beta より大きい必要があります

ATK が見つからない場合、またはバージョンが古すぎる場合:

npm i -g @microsoft/m365agentstoolkit-cli@beta

CLI グローバル オプション

オプション意味推奨事項
`-i`インタラクティブ モード自動化ではハングを避けるため、常に `-i false` を使用してください
`-f`プロジェクト フォルダーデフォルトは現在のディレクトリであり、カスタム フォルダーを指定する際に使用されます。新しいプロジェクトのスケルトン作成時、これはプロジェクト フォルダーが作成される親フォルダーです。
`-h`コマンド ヘルプ構文のクイックチェックには `atk -h` を使用してください

サブスキル

サブスキル使用時参照
**create-project**テンプレートから新しいプロジェクトをスケルトン作成し、テンプレートを選択、`atk new`create-project/create-project.md
**test-playground**エージェント プレイグラウンドでローカル テスト、`agentsplayground`、クイック テストtest-playground/test-playground.md
**test-teams**Teams で実行、devtunnel、サイドロード、Teams テスト、Copilot でのテストtest-teams/test-teams.md
**provision-deploy**Azure リソースのプロビジョニング、クラウドへのデプロイ、`atk provision`、`atk deploy`provision-deploy/provision-deploy.md
**troubleshoot**エラー、401、ポート競合、YAML エラー、古いボットの修正troubleshoot/troubleshoot.md
**slack-to-teams**Slack ボットから Teams への移行、クロスプラットフォーム ブリッジ、Block Kit からアダプティブ カードへslack-to-teams/SKILL.md

必須: 任意のワークフローを実行する前に、対応するサブスキルドキュメントを読んでください。

共有参照

  • manifest-and-yaml.md — プロジェクト ファイル、YAML 構成、環境変数、.localConfigs フロー
  • commands.md — ATK CLI コマンド: package、validate、share、collaborate
  • templates.md — 言語サポート付きの完全なテンプレートカタログ
  • experts/ — 100 以上のマイクロエキスパート ファイル: Teams SDK、Slack SDK、クロスプラットフォーム ブリッジ、デプロイ、AI モデル、セキュリティ、言語変換
  • docs/ — プラットフォーム比較ガイド: UI、メッセージング、ID、インフラストラクチャ、機能のギャップ

ワークフロー チェーン

ユーザーの意図に一致する最小の有効なワークフローを選択します。

ユーザーの意図ワークフロー(順序通りに読み取る)
ゼロから新しいアプリを構築create-project → test-playground
既存プロジェクトをローカルでテストtest-playground(推奨)または test-teams
Azure へのデプロイprovision-deploy
壊れたボットの修正troubleshoot → 再テスト
Slack ボットから Teams への移行slack-to-teams

必須: 任意の slack-to-teams ワークフローを実行する前に、まず slack-to-teams/SKILL.md を読んでください。このサブスキルには、クロスプラットフォーム ボット開発用の 100 以上のマイクロエキスパート ファイルを備えたルーティング済みエキスパート システムが含まれています。

ATK プロジェクト コンテキストの解決

値が不足している場合にのみ構成値を解決します。セッション内で既に値が既知の場合は、それを使用します。

ステップ 1: ATK プロジェクトの検出

現在のフォルダーに m365agentstoolkit*.yml が存在する場合、それを ATK プロジェクトとして扱い、構成を解析します。

ステップ 2: 共通構成の解決

m365agentstoolkit*.yml で参照される変数を解決します。一般的な変数: AZURE_OPENAI_API_KEY AZURE_OPENAI_ENDPOINT AZURE_OPENAI_DEPLOYMENT_NAME

ステップ 3: 不足している値の収集

必要な値が不足している場合、不足しているもののみをユーザーに問い合わせてください。

完全な構成ファイルの詳細については manifest-and-yaml.md を参照してください。

GitHubで見る
---
name: teams-app-developer
description: Builds, tests, and deploys Microsoft 365 apps and agents for Teams and Copilot using the ATK CLI, with sub-skills for project creation, local testing, cloud deployment, troubleshooting, and Slack-to-Teams migration.
---

# Microsoft 365 Agents Toolkit Skill

Build Microsoft 365 agents and Teams apps using the ATK CLI.

## AI Behavior Guidelines

1. **Testing Strategy:** Recommend Agents Playground first (faster, no M365 needed). Use Teams workflow only if user explicitly requests it.

2. **Environment Variables:** NEVER hardcode secrets or make up placeholder values. Always ask users for real values.

3. **Error Handling:** Read error messages carefully. Check `env/.env.local`, `.localConfigs`, and `atk auth list`. Common pitfalls:
   - **`AADSTS7000229`** → `aadApp/create` missing `generateServicePrincipal: true` in YAML — add it and re-provision
   - **Missing `TENANT_ID`** in `.localConfigs` → SDK uses wrong token authority → 401 from Bot Connector
   - **401 persists after auth fix** → devtunnel URL may be blacklisted — create a fresh tunnel
   - See [troubleshoot/troubleshoot.md](troubleshoot/troubleshoot.md) for full diagnostic steps

4. **Long-Running Commands — WAIT for completion:**
   - `atk new`, `atk provision`, `atk deploy` can take several minutes
   - Always wait for completion before running the next step (timeout 120000ms+)

5. **Local Service Startup — Hangs terminal (expected):**
   - `npm run dev`, `npm start`, `python app.py`, `devtunnel host`, etc. will hang — the process keeps running indefinitely
   - ALWAYS run as a background process (`isBackground=true`) — NEVER use `isBackground=false` for these commands
   - Do NOT wait for it to "finish" — verify startup by checking output for "listening on port" or tunnel URL
   - If errors appear, read logs, diagnose, fix, restart
   - Use a **NEW terminal** to launch Agents Playground or open Teams sideloading URL

6. **Monitor App Logs:** Periodically check background terminal output for runtime errors. If the app crashes, read the error, fix the root cause, and restart.

7. **Telemetry Tagging:** Before running any `atk` CLI commands, set the session environment variable so all CLI invocations are tagged as skill-initiated:
   ```bash
   export ATK_CLI_SKILL=true
   ```
   Run this once at the start of the session. All subsequent `atk` commands in the same terminal will inherit it.

## ATK CLI Setup

```bash
atk --version  # Must be > 1.1.5-beta
```

If ATK is not found or version is too old:

```bash
npm i -g @microsoft/m365agentstoolkit-cli@beta
```

## CLI Global Options

| Option | Meaning          | Recommendation                                                                                                                                                                   |
| ------ | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `-i`   | Interactive mode | Always use `-i false` in automation to avoid hanging                                                                                                                             |
| `-f`   | Project folder   | Default to be current directory, used when specifying a custom folder. When scaffolding a new project, this is the parent folder where the project folder will be created under. |
| `-h`   | Command help     | Use `atk <command> -h` for quick syntax checks                                                                                                                                   |

## Sub-Skills

| Sub-Skill            | When to Use                                                                      | Reference                                                                    |
| -------------------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| **create-project**   | Scaffold new project from template, choose template, `atk new`                   | [create-project/create-project.md](create-project/create-project.md)         |
| **test-playground**  | Test locally with Agents Playground, `agentsplayground`, quick testing           | [test-playground/test-playground.md](test-playground/test-playground.md)     |
| **test-teams**       | Run on Teams, devtunnel, sideload, Teams testing, test in Copilot                | [test-teams/test-teams.md](test-teams/test-teams.md)                         |
| **provision-deploy** | Provision Azure resources, deploy to cloud, `atk provision`, `atk deploy`        | [provision-deploy/provision-deploy.md](provision-deploy/provision-deploy.md) |
| **troubleshoot**     | Fix errors, 401, port conflicts, YAML errors, stale bots                         | [troubleshoot/troubleshoot.md](troubleshoot/troubleshoot.md)                 |
| **slack-to-teams**   | Migrate Slack bot to Teams, cross-platform bridging, Block Kit to Adaptive Cards | [slack-to-teams/SKILL.md](slack-to-teams/SKILL.md)                           |

> **MANDATORY:** Before executing any workflow, read the corresponding sub-skill document.

## Shared References

- [manifest-and-yaml.md](toolkit/manifest-and-yaml.md) — Project files, YAML config, env vars, .localConfigs flow
- [commands.md](toolkit/commands.md) — ATK CLI commands: package, validate, share, collaborate
- [templates.md](toolkit/templates.md) — Complete template catalog with language support
- [experts/](experts/index.md) — 100+ micro-expert files: Teams SDK, Slack SDK, cross-platform bridging, deploy, AI models, security, language conversion
- [docs/](docs/README.md) — Platform comparison guides: UI, messaging, identity, infrastructure, feature gaps

## Workflow Chains

Match user intent to the smallest valid workflow.

| User Intent                   | Workflow (read in order)                    |
| ----------------------------- | ------------------------------------------- |
| Build new app from scratch    | create-project → test-playground            |
| Test existing project locally | test-playground (recommended) or test-teams |
| Deploy to Azure               | provision-deploy                            |
| Fix broken bot                | troubleshoot → re-test                      |
| Migrate Slack bot to Teams    | slack-to-teams                              |

> **MANDATORY:** Before executing any slack-to-teams workflow, read [slack-to-teams/SKILL.md](slack-to-teams/SKILL.md) first. The sub-skill contains a routed expert system with 100+ micro-expert files for cross-platform bot development.

## ATK Project Context Resolution

Resolve config values only when missing. If a value is already known in the session, reuse it.

### Step 1: Detect ATK Project

If `m365agentstoolkit*.yml` exists in the current folder, treat it as an ATK project and parse configuration.

### Step 2: Resolve Common Configuration

Resolve variables referenced in `m365agentstoolkit*.yml`. Common variables:
AZURE_OPENAI_API_KEY
AZURE_OPENAI_ENDPOINT
AZURE_OPENAI_DEPLOYMENT_NAME

### Step 3: Collect Missing Values

If required values are missing, ask the user for only the missing ones.

Refer to [manifest-and-yaml.md](toolkit/manifest-and-yaml.md) for full config-file details.

すべてのファイル

147件のファイル

teams-app-developerをインストール

スキルファイルをダウンロードして、.claude/skills/ ディレクトリに展開してください。

ZIPをダウンロード

リポジトリをクローンし、スキルファイルをプロジェクトにコピーしてください。

git clone https://github.com/microsoft/skills/tree/main/.github/plugins/microsoft-365-agents-toolkit/skills/teams-app-developer # Copy SKILL.md to your .claude/skills/ directory

コピー コピー
クイックセットアップ: スキルフォルダを .claude/skills/ にコピーしてください。Claude はそのスキルを自動的に検出し、使用します。
リポジトリ microsoft/skills

関連スキル

base44-cli
更新された時間 2026年6月29日
klingai-upgrade-migration
更新された時間 2026年7月3日
Railway CLI Management
更新された時間 2026年7月2日
Verification &amp; Quality Assurance
更新された時間 2026年6月29日
OR