plugins/microsoft-365-agents-toolkit/skills/teams-app-developer/slack-to-teams/SKILL.md
Sub-skill of microsoft-365-agents-toolkit. Routed expert system with 100+ micro-expert files for migrating Slack bots to Teams, cross-platform bridging, and dual-platform bot development. USE FOR: migrating Slack bot to Teams, adding Teams support to Slack bot, building dual-platform bots, converting Block Kit to Adaptive Cards, identity/OAuth bridging, deploying bots to Azure or AWS, configuring AI model providers. DO NOT USE FOR: general web development, non-bot projects, standalone Teams development without Slack (use parent skill instead).
npx skillsauth add microsoft/work-iq slack-to-teamsInstall 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.
A routed expert system with 100+ micro-expert files for migrating Slack bots to Teams and building cross-platform bots.
Parent skill: For ATK CLI setup and routing, see ../SKILL.md. For local testing, see ../test-playground/test-playground.md or ../test-teams/test-teams.md. For cloud deploy, see ../provision-deploy/provision-deploy.md. For troubleshooting, see ../troubleshoot/troubleshoot.md.
Assess whether the developer has an existing codebase or is starting fresh.
Ask the developer which platform(s) to support:
PLAN.md in the target project root with platform, features, experts loaded.Follow the advisor's or domain router's output. Implement feature by feature:
Run these four sub-analyses in parallel:
Detect language — Scan for package.json+tsconfig.json (TypeScript), pom.xml/build.gradle (Java), *.csproj/*.sln (C#), go.mod (Go), requirements.txt/pyproject.toml (Python), Gemfile (Ruby), Cargo.toml (Rust).
Detect current platform — Scan dependencies for SDK indicators:
@slack/bolt, @slack/web-api, slack_bolt, app.message, app.command, ack()@microsoft/teams-ai, botbuilder, TeamsActivityHandler, app.turn, Adaptive CardsDetect features — Scan for slash commands, Block Kit/Adaptive Cards, action handlers, OAuth, file upload/download, scheduling, threading, AI/LLM calls, proactive messages.
Detect architecture — Scan for web framework (Express, Fastify, etc.), hosting target (Azure, AWS, Docker), cloud provider, architecture pattern (single bot, dual-bot, monolith).
Classify the detected language into SDK tiers:
| Tier | Languages | Guidance | |---|---|---| | 1: Full SDK | TypeScript / JavaScript | Full expert system available | | 2: Adapt | Python | Both SDKs exist — adapt TS patterns. Load bolt-python, teams-python, python-cross-platform | | 3: Split SDK | Java, C# | One platform has SDK, other needs REST. Load bolt-java or teams-dotnet + rest-only | | 4: No SDK | Go, Ruby, Rust | REST-only for both. Load rest-only |
PLAN.md with analysis results, routing decisions, and feature migration order.For ATK-compatible project structure (m365agents.yml, env/ files, appPackage), see the parent skill:
For Teams manifest schema and packaging, see runtime.manifest-ts.
If the expert system fails to cover a topic:
| Domain | Index | Description | |---|---|---| | Slack | experts/slack/index.md | Bolt framework, events, OAuth, commands, UI, CLI | | Teams | experts/teams/index.md | Teams AI SDK, Adaptive Cards, Graph, MCP, A2A, deploy | | Bridge | experts/bridge/index.md | 27 cross-platform conversion experts (the core differentiator) | | Deploy | experts/deploy/index.md | Azure & AWS deployment walkthroughs | | Models | experts/models/index.md | AI model providers (OpenAI, Anthropic, Bedrock, etc.) | | Convert | experts/convert/index.md | Language conversion to TypeScript | | Security | experts/security/index.md | Input validation, secrets management |
Reference guides for side-by-side platform comparison:
tools
Build, test, and deploy code-based Teams apps using the M365 Agents Toolkit CLI. USE FOR: Custom Engine Agents (CEA), Teams bots, tabs, message extensions, Agents Playground local testing, Azure provision/deploy, Slack-to-Teams migration, cross-platform bot development, Block Kit to Adaptive Cards conversion, AI model integration (OpenAI/Azure/Anthropic/Bedrock). DO NOT USE FOR: declarative agents — use the `declarative-agent-developer` skill instead. Triggers: "build a teams bot", "custom engine agent", "CEA", "teams agent", "tab app", "message extension", "test with agents playground", "provision to azure", "deploy to azure", "migrate slack bot", "slack to teams", "convert block kit", "add azure openai to my bot"
tools
--- name: workiq-preview description: Preview build of WorkIQ — the full Microsoft 365 tool surface: agentic semantic queries via ask_work_iq PLUS direct, structured reads and writes for emails, meetings, calendar, documents, Teams messages, OneDrive/SharePoint files, and people. USE THIS SKILL for ANY workplace question or write action where the data lives in Microsoft 365. Read triggers, "what did [person] say", "what are [person]'s priorities", "top of mind from [person]", "what was discussed
development
Query Microsoft 365 Copilot for workplace intelligence - emails, meetings, documents, Teams messages, and people information. USE THIS SKILL for ANY workplace-related question where the answer likely exists in Microsoft 365 data. This includes questions about what someone said, shared, or communicated; meetings, emails, messages, or documents; priorities, decisions, or context from colleagues; organizational knowledge; project status; team activities; or any information that would be in Outlook, Teams, SharePoint, OneDrive, or Calendar. When in doubt about workplace context, try WorkIQ first. Trigger phrases include "what did [person] say", "what are [person]'s priorities", "top of mind from [person]", "what was discussed", "find emails about", "what meetings", "what documents", "who is working on", "what's the status of", "any updates on", etc.
tools
Browse and discover SharePoint sites, lists, document libraries, and file contents — navigate your SharePoint world without leaving the CLI.