teams-app-developer
microsoft/skills
Erstellt, testet und stellt Microsoft 365-Apps und -Agents für Teams und Copilot mithilfe der ATK CLI bereit, mit Unterfähigkeiten für die Projekterstellung, lokales Testen, Cloud-Bereitstellung, Fehlerbehebung und die Migration von Slack zu Teams.
...Alle erweiternMicrosoft 365 Agents Toolkit-Fähigkeit
Erstellen Sie Microsoft 365-Agenten und Teams-Apps mit dem ATK-CLI.
Richtlinien für das KI-Verhalten
Teststrategie: Empfehlen Sie zunächst das Agents Playground (schneller, kein M365 erforderlich). Verwenden Sie den Teams-Workflow nur, wenn der Benutzer dies explizit anfordert.
Umgebungsvariablen: Kodieren Sie Geheimnisse niemals hart ein und erfinden Sie keine Platzhalterwerte. Fordern Sie Benutzer immer auf, echte Werte bereitzustellen.
Fehlerbehandlung: Lesen Sie Fehlermeldungen sorgfältig. Überprüfen Sie
env/.env.local,.localConfigsundatk auth list. Häufige Fallstricke:AADSTS7000229→aadApp/createfehltgenerateServicePrincipal: truein der YAML-Datei — fügen Sie dies hinzu und stellen Sie erneut bereit- Fehlende
TENANT_IDin.localConfigs→ SDK verwendet falsche Token-Behörde → 401 von Bot Connector - 401 bleibt nach Fehlerbehebung bestehen → devtunnel-URL könnte auf der schwarzen Liste stehen — erstellen Sie einen neuen Tunnel
- Weitere Diagnose-Schritte finden Sie in troubleshoot/troubleshoot.md
Lang andauernde Befehle — AUF VOLLSTÄNDIGE AUSFÜHRUNG WARTEN:
atk new,atk provision,atk deploykönnen mehrere Minuten dauern- Warten Sie immer auf den Abschluss, bevor Sie den nächsten Schritt ausführen (Timeout 120000ms+)
Starten lokaler Dienste — Blockiert das Terminal (erwartetes Verhalten):
npm run dev,npm start,python app.py,devtunnel hostusw. blockieren — der Prozess läuft unbegrenzt weiter- Führen Sie diese Befehle IMMER als Hintergrundprozess aus (
isBackground=true) — Verwenden SieisBackground=falsefür diese Befehle NIEMALS - Warten Sie NICHT darauf, dass sie „fertig“ sind — Überprüfen Sie den Start, indem Sie nach „listening on port“ oder der Tunnel-URL im Output suchen
- Wenn Fehler auftreten, lesen Sie die Logs, diagnostizieren Sie das Problem, beheben Sie es und starten Sie neu
- Verwenden Sie ein NEUES Terminal, um Agents Playground zu starten oder die Teams-Sideloading-URL zu öffnen
Überwachen Sie Anwendungslogs: Überprüfen Sie regelmäßig die Ausgabe des Hintergrundterminals auf Laufzeitfehler. Wenn die Anwendung abstürzt, lesen Sie den Fehler, beheben Sie die Ursache und starten Sie neu.
Telemetrie-Kennzeichnung: Legen Sie vor der Ausführung beliebiger
atk-CLI-Befehle die Sitzungs-Umgebungsvariable fest, damit alle CLI-Aufrufe als von der Fähigkeit initiiert gekennzeichnet sind:export ATK_CLI_SKILL=trueFühren Sie dies einmal zu Beginn der Sitzung aus. Alle nachfolgenden
atk-Befehle im selben Terminal erben diesen Wert.
ATK CLI-Einrichtung
atk --version # Muss > 1.1.5-beta sein
Wenn ATK nicht gefunden wird oder die Version zu alt ist:
npm i -g @microsoft/m365agentstoolkit-cli@beta
Globale CLI-Optionen
| Option | Bedeutung | Empfehlung |
|---|---|---|
| `-i` | Interaktiver Modus | Verwenden Sie immer `-i false` in Automatisierungsskripten, um Blockierungen zu vermeiden |
| `-f` | Projektordner | Standardmäßig aktuelles Verzeichnis; wird verwendet, wenn ein benutzerdefinierter Ordner angegeben wird. Beim Erstellen eines neuen Projekts ist dies der übergeordnete Ordner, unter dem der Projektordner erstellt wird. |
| `-h` | Befehlshilfe | Verwenden Sie `atk |
Unteraufgaben
| Unteraufgabe | Wann verwenden | Referenz |
|---|---|---|
| **create-project** | Neues Projekt aus Vorlage erstellen, Vorlage auswählen, `atk new` | create-project/create-project.md |
| **test-playground** | Lokal mit Agents Playground testen, `agentsplayground`, schnelles Testen | test-playground/test-playground.md |
| **test-teams** | Auf Teams ausführen, devtunnel, Sideloading, Teams-Testing, Testen in Copilot | test-teams/test-teams.md |
| **provision-deploy** | Azure-Ressourcen bereitstellen, in die Cloud bereitstellen, `atk provision`, `atk deploy` | provision-deploy/provision-deploy.md |
| **troubleshoot** | Fehler beheben, 401, Portkonflikte, YAML-Fehler, veraltete Bots | troubleshoot/troubleshoot.md |
| **slack-to-teams** | Slack-Bot zu Teams migrieren, plattformübergreifende Brücke, Block Kit zu Adaptive Cards | slack-to-teams/SKILL.md |
ZWINGEND: Lesen Sie vor der Ausführung eines beliebigen Workflows das entsprechende Unteraufgaben-Dokument.
Gemeinsame Referenzen
- manifest-and-yaml.md — Projektdateien, YAML-Konfiguration, Umgebungsvariablen, .localConfigs-Flow
- commands.md — ATK CLI-Befehle: package, validate, share, collaborate
- templates.md — Vollständiges Vorlagenkatalog mit Sprachunterstützung
- experts/ — 100+ Mikroexperten-Dateien: Teams SDK, Slack SDK, plattformübergreifende Brücke, Bereitstellung, KI-Modelle, Sicherheit, Sprachkonvertierung
- docs/ — Plattformvergleichsanleitungen: UI, Messaging, Identität, Infrastruktur, Funktionslücken
Workflow-Ketten
Ordnen Sie die Benutzerabsicht dem kleinsten gültigen Workflow zu.
| Benutzerabsicht | Workflow (in Reihenfolge lesen) |
|---|---|
| Neue App von Grund auf erstellen | create-project → test-playground |
| Bestehendes Projekt lokal testen | test-playground (empfohlen) oder test-teams |
| In Azure bereitstellen | provision-deploy |
| Defekten Bot beheben | troubleshoot → erneut testen |
| Slack-Bot zu Teams migrieren | slack-to-teams |
ZWINGEND: Lesen Sie vor der Ausführung eines beliebigen slack-to-teams-Workflows zuerst slack-to-teams/SKILL.md. Die Unteraufgabe enthält ein routiertes Expertensystem mit 100+ Mikroexperten-Dateien für die plattformübergreifende Bot-Entwicklung.
ATK-Projektkontextauflösung
Rufen Sie Konfigurationswerte nur ab, wenn sie fehlen. Wenn ein Wert in der Sitzung bereits bekannt ist, verwenden Sie ihn erneut.
Schritt 1: ATK-Projekt erkennen
Wenn m365agentstoolkit*.yml im aktuellen Ordner vorhanden ist, behandeln Sie es als ATK-Projekt und analysieren Sie die Konfiguration.
Schritt 2: Gemeinsame Konfiguration auflösen
Rufen Sie Variablen auf, die in m365agentstoolkit*.yml referenziert werden. Häufige Variablen: AZURE_OPENAI_API_KEY AZURE_OPENAI_ENDPOINT AZURE_OPENAI_DEPLOYMENT_NAME
Schritt 3: Fehlende Werte sammeln
Wenn erforderliche Werte fehlen, fragen Sie den Benutzer nur nach den fehlenden Werten.
Weitere Details zu Konfigurationsdateien finden Sie in manifest-and-yaml.md.
---
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.
Alle Dateien
147 Dateienteams-app-developer installieren
Laden Sie die Skill-Dateien herunter und extrahieren Sie diese in Ihr .claude/skills/-Verzeichnis.
ZIP herunterladenKlonen Sie das Repository und kopieren Sie die Skill-Dateien in Ihr Projekt.
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
Kopieren





Heim
