En bref
Permet de construire, tester et déployer des applications et des agents Microsoft 365 pour Teams et Copilot. Elle inclut des sous-skills pour la création de projet, les tests locaux, le déploiement cloud, le diagnostic, et la migration Slack vers Teams. Elle intervient pour un agent ou un bot Teams, un onglet, une extension de message, un agent déclaratif, un Custom Engine Agent, Agents Playground, le provisionnement Azure, un déploiement distant, ou une conversion Block Kit vers Adaptive Cards. Elle demande de ne pas s’en servir pour un développement web général.
Ce que ça fait
- Crée et teste une app ou un agent Teams / Copilot
- Couvre le déploiement cloud et le diagnostic
- Inclut la migration Slack vers Teams
Pour qui, et un exemple
Les développeurs d’applications ou d’agents Microsoft 365 pour Teams et Copilot, y compris une migration depuis Slack.
Exemple de demande : « Crée un agent Teams, teste-le en local dans Agents Playground, puis prépare le déploiement Azure. »
On la déclenche pour un agent ou un bot Teams, un onglet, une extension de message, un agent déclaratif, les tests locaux, un déploiement, ou une migration Slack vers Teams, et non pour un développement web général. Exemple rédigé par iadujour.fr à partir du SKILL.md, non testé.
Installer
npx skills add microsoft/skills (sélection de la skill dans l’assistant, README).
npx skills add microsoft/skillsFonctionne avec
- GitHub Copilot
- Copilot CLI
Source : README : exemples de « Copilot CLI » et « GitHub Copilot in VS Code » ; l’installation `npx skills add` envoie les fichiers vers le répertoire de l’agent choisi, sans liste exhaustive.
Niveau : Avancé
S’adresse à un usage avancé (sécurité, production, architecture ou réglages fins) décrit dans le SKILL.md.
À savoir
Extrait du SKILL.md
La description d’origine, celle que l’agent lit pour décider de charger la skill (en anglais) :
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, […]
Citée depuis le SKILL.md au commit 0bef15b . Le dossier contient aussi 146 fichiers annexes (create-project/, docs/, experts/, provision-deploy/, test-playground/, test-teams/, toolkit/, troubleshoot/).
Le SKILL.md compte 110 lignes et 10 sections principales :
- AI Behavior Guidelines
- ATK CLI Setup
- CLI Global Options
- Sub-Skills
- Shared References
- Workflow Chains
- ATK Project Context Resolution
- Step 1: Detect ATK Project
- Step 2: Resolve Common Configuration
- Step 3: Collect Missing Values
Licence : MIT
Vérifiée le 10 novembre 2026 sur : fichier LICENSE du dépôt . Titulaire : Copyright (c) Microsoft Corporation..
La licence autorise la reprise : le texte intégral du SKILL.md est reproduit ci-dessous, sans modification, avec sa mention de licence.
Texte intégral du SKILL.md
Reproduit sans modification depuis microsoft/skills (commit 0bef15b) , © Microsoft, sous licence MIT (fichier de licence d’origine ).
Afficher le SKILL.md original (110 lignes, en anglais)
---
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.
Dans l’annuaire
Cas d’usage et guides qui partagent un thème, un métier ou un outil avec cette skill.
Commentaires.
Un retour d’expérience, une question, une précision sur cette skill ? Les commentaires sont relus avant publication.
Commentaires publiés
Chargement des commentaires…
Laisser un commentaire
Charte de modération. Chaque commentaire est relu avant publication. Sont refusés : l’incitation à la haine, les propos injurieux ou discriminatoires, la publicité, le spam et les liens promotionnels, le hors-sujet et les données personnelles d’autrui.