Option
HeimHeim Skill DevOps und CI/CD teams-app-developer

teams-app-developer

microsoft/skills 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 erweitern
0
Zeit aktualisiert 16. September 2026

Microsoft 365 Agents Toolkit-Fähigkeit

Erstellen Sie Microsoft 365-Agenten und Teams-Apps mit dem ATK-CLI.

Richtlinien für das KI-Verhalten

  1. Teststrategie: Empfehlen Sie zunächst das Agents Playground (schneller, kein M365 erforderlich). Verwenden Sie den Teams-Workflow nur, wenn der Benutzer dies explizit anfordert.

  2. Umgebungsvariablen: Kodieren Sie Geheimnisse niemals hart ein und erfinden Sie keine Platzhalterwerte. Fordern Sie Benutzer immer auf, echte Werte bereitzustellen.

  3. Fehlerbehandlung: Lesen Sie Fehlermeldungen sorgfältig. Überprüfen Sie env/.env.local, .localConfigs und atk auth list. Häufige Fallstricke:

    • AADSTS7000229aadApp/create fehlt generateServicePrincipal: true in der YAML-Datei — fügen Sie dies hinzu und stellen Sie erneut bereit
    • Fehlende TENANT_ID in .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
  4. Lang andauernde Befehle — AUF VOLLSTÄNDIGE AUSFÜHRUNG WARTEN:

    • atk new, atk provision, atk deploy können mehrere Minuten dauern
    • Warten Sie immer auf den Abschluss, bevor Sie den nächsten Schritt ausführen (Timeout 120000ms+)
  5. Starten lokaler Dienste — Blockiert das Terminal (erwartetes Verhalten):

    • npm run dev, npm start, python app.py, devtunnel host usw. blockieren — der Prozess läuft unbegrenzt weiter
    • Führen Sie diese Befehle IMMER als Hintergrundprozess aus (isBackground=true) — Verwenden Sie isBackground=false fü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
  6. Ü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.

  7. 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=true
    

    Fü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

OptionBedeutungEmpfehlung
`-i`Interaktiver ModusVerwenden Sie immer `-i false` in Automatisierungsskripten, um Blockierungen zu vermeiden
`-f`ProjektordnerStandardmäß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`BefehlshilfeVerwenden Sie `atk -h` für schnelle Syntaxüberprüfungen

Unteraufgaben

UnteraufgabeWann verwendenReferenz
**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 Testentest-playground/test-playground.md
**test-teams**Auf Teams ausführen, devtunnel, Sideloading, Teams-Testing, Testen in Copilottest-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 Botstroubleshoot/troubleshoot.md
**slack-to-teams**Slack-Bot zu Teams migrieren, plattformübergreifende Brücke, Block Kit zu Adaptive Cardsslack-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.

BenutzerabsichtWorkflow (in Reihenfolge lesen)
Neue App von Grund auf erstellencreate-project → test-playground
Bestehendes Projekt lokal testentest-playground (empfohlen) oder test-teams
In Azure bereitstellenprovision-deploy
Defekten Bot behebentroubleshoot → erneut testen
Slack-Bot zu Teams migrierenslack-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.

Auf GitHub ansehen
---
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 Dateien

teams-app-developer installieren

Laden Sie die Skill-Dateien herunter und extrahieren Sie diese in Ihr .claude/skills/-Verzeichnis.

ZIP herunterladen

Klonen 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 Kopieren
Schnelle Einrichtung: Kopieren Sie den Ordner „skill“ nach .claude/skills/. Claude erkennt und verwendet die Fähigkeit automatisch.
Repository microsoft/skills

Ähnliche Skills

base44-cli
Zeit aktualisiert 29. Juni 2026
klingai-upgrade-migration
Zeit aktualisiert 3. Juli 2026
Railway CLI Management
Zeit aktualisiert 2. Juli 2026
Verification &amp; Quality Assurance
Zeit aktualisiert 29. Juni 2026
OR