вариант
ДомДом Skill DevOps и CI/CD teams-app-developer

teams-app-developer

microsoft/skills microsoft/skills

Создание, тестирование и развертывание приложений Microsoft 365 и агентов для Teams и Copilot с использованием ATK CLI, включая поднавыки создания проекта, локального тестирования, облачного развертывания, устранения неполадок и миграции из Slack в Teams.

...Расширить все
0
Обновлено время 16 сентября 2026 г.

Набор инструментов для агентов Microsoft 365 (Microsoft 365 Agents Toolkit Skill)

Создавайте агентов Microsoft 365 и приложения для Teams с помощью CLI ATK.

Рекомендации по поведению ИИ

  1. Стратегия тестирования: В первую очередь рекомендуется использовать Agents Playground (быстрее, не требуется M365). Используйте рабочий процесс Teams только в том случае, если пользователь явно запросил это.

  2. Переменные окружения: НИКОГДА не жестко кодируйте секреты и не придумывайте значения-заполнители. Всегда запрашивайте у пользователей реальные значения.

  3. Обработка ошибок: Внимательно читайте сообщения об ошибках. Проверьте файлы env/.env.local, .localConfigs и выполните команду atk auth list. Распространенные ошибки:

    • AADSTS7000229 → в файле YAML для aadApp/create отсутствует параметр generateServicePrincipal: true — добавьте его и повторно выполните provisioning
    • Отсутствует TENANT_ID в .localConfigs → SDK использует неверный центр выдачи токенов → ошибка 401 от Bot Connector
    • Ошибка 401 сохраняется после исправления аутентификации → URL туннеля devtunnel может быть в черном списке — создайте новый туннель
    • См. файл troubleshoot/troubleshoot.md для получения полных шагов диагностики
  4. Долго выполняющиеся команды — ОЖИДАНИЕ завершения:

    • Команды atk new, atk provision, atk deploy могут занимать несколько минут
    • Всегда дожидайтесь завершения выполнения перед запуском следующего шага (тайм-аут 120000 мс и более)
  5. Запуск локальных служб — зависание терминала (ожидаемое поведение):

    • Команды npm run dev, npm start, python app.py, devtunnel host и т. д. будут «зависать» — процесс будет работать бесконечно
    • ВСЕГДА запускайте их как фоновый процесс (isBackground=true) — НИКОГДА не используйте isBackground=false для этих команд
    • НЕ ждите, пока процесс «завершится» — проверяйте запуск по выводу «listening on port» или URL туннеля
    • Если появляются ошибки, читайте логи, диагностируйте проблему, исправляйте и перезапускайте
    • Используйте НОВЫЙ терминал для запуска Agents Playground или открытия URL для sideloading в Teams
  6. Мониторинг журналов приложения: Периодически проверяйте вывод фонового терминала на наличие ошибок运行时. Если приложение аварийно завершает работу, прочитайте ошибку, устраните первопричину и перезапустите приложение.

  7. Тегирование телеметрии: Перед выполнением любых команд CLI atk установите переменную окружения сеанса, чтобы все вызовы CLI помечались как инициированные навыком:

     export ATK_CLI_SKILL=true
    

    Выполните эту команду один раз в начале сеанса. Все последующие команды atk в том же терминале унаследуют это значение.

Настройка CLI ATK

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**Локальное тестирование с Agents Playground, `agentsplayground`, быстрое тестированиеtest-playground/test-playground.md
**test-teams**Запуск в Teams, devtunnel, sideload, тестирование в Teams, тестирование в Copilottest-teams/test-teams.md
**provision-deploy**Provision ресурсов Azure, развертывание в облаке, `atk provision`, `atk deploy`provision-deploy/provision-deploy.md
**troubleshoot**Исправление ошибок, 401, конфликты портов, ошибки YAML, устаревшие ботыtroubleshoot/troubleshoot.md
**slack-to-teams**Миграция бота Slack в Teams, кроссплатформенное связывание, Block Kit в Adaptive Cardsslack-to-teams/SKILL.md

ОБЯЗАТЕЛЬНО: Перед выполнением любого рабочего процесса прочитайте соответствующий документ поднавыка.

Общие справочные материалы

  • manifest-and-yaml.md — Файлы проекта, конфигурация YAML, переменные окружения, поток .localConfigs
  • commands.md — Команды CLI ATK: package, validate, share, collaborate
  • templates.md — Полный каталог шаблонов с поддержкой языков
  • experts/ — Более 100 файлов микроэкспертов: Teams SDK, Slack SDK, кроссплатформенное связывание, развертывание, модели ИИ, безопасность, преобразование языков
  • docs/ — Руководства по сравнению платформ: UI, сообщения, идентификация, инфраструктура, пробелы в функциях

Цепочки рабочих процессов

Соотнесите намерение пользователя с наименьшим допустимым рабочим процессом.

Намерение пользователяРабочий процесс (читать по порядку)
Создание нового приложения с нуляcreate-project → test-playground
Тестирование существующего проекта локальноtest-playground (рекомендуется) или test-teams
Развертывание в Azureprovision-deploy
Исправление неработающего ботаtroubleshoot → повторное тестирование
Миграция бота Slack в Teamsslack-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
Обновлено время 29 июня 2026 г.
klingai-upgrade-migration
Обновлено время 3 июля 2026 г.
Railway CLI Management
Обновлено время 2 июля 2026 г.
Verification &amp; Quality Assurance
Обновлено время 29 июня 2026 г.
OR