Install any skill in seconds. Free to start, no credit card required.
Get Started Free →microsoft/teams-app-developer
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
Passed 20 of 21 test cases with the skill, and 6 of 21 without it.
and 16 more in the full report
15 fixed6 passed either way1 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
Which ATK CLI option is used to specify a custom parent folder when scaffolding a new project?
| Checked | Without skill | With skill |
|---|---|---|
| Identifies -f as the CLI option for specifying the project folder. | Missed | Passed |
The instructions your model reads when the skill loads.
Build Microsoft 365 agents and Teams apps using the ATK CLI.
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:
AADSTS7000229 → aadApp/create missing generateServicePrincipal: true in YAML — add it and re-provisionTENANT_ID in .localConfigs → SDK uses wrong token authority → 401 from Bot ConnectorLong-Running Commands — WAIT for completion:
atk new, atk provision, atk deploy can take several minutesLocal Service Startup — Hangs terminal (expected):
npm run dev, npm start, python app.py, devtunnel host, etc. will hang — the process keeps running indefinitelyisBackground=true) — NEVER use isBackground=false for these commandsMonitor 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 --version # Must be > 1.1.5-beta
test cases passed, vs 6 / 21 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.