teams-app-developer — скилл для Claude Code
Помогает создавать, тестировать и развёртывать приложения и агентов для Microsoft Teams и Copilot через ATK CLI. Пригодится при разработке ботов или миграции со Slack.
npx skills add microsoft/skills --skill teams-app-developer -a claude-codeЧто делает teams-app-developer
Скилл координирует работу с утилитой ATK CLI, автоматизируя генерацию проектов, подготовку облачных ресурсов в Azure и локальную отладку. Внутри заложены сценарии для декларативных и кастомных агентов (Custom Engine Agents), вкладок и расширений сообщений Teams.
Для тестов скилл советует начинать с Agents Playground, поэтому учётная запись Microsoft 365 на старте не обязательна. Процессы запуска локальных серверов вроде npm run dev или python app.py скилл запускает в фоне, а длительным операциям вроде atk provision задаёт тайм-аут от 120000 мс. Отдельный блок правил помогает конвертировать элементы Block Kit из Slack в Adaptive Cards.
Без установленного глобально пакета @microsoft/m365agentstoolkit-cli@beta версии выше 1.1.5-beta команды подготовки и развёртывания завершатся ошибкой.
Какие задачи решает
- развернуть каркас бота или агента для Teams через
atk new - протестировать поведение агента локально в Agents Playground без аккаунта M365
- выделить ресурсы в Azure с помощью
atk provision - перенести логику бота из Slack в Teams с конвертацией Block Kit в Adaptive Cards
- устранить ошибку AADSTS7000229 и сбои авторизации в
.localConfigs
Примеры запросов агенту
- Создай проект декларативного агента для Teams через ATK и подготовь запуск в Agents Playground
- Помоги перенести Slack-бота в Microsoft Teams и переведи Block Kit в Adaptive Cards
- Разбери ошибку AADSTS7000229 при выполнении atk provision и обнови конфигурационный YAML
Как установить teams-app-developer
1Через Skills CLI (Vercel)
npx skills add microsoft/skills --skill teams-app-developer -a claude-code2Вручную: положить файлы
~/.claude/skills/teams-app-developer/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/teams-app-developer/
Вручную: положить файлы
.agents/skills/teams-app-developer/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/teams-app-developer/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install microsoft/skills teams-app-developer2Вручную: положить файлы
.github/skills/teams-app-developer/SKILL.mdКомандой платформы
gemini skills install https://github.com/microsoft/skills --path .github/plugins/microsoft-365-agents-toolkit/skills/teams-app-developerВручную: положить файлы
.devin/skills/teams-app-developer/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о teams-app-developer
Как установить teams-app-developer в Claude Code?
Выполните команду npx skills add microsoft/skills --skill teams-app-developer -a claude-code. Также файл спецификации можно сохранить вручную по пути ~/.claude/skills/teams-app-developer/SKILL.md.
Что делает скилл teams-app-developer?
Он направляет ассистента при сборке, локальном тестировании и публикации приложений для Microsoft Teams и Copilot. Скилл управляет флагами ATK CLI, фоновыми процессами и диагностикой конфигураций Azure.
Какие требования нужны для работы скилла?
Необходим пакет ATK CLI версии выше 1.1.5-beta, который ставят через npm i -g @microsoft/m365agentstoolkit-cli@beta. Перед вызовом команд скилл задаёт переменную export ATK_CLI_SKILL=true.
Исходный текст
SKILL.md · MIT
--- name: teams-app-developer description: "Builds, tests, and deploys Microsoft 365 apps and agents for Teams and Copilot. Includes sub-skills for project creation, local testing, cloud deployment, troubleshooting, and Slack-to-Teams migration. USE FOR: Teams agent, bot, tab, message extension, Declarative Agents, Custom Engine Agents, local testing, Agents Playground, Azure resource provision, remote deployment, Slack to Teams migration, cross-platform bot development, Block Kit to Adaptive Cards conversion. DO NOT USE FOR: general web development, non-bot/non-Teams projects." --- # 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.
© microsoft · MIT · microsoft/skills