Official agent skill

Teams App Developer

by microsoft in microsoft/skills

Builds, tests, and deploys Microsoft 365 apps and agents for Teams and Copilot.

OfficialMITAuto-check: notesDocuments & Office

Install Teams App Developer

skills CLI
$ npx skills add microsoft/skills --skill teams-app-developer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install microsoft/skills teams-app-developer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/microsoft/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/plugins/microsoft-365-agents-toolkit/skills/teams-app-developer .claude/skills/teams-app-developer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
teams-app-developer
GitHub stars
3.1k
Token cost
~1.9k tokens
SKILL.md length
651 words
Files
158
Skills in repo
150
Repo updated
First seen
Licence
MIT

At a glance

Builds, tests, and deploys Microsoft 365 apps and agents for Teams and Copilot.

  • Works in 3 steps: Detect ATK Project → Resolve Common Configuration → Collect Missing Values
  • Message extension
  • SKILL.md covers AI Behavior Guidelines, ATK CLI Setup, CLI Global Options and Sub-Skills, plus 3 more sections
  • Calls npm and python; needs AZURE_OPENAI_API_KEY

What it does

Teams App Developer is an agent skill from microsoft/skills, published by the product's own GitHub organization. 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…

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 161 other files (for example `create-project/create-project.md`, `docs/README.md` and `docs/advanced-features.md`).

It sits in Documents & Office, covering Cloud office suites and Deployment. It works with Microsoft Teams, Microsoft Azure, Microsoft 365 and Slack. The repository describes itself as: Skills, MCP servers, Custom Agents, Agents.md for SDKs to ground Coding Agents. The licence is MIT.

When your agent uses it

  • Message extension
  • Declarative Agents
  • Custom Engine Agents
  • Agents Playground

Example prompts

  • “/teams-app-developer”

Requirements

  • Python 3
  • Node.js
  • A credential in AZURE_OPENAI_API_KEY

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Detect ATK Project
  2. Resolve Common Configuration
  3. Collect Missing Values

What it can do on your machine

Read from SKILL.md and the folder at commit 354361d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • AZURE_OPENAI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Teams App Developer loads about 1.9k tokens when it runs. Until then it costs about 140 tokens; SKILL.md has 651 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~140
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:16
    ead error messages carefully. Check `env/.env.local`, `.localConfigs`, and `atk auth list`. Common pitfalls:

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from microsoft/skills at commit 354361d, republished under its MIT licence (© microsoft). 651 words, ~1,933 tokens.

Download SKILL.mdSave it as .claude/skills/teams-app-developer/SKILL.md (or your agent's skills folder). This skill also uses 157 other files; get the full folder from GitHub.
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 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

OptionMeaningRecommendation
-iInteractive modeAlways use -i false in automation to avoid hanging
-fProject folderDefault 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.
-hCommand helpUse atk <command> -h for quick syntax checks
Show full SKILL.md (290 more words)Show less

Sub-Skills

Sub-SkillWhen to UseReference
create-projectScaffold new project from template, choose template, atk newcreate-project/create-project.md
test-playgroundTest locally with Agents Playground, agentsplayground, quick testingtest-playground/test-playground.md
test-teamsRun on Teams, devtunnel, sideload, Teams testing, test in Copilottest-teams/test-teams.md
provision-deployProvision Azure resources, deploy to cloud, atk provision, atk deployprovision-deploy/provision-deploy.md
troubleshootFix errors, 401, port conflicts, YAML errors, stale botstroubleshoot/troubleshoot.md
slack-to-teamsMigrate Slack bot to Teams, cross-platform bridging, Block Kit to Adaptive Cardsslack-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 IntentWorkflow (read in order)
Build new app from scratchcreate-project → test-playground
Test existing project locallytest-playground (recommended) or test-teams
Deploy to Azureprovision-deploy
Fix broken bottroubleshoot → re-test
Migrate Slack bot to Teamsslack-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.

© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 157 other files in .github/plugins/microsoft-365-agents-toolkit/skills/teams-app-developer of microsoft/skills.

  • SKILL.md
  • 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
  • … and 141 more

Open the folder on GitHubat commit 354361d

Compare with similar skills

Teams App Developer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Teams App Developer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Teams App Developer this skillmicrosoft/skills3.1k—~1.9kAutomated safety check: NotesMIT
Slack To Teamsmicrosoft/work-iq1k1 repos~2.3kAutomated safety check: PassCustom licence
Teams App Developermicrosoft/work-iq1k—~1.8kAutomated safety check: NotesCustom licence
M365 Agent Evaluatormicrosoft/work-iq1k—~2kAutomated safety check: NotesCustom licence
Microsoft 365 Agents ToolkitOfficeDev/microsoft-365-agents-toolkit781—~2.8kAutomated safety check: NotesCustom licence
Spfx Releasepnp/docker-spfx134—~572Automated safety check: NotesMIT

Similar skills

  • Slack To Teams

    microsoft/work-iq

    Official

    Sub-skill of microsoft-365-agents-toolkit. An agent skill from microsoft/work-iq.

    1k GitHub starsUsed in 1 repo~2.3k tokens
    Documents & OfficeAuto-check passed
  • Teams App Developer

    microsoft/work-iq

    Official

    Build, test, and deploy code-based Teams apps using the M365 Agents Toolkit CLI.

    1k GitHub stars~1.8k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • M365 Agent Evaluator

    microsoft/work-iq

    Official

    A skill your agent uses when a user wants to create, run, or analyze evaluation suites for Microsoft 365 Copilot declarative agents with the public @microsoft/m365-copilot-eval CLI.

    1k GitHub stars~2k tokensUpdated today
    Documents & OfficeAuto-check: notes
  • Microsoft 365 Agents Toolkit

    OfficeDev/microsoft-365-agents-toolkit

    Builds, tests, and deploys Microsoft 365 apps and agents for Teams and Copilot.

    781 GitHub stars~2.8k tokensUpdated today
    Documents & OfficeAuto-check: notes
  • Spfx Release

    pnp/docker-spfx

    Automate SPFx version releases - branch, update files, commit, open PR, then tag after merge

    134 GitHub stars~572 tokensUpdated 3 mo ago
    Documents & OfficeAuto-check: notes
  • Entra Agent User

    github/awesome-copilot

    Official

    Create Agent Users in Microsoft Entra ID from Agent Identities, enabling AI agents to act as digital workers with user identity capabilities in Microsoft 365 and Azure environments.

    40k GitHub starsUsed in 1 repo~2.3k tokens
    Documents & OfficeAuto-check passed

More from microsoft/skills

All 150 skills in this repo
  • Official

    Reference for building on Microsoft Foundry with the azure-ai-projects Python SDK: project clients, versioned agents, evaluations, connections, datasets and indexes.

    3.1k GitHub starsUsed in 6 repos~2.8k tokens
    Auto-check passed
  • Official

    Python guidance for the Azure AI Search SDK covering vector, hybrid and semantic search, index management and indexers, with Entra ID authentication preferred over keys.

    3.1k GitHub starsUsed in 6 repos~4.4k tokens
    Auto-check passed
  • Official

    Covers producer, consumer, and checkpoint-store setup for Azure Event Hubs streaming in Python, with Entra ID auth and partition targeting.

    3.1k GitHub starsUsed in 1 repo~2.3k tokens
    Auto-check passed
  • Pydantic Models Py

    microsoft/skills

    Official

    Create Pydantic models following the multi-model pattern with Base, Create, Update, Response, and InDB variants.

    3.1k GitHub starsUsed in 6 repos~496 tokens
    Auto-check passed
  • Official

    Builds podcast-style audio narration from text with Azure OpenAI's GPT Realtime Mini over WebSocket, from a Python FastAPI backend to a React player.

    3.1k GitHub starsUsed in 1 repo~947 tokens
    Auto-check passed
  • Frontend UI Dark TS

    microsoft/skills

    Official

    Build dark-themed React applications using Tailwind CSS with custom theming, glassmorphism effects, and Framer Motion animations.

    3.1k GitHub starsUsed in 5 repos~3.6k tokens
    Auto-check passed

Questions about Teams App Developer

What does Teams App Developer do?

Builds, tests, and deploys Microsoft 365 apps and agents for Teams and Copilot. Teams App Developer is an agent skill from microsoft/skills, published by the product's own GitHub organization. Builds, tests, and deploys Microsoft 365 apps and agents for Teams and Copilot.

When should I use Teams App Developer?

Teams App Developer fits situations like: message extension; declarative Agents; custom Engine Agents; agents Playground.

How do I install Teams App Developer in Claude Code?

Run `npx skills add microsoft/skills --skill teams-app-developer -a claude-code`. Or copy the skill folder (.github/plugins/microsoft-365-agents-toolkit/skills/teams-app-developer in microsoft/skills) into .claude/skills/teams-app-developer in your project. Claude Code loads it when a task matches its description.

How do I install Teams App Developer in Codex?

Run `npx skills add microsoft/skills --skill teams-app-developer -a codex`. Or copy the skill folder (.github/plugins/microsoft-365-agents-toolkit/skills/teams-app-developer in microsoft/skills) into .agents/skills/teams-app-developer in your project. Codex loads it when a task matches its description.

Can I use Teams App Developer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/skills --skill teams-app-developer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/teams-app-developer, .gemini/skills/teams-app-developer, .github/skills/teams-app-developer and .opencode/skills/teams-app-developer in your project.

What does Teams App Developer need to run?

Going by SKILL.md and its folder, Teams App Developer needs the command-line tools its instructions call (npm and python) and credentials named AZURE_OPENAI_API_KEY. Our summary lists: Python 3; Node.js; A credential in AZURE_OPENAI_API_KEY.

Does Teams App Developer access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Teams App Developer safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Teams App Developer use?

Teams App Developer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Teams App Developer use?

About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Teams App Developer?

Skills that share tags, products or a category with Teams App Developer: Slack To Teams (microsoft/work-iq, 1k stars), Teams App Developer (microsoft/work-iq, 1k stars), M365 Agent Evaluator (microsoft/work-iq, 1k stars) and Microsoft 365 Agents Toolkit (OfficeDev/microsoft-365-agents-toolkit, 781 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Teams App Developer?

microsoft (a GitHub organization, an official publisher) maintains it in microsoft/skills, which has 3,086 GitHub stars. The repository holds 150 skills in this directory. The repository was last updated on October 6, 2026.

Source: microsoft/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.