plugins/microsoft-agents-expert/skills/teams-agents/SKILL.md
Build Teams-native agents with the Teams SDK (formerly Teams AI Library v2) — App class, activity routing, adaptive cards, streaming, AI-generated labels, feedback, message extensions, Teams-as-MCP-server, and the bring-your-own-AI pattern with Agent Framework.
npx skillsauth add markus41/claude plugins/microsoft-agents-expert/skills/teams-agentsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The Teams AI Library is now renamed to Teams SDK (branded "Teams AI Library v2" in some docs) — rebuilt from the ground up for Teams-native agents. GA for JavaScript and C#; Python is developer preview. v1 is deprecated. Docs: https://learn.microsoft.com/microsoftteams/platform/teams-ai-library/welcome/overview · Repos: microsoft/teams.ts, microsoft/teams.py
@microsoft/teams.apps (the App class), @microsoft/teams.api
(MessageActivity and friends), @microsoft/teams.commonnpm i -g @microsoft/teams.cli@preview → teams new my-agent --template echoBring your own AI. The SDK deprecated its own AI packages (@microsoft/teams.ai
ChatPrompt/Model, old @microsoft/teams.mcp, @microsoft/teams.a2a). The documented
pattern: run the agent loop with the OpenAI SDK or Microsoft Agent Framework
(skills/agent-framework) and wire MCP/A2A directly — Teams SDK handles activity routing
and Teams affordances.
import { App } from '@microsoft/teams.apps';
const app = new App();
app.on('message', async ({ send, activity }) => {
await send({ type: 'typing' });
await send(`you said "${activity.text}"`);
});
app.start(process.env.PORT || 3978).catch(console.error);
@app.on_message
async def handle_message(ctx: ActivityContext[MessageActivity]):
async for chunk in agent.run(ctx.activity.text or "", stream=True):
if chunk.text:
ctx.stream.emit(chunk.text)
ctx.stream.emit(MessageActivityInput().add_ai_generated().add_feedback(mode="custom"))
| Capability | Notes |
|---|---|
| Adaptive Cards | Dialogs, message extensions, link unfurling — validate card JSON against the schema |
| Streaming | ctx.stream.emit(...) for progressive responses |
| AI-generated label | .addAiGenerated() — required UX for AI output in Teams |
| Feedback controls | .addFeedback('custom') — thumbs/feedback affordances on agent messages |
| Citations | Attach sources to generated answers |
| Prompt starters | Suggested first prompts in the agent's Teams surface |
| Proactive messages | Agent-initiated notifications to users/channels |
| Meetings | Meeting-aware agents (join context, transcripts where permitted) |
| Teams as MCP server | Expose Teams to agents: notify / ask / request_approval reach humans |
| Bot-to-bot A2A | Agent-to-agent conversations across Teams bots |
Teams SDK is Teams-centric (collaborative, multi-user, meetings, real-time). To extend the
same agent to Outlook, M365 Copilot, and other channels, use the M365 Agents SDK
(skills/m365-agents-sdk) — which also ships microsoft-agents-hosting-teams for the
Teams surface. Both build and publish through the Microsoft 365 Agents Toolkit.
Rule of thumb: Teams-only experience → Teams SDK; multi-channel custom engine agent → M365 Agents SDK, adding Teams affordances through its Teams hosting package.
/msagent-migrate for the project-structure map.tools
Run agents on Microsoft Foundry (formerly Azure AI Foundry) Agent Service — prompt agents vs hosted agents, threads/runs and the Responses API, built-in tools (Bing grounding, code interpreter, file search, MCP, OpenAPI, A2A), connected agents, Entra agent identity, SDKs, and observability/evaluations.
tools
Build and host custom engine agents with the Microsoft 365 Agents SDK — AgentApplication, the Activity protocol, channel reach via Azure Bot Service, hosting Agent Framework or Semantic Kernel engines, and the Agents Toolkit/Playground workflow. Successor to the Bot Framework SDK.
tools
Design, govern, and extend Microsoft Copilot Studio agents — topics, generative orchestration, knowledge, tools and MCP, agent flows, autonomous triggers, publishing channels, Copilot Credits pricing, and solution-based ALM on Power Platform.
tools
Choose and combine Microsoft agent stacks — the Copilot Studio vs Teams SDK vs M365 Agents SDK vs Agent Framework vs Foundry decision matrix, plus interop patterns - MCP as the tool fabric, A2A as the agent protocol, hosting matrices, and Agent 365 identity/observability.