mcpbeat Sign in

Teams App Developer Agent Skill

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.

428k tokens
context cost
the whole folder, loaded on every use
148
files
instructions only
0
copies elsewhere
how many repositories repackaged it
90 d ago
last touched
this folder, not the whole repository

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/skills --skill teams-app-developer

What comes with it

557 229 bytes besides the instruction
create-project/create-project.md
docs/README.md
docs/advanced-features.md
docs/feature-gaps.md
docs/files-and-links.md
docs/identity-and-auth.md
docs/infrastructure.md
docs/interactive-responses.md
docs/messaging-and-commands.md
docs/middleware-and-handlers.md
docs/ui-components.md
docs/workflows.md
experts/README.md
experts/_expert-ts.md
experts/analyzer.md
experts/bridge/app-distribution-packaging-ts.md
experts/bridge/channel-ops-graph-ts.md
experts/bridge/commands-slash-text-ts.md
experts/bridge/cross-platform-advisor-ts.md
experts/bridge/cross-platform-architecture-ts.md
experts/bridge/events-activities-ts.md
experts/bridge/files-upload-download-ts.md
experts/bridge/identity-oauth-bridge-ts.md
experts/bridge/index.md
experts/bridge/infra-compute-ts.md
experts/bridge/infra-observability-ts.md
experts/bridge/infra-secrets-config-ts.md
experts/bridge/infra-storage-ts.md
experts/bridge/interactive-responses-ts.md
experts/bridge/link-unfurl-preview-ts.md
experts/bridge/middleware-handlers-ts.md
experts/bridge/python-cross-platform.md
experts/bridge/rate-limiting-resilience-ts.md
experts/bridge/rest-only-integration-ts.md
experts/bridge/scheduling-deferred-send-ts.md
experts/bridge/shortcuts-extensions-ts.md
experts/bridge/transport-socketmode-https-ts.md
experts/bridge/ui-app-home-personal-tab-ts.md
experts/bridge/ui-block-kit-adaptive-cards-ts.md
experts/bridge/ui-legacy-attachments-cards-ts.md

The instruction itself

11 sections, as written by the author

Microsoft 365 Agents Toolkit Skill

Build Microsoft 365 agents and Teams apps using the ATK CLI.

AI Behavior Guidelines

  • Testing Strategy: Recommend Agents Playground first (faster, no M365 needed). Use Teams workflow only if user explicitly requests it.
  • Environment Variables: NEVER hardcode secrets or make up placeholder values. Always ask users for real values.
  • Error Handling: Read error messages carefully. Check env/.env.local, .localConfigs, and atk auth list. Common pitfalls:
  • AADSTS7000229aadApp/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 for full diagnostic steps
  • 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+)
  • 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
  • Monitor App Logs: Periodically check background terminal output for runtime errors. If the app crashes, read the error, fix the root cause, and restart.
  • Telemetry Tagging: Before running any atk CLI commands, set the session environment variable so all CLI invocations are tagged as skill-initiated:
   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

atk --version  # Must be > 1.1.5-beta

If ATK is not found or version is too old:

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 |

| test-playground | Test locally with Agents Playground, agentsplayground, quick testing | test-playground/test-playground.md |

| test-teams | Run on Teams, devtunnel, sideload, Teams testing, test in Copilot | test-teams/test-teams.md |

| provision-deploy | Provision Azure resources, deploy to cloud, atk provision, atk deploy | provision-deploy/provision-deploy.md |

| troubleshoot | Fix errors, 401, port conflicts, YAML errors, stale bots | troubleshoot/troubleshoot.md |

| slack-to-teams | Migrate Slack bot to Teams, cross-platform bridging, Block Kit to Adaptive Cards | slack-to-teams/SKILL.md |

> MANDATORY: Before executing any workflow, read the corresponding sub-skill document.

Shared References

  • manifest-and-yaml.md — Project files, YAML config, env vars, .localConfigs flow
  • commands.md — ATK CLI commands: package, validate, share, collaborate
  • templates.md — Complete template catalog with language support
  • experts/ — 100+ micro-expert files: Teams SDK, Slack SDK, cross-platform bridging, deploy, AI models, security, language conversion
  • docs/ — 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 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 for full config-file details.

Other skills for the same job

different authors, same section of the catalogue
Pyhealth
by christophacham
×3

Comprehensive healthcare AI toolkit for developing, testing, and deploying machine learning models with clinical data. This skill should be used when working with electronic health records (EHR), clinical prediction tasks (mortality, readmission, drug recommendation), medical coding systems (ICD, NDC, ATC), physiological signals (EEG, ECG), healthcare datasets (MIMIC-III/IV, eICU, OMOP), or implementing deep learning models for healthcare applications (RETAIN, SafeDrug, Transformer, GNN).

22k tokens
Pyhealth
by ComeOnOliver
×3

Comprehensive healthcare AI toolkit for developing, testing, and deploying machine learning models with clinical data. This skill should be used when working with electronic health records (EHR), clinical prediction tasks (mortality, readmission, drug recommendation), medical coding systems (ICD, NDC, ATC), physiological signals (EEG, ECG), healthcare datasets (MIMIC-III/IV, eICU, OMOP), or implementing deep learning models for healthcare applications (RETAIN, SafeDrug, Transformer, GNN).

39k tokens
Performance Engineer
by ComeOnOliver
×2

Expert performance engineer specializing in modern observability, application optimization, and scalable system performance. Masters OpenTelemetry, distributed tracing, load testing, multi-tier caching, Core Web Vitals, and performance monitoring. Handles end-to-end optimization, real user monitoring, and scalability patterns. Use PROACTIVELY for performance optimization, observability, or scalability challenges.

5k tokens
Test Automator
by ComeOnOliver
×2

Master AI-powered test automation with modern frameworks, self-healing tests, and comprehensive quality engineering. Build scalable testing strategies with advanced CI/CD integration. Use PROACTIVELY for testing automation or quality assurance.

5k tokens
Genlayer Intelligent Contracts
by internet-court
×1

Internet Court adapter for GenLayer Intelligent Contract supervision. Use to specify agent-performance rubrics, evidence schemas, decision outputs, and ERC-7710 connector expectations, while delegating actual GenLayer contract writing, linting, testing, deployment, and CLI interaction to the official GenLayer skills at https://skills.genlayer.com/.

2k tokens
Airflow Dag Patterns
by lingxling
×1

Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs.

4k tokens
Azure Cosmos DB Py
by lingxling
×1

Build production-grade Azure Cosmos DB NoSQL services following clean code, security best practices, and TDD principles.

2k tokens
Deployment Validation Config Validate
by lingxling
×1

You are a configuration management expert specializing in validating, testing, and ensuring the correctness of application configurations. Create comprehensive validation schemas, implement configurat

4k tokens

How to use it

Copy the folder

Take microsoft/teams-app-developer from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference npm. Without those the skill loads but fails at the first command.