option

slack-to-teams

microsoft/skills microsoft/skills

Migrez les bots Slack vers Microsoft Teams, créez des bots sur les deux plateformes et convertissez entre Block Kit et Adaptive Cards à l’aide d’un système expert routé avec plus de 100 fichiers de micro-experts.

...Développer tout
35
Heure mise à jour 19 septembre 2026

Système expert Slack vers Teams

Un système expert routé avec plus de 100 fichiers d'experts micro pour migrer les bots Slack vers Teams et créer des bots multiplateformes.

Compétence parente : Pour la configuration et le routage d'ATK CLI, consultez ../SKILL.md. Pour les tests locaux, consultez ../test-playground/test-playground.md ou ../test-teams/test-teams.md. Pour le déploiement cloud, consultez ../provision-deploy/provision-deploy.md. Pour le dépannage, consultez ../troubleshoot/troubleshoot.md.

Quand utiliser

  • Création d'un nouveau bot Slack, d'un bot Teams ou d'un bot double plateforme
  • Ajout du support Teams à un bot Slack existant (ou inversement)
  • Migration d'un bot entre les plateformes
  • Déploiement d'un bot sur Azure ou AWS
  • Configuration des fournisseurs de modèles d'IA pour un bot
  • Conversion de l'interface utilisateur entre Block Kit et Adaptive Cards
  • Pontage de l'identité, des événements, des fichiers ou du transport entre les plateformes
  • Rendre un projet de bot Teams compatible avec Microsoft Agents Toolkit (m365agents.yml, env/, espaces réservés appPackage)

Procédure

Étape 1 : Déterminer le type de projet

Évaluez si le développeur dispose d'une base de code existante ou s'il démarre de zéro.

  • Nouveau projet → passer au Flux Nouveau Projet
  • Projet existant → passer au Flux Projet Existant

Flux Nouveau Projet

1a : Sélection de la plateforme

Demander au développeur quelles plateforme(s) supporter :

  • Slack + Teams (double plateforme)
  • Slack uniquement
  • Teams uniquement

1b : Charger le système expert

  1. Lire experts/index.md — le routeur racine.
  2. Exécuter l'entretien pré-tâche défini dans ce fichier.
  3. Acheminer en fonction du choix de la plateforme :
    • Slack + Teams → Lire experts/bridge/index.md. Charger le conseiller multiplateforme.
    • Slack uniquement → Lire experts/slack/index.md.
    • Teams uniquement → Lire experts/teams/index.md.

1c : Configuration de l'architecture

  1. Lire cross-platform-architecture (même pour une seule plateforme — établit des modèles pour ajouter une deuxième plateforme plus tard).
  2. Laisser le routeur de domaine et le conseiller prendre le relais.
  3. Écrire un PLAN.md à la racine du projet cible avec la plateforme, les fonctionnalités, les experts chargés.

1d : Implémentation

Suivre la sortie du conseiller ou du routeur de domaine. Implémenter fonctionnalité par fonctionnalité :

  1. Choisir la prochaine fonctionnalité de la liste priorisée.
  2. Charger l'expert(s) spécifié pour cette fonctionnalité.
  3. Implémenter en utilisant les modèles et règles de l'expert.
  4. Vérifier par rapport à la section pièges de l'expert.

Flux Projet Existant

2a : Analyser le projet

Exécuter ces quatre sous-analyses en parallèle :

Détecter le langage — Scanner 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).

Détecter la plateforme actuelle — Scanner les dépendances pour les indicateurs SDK :

  • Slack : @slack/bolt, @slack/web-api, slack_bolt, app.message, app.command, ack()
  • Teams : @microsoft/teams-ai, botbuilder, TeamsActivityHandler, app.turn, Adaptive Cards

Détecter les fonctionnalités — Scanner les commandes slash, Block Kit/Adaptive Cards, gestionnaires d'actions, OAuth, téléchargement/téléversement de fichiers, planification, threads, appels IA/LLM, messages proactifs.

Détecter l'architecture — Scanner le framework web (Express, Fastify, etc.), la cible d'hébergement (Azure, AWS, Docker), le fournisseur cloud, le modèle d'architecture (bot unique, double bot, monolithe).

2b : Porte de langage

Classifier le langage détecté en niveaux de SDK :

NiveauLangagesConseils
**1 : SDK complet**TypeScript / JavaScriptSystème expert complet disponible
**2 : Adapter**PythonLes deux SDK existent — adapter les modèles TS. Charger bolt-python, teams-python, python-cross-platform
**3 : SDK divisé**Java, C#Une plateforme a un SDK, l'autre nécessite REST. Charger bolt-java ou teams-dotnet + rest-only
**4 : Pas de SDK**Go, Ruby, RustREST uniquement pour les deux. Charger rest-only

2c : Analyse des lacunes de couverture des experts

  1. Lire experts/analyzer.md.
  2. Exécuter le flux de travail de l'analyseur : scanner les manifestes, les dépendances, les fichiers source.
  3. Recouper la technologie détectée avec les experts existants.
  4. Présenter l'analyse des lacunes — technologies couvertes vs non couvertes.

2d : Créer les experts manquants (si nécessaire)

  1. Lire experts/builder.md.
  2. Pour chaque lacune : analyser l'utilisation du projet → lire la source du package → rédiger l'expert → valider → intégrer dans le routage.
  3. Utiliser experts/_expert-ts.md comme modèle.

2e : Charger le système expert

  1. Lire experts/index.md — le routeur racine.
  2. Exécuter l'entretien pré-tâche, en pré-remplissant avec les résultats d'analyse de 2a.
  3. Acheminer en fonction de la plateforme détectée et de l'intention de tâche :
    • A Slack, veut Teams → domaine Bridge
    • A Teams, veut Slack → domaine Bridge
    • A les deux → Acheminer par tâche (affinement du pont, déploiement, modèles, etc.)
    • N'a rien → Demander quelle(s) plateforme(s) cibler
  4. Charger cross-platform-advisor si pontage. Alimentez les résultats d'analyse dans la Phase 1.

2f : Architecture et implémentation

  1. Lire cross-platform-architecture.
  2. Écrire un PLAN.md avec les résultats d'analyse, les décisions de routage et l'ordre de migration des fonctionnalités.
  3. Implémenter fonctionnalité par fonctionnalité en utilisant la liste priorisée du conseiller.

Compatibilité Agents Toolkit

Pour la structure de projet compatible ATK (m365agents.yml, fichiers env/, appPackage), consultez la compétence parente :

  • SKILL.md parente — Configuration d'ATK CLI, routage des sous-compétences, chaînes de flux de travail
  • manifest-and-yaml.md — Fichiers de projet, configuration YAML, variables d'environnement, flux .localConfigs
  • commands.md — Package, valider, partager, collaborer, gestion de l'environnement
  • templates.md — Tous les modèles avec support de langage

Pour le schéma de manifeste Teams et l'emballage, consultez runtime.manifest-ts.

Récupération d'erreurs

Si le système expert ne couvre pas un sujet :

  1. Lire experts/fallback.md.
  2. Phase 1 : Rescanner tous les routeurs de domaine pour les experts manquants.
  3. Phase 2 : Recherche web pour les lacunes de connaissances restantes.
  4. Envisager de créer un nouvel expert en utilisant experts/builder.md.

Domaines d'experts

DomaineIndexDescription
Slackexperts/slack/index.mdCadre Bolt, événements, OAuth, commandes, UI, CLI
Teamsexperts/teams/index.mdSDK IA Teams, Adaptive Cards, Graph, MCP, A2A, déploiement
Bridgeexperts/bridge/index.md27 experts de conversion multiplateforme (le différenciateur principal)
Déploiementexperts/deploy/index.mdGuides de déploiement Azure & AWS
Modèlesexperts/models/index.mdFournisseurs de modèles d'IA (OpenAI, Anthropic, Bedrock, etc.)
Convertirexperts/convert/index.mdConversion de langage vers TypeScript
Sécuritéexperts/security/index.mdValidation des entrées, gestion des secrets

Documents de comparaison de plateforme

Guides de référence pour la comparaison côte à côte des plateformes :

  • Composants UI — Block Kit vs Adaptive Cards
  • Messagerie & Commandes
  • Identité & Auth
  • Réponses interactives
  • Fichiers & Liens
  • Middleware & Gestionnaires
  • Infrastructure
  • Fonctionnalités avancées
  • Lacunes fonctionnelles
  • Scénarios de flux de travail — Modèles de flux de travail natifs aux messages (déclencheurs, état, logique, IA, visibilité) pour les bots Teams
Voir sur GitHub
---
name: slack-to-teams
description: Migrate Slack bots to Microsoft Teams, build dual-platform bots, and convert between Block Kit and Adaptive Cards using a routed expert system with 100+ micro-expert files.
---

# Slack to Teams Expert System

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](../SKILL.md). For local testing, see [../test-playground/test-playground.md](../test-playground/test-playground.md) or [../test-teams/test-teams.md](../test-teams/test-teams.md). For cloud deploy, see [../provision-deploy/provision-deploy.md](../provision-deploy/provision-deploy.md). For troubleshooting, see [../troubleshoot/troubleshoot.md](../troubleshoot/troubleshoot.md).

## When to Use

- Building a new Slack bot, Teams bot, or dual-platform bot
- Adding Teams support to an existing Slack bot (or vice versa)
- Migrating a bot between platforms
- Deploying a bot to Azure or AWS
- Configuring AI model providers for a bot
- Converting UI between Block Kit and Adaptive Cards
- Bridging identity, events, files, or transport between platforms
- Making a Teams bot project compatible with Microsoft Agents Toolkit (m365agents.yml, env/, appPackage placeholders)

## Procedure

### Step 1: Determine project type

Assess whether the developer has an existing codebase or is starting fresh.

- **New project** → go to [New Project Flow](#new-project-flow)
- **Existing project** → go to [Existing Project Flow](#existing-project-flow)

---

### New Project Flow

#### 1a: Platform selection

Ask the developer which platform(s) to support:
- Slack + Teams (dual-platform)
- Slack only
- Teams only

#### 1b: Load the expert system

1. Read [experts/index.md](../experts/index.md) — the root router.
2. Execute the **pre-task interview** defined in that file.
3. Route based on platform choice:
   - **Slack + Teams** → Read [experts/bridge/index.md](../experts/bridge/index.md). Load [cross-platform-advisor](../experts/bridge/cross-platform-advisor-ts.md).
   - **Slack only** → Read [experts/slack/index.md](../experts/slack/index.md).
   - **Teams only** → Read [experts/teams/index.md](../experts/teams/index.md).

#### 1c: Architecture setup

1. Read [cross-platform-architecture](../experts/bridge/cross-platform-architecture-ts.md) (even for single-platform — establishes patterns for adding a second platform later).
2. Let the domain router and advisor take over.
3. Write a `PLAN.md` in the target project root with platform, features, experts loaded.

#### 1d: Implementation

Follow the advisor's or domain router's output. Implement feature by feature:
1. Pick the next feature from the prioritized list.
2. Load the expert(s) specified for that feature.
3. Implement using the expert's patterns and rules.
4. Verify against the expert's pitfalls section.

---

### Existing Project Flow

#### 2a: Analyze the project

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: `@slack/bolt`, `@slack/web-api`, `slack_bolt`, `app.message`, `app.command`, `ack()`
- Teams: `@microsoft/teams-ai`, `botbuilder`, `TeamsActivityHandler`, `app.turn`, Adaptive Cards

**Detect 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).

#### 2b: Language gate

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](../experts/slack/bolt-python.md), [teams-python](../experts/teams/teams-python.md), [python-cross-platform](../experts/bridge/python-cross-platform.md) |
| **3: Split SDK** | Java, C# | One platform has SDK, other needs REST. Load [bolt-java](../experts/slack/bolt-java.md) or [teams-dotnet](../experts/teams/teams-dotnet.md) + [rest-only](../experts/bridge/rest-only-integration-ts.md) |
| **4: No SDK** | Go, Ruby, Rust | REST-only for both. Load [rest-only](../experts/bridge/rest-only-integration-ts.md) |

#### 2c: Expert coverage gap analysis

1. Read [experts/analyzer.md](../experts/analyzer.md).
2. Execute the analyzer workflow: scan manifests, dependencies, source files.
3. Cross-reference detected tech against existing experts.
4. Present gap analysis — covered vs uncovered technologies.

#### 2d: Build missing experts (if needed)

1. Read [experts/builder.md](../experts/builder.md).
2. For each gap: analyze project usage → read package source → draft expert → validate → wire into routing.
3. Use [experts/_expert-ts.md](../experts/_expert-ts.md) as the template.

#### 2e: Load the expert system

1. Read [experts/index.md](../experts/index.md) — the root router.
2. Execute the pre-task interview, pre-filling with analysis results from 2a.
3. Route based on detected platform and task intent:
   - Has Slack, wants Teams → **Bridge** domain
   - Has Teams, wants Slack → **Bridge** domain
   - Has both → Route by task (bridge refinement, deploy, models, etc.)
   - Has neither → Ask which platform(s) to target
4. Load [cross-platform-advisor](../experts/bridge/cross-platform-advisor-ts.md) if bridging. Feed analysis results into Phase 1.

#### 2f: Architecture and implementation

1. Read [cross-platform-architecture](../experts/bridge/cross-platform-architecture-ts.md).
2. Write a `PLAN.md` with analysis results, routing decisions, and feature migration order.
3. Implement feature by feature using the advisor's prioritized list.

## Agents Toolkit Compatibility

For ATK-compatible project structure (m365agents.yml, env/ files, appPackage), see the parent skill:
- **[Parent SKILL.md](../SKILL.md)** — ATK CLI setup, sub-skill routing, workflow chains
- **[manifest-and-yaml.md](../toolkit/manifest-and-yaml.md)** — Project files, YAML config, env vars, .localConfigs flow
- **[commands.md](../toolkit/commands.md)** — Package, validate, share, collaborate, environment management
- **[templates.md](../toolkit/templates.md)** — All templates with language support

For Teams manifest schema and packaging, see [runtime.manifest-ts](../experts/teams/runtime.manifest-ts.md).

## Error Recovery

If the expert system fails to cover a topic:
1. Read [experts/fallback.md](../experts/fallback.md).
2. Phase 1: Re-scan all domain routers for missed experts.
3. Phase 2: Web-search for remaining knowledge gaps.
4. Consider creating a new expert using [experts/builder.md](../experts/builder.md).

## Expert Domains

| Domain | Index | Description |
|---|---|---|
| Slack | [experts/slack/index.md](../experts/slack/index.md) | Bolt framework, events, OAuth, commands, UI, CLI |
| Teams | [experts/teams/index.md](../experts/teams/index.md) | Teams AI SDK, Adaptive Cards, Graph, MCP, A2A, deploy |
| Bridge | [experts/bridge/index.md](../experts/bridge/index.md) | 27 cross-platform conversion experts (the core differentiator) |
| Deploy | [experts/deploy/index.md](../experts/deploy/index.md) | Azure & AWS deployment walkthroughs |
| Models | [experts/models/index.md](../experts/models/index.md) | AI model providers (OpenAI, Anthropic, Bedrock, etc.) |
| Convert | [experts/convert/index.md](../experts/convert/index.md) | Language conversion to TypeScript |
| Security | [experts/security/index.md](../experts/security/index.md) | Input validation, secrets management |

## Platform Comparison Docs

Reference guides for side-by-side platform comparison:

- [UI Components](../docs/ui-components.md) — Block Kit vs Adaptive Cards
- [Messaging & Commands](../docs/messaging-and-commands.md)
- [Identity & Auth](../docs/identity-and-auth.md)
- [Interactive Responses](../docs/interactive-responses.md)
- [Files & Links](../docs/files-and-links.md)
- [Middleware & Handlers](../docs/middleware-and-handlers.md)
- [Infrastructure](../docs/infrastructure.md)
- [Advanced Features](../docs/advanced-features.md)
- [Feature Gaps](../docs/feature-gaps.md)
- [Workflow Scenarios](../docs/workflows.md) — Message-native workflow patterns (triggers, state, logic, AI, visibility) for Teams bots

Tous les fichiers

1 fichiers

Installer slack-to-teams

Téléchargez et extrayez les fichiers de compétences dans votre répertoire .claude/skills/.

Télécharger le ZIP

Clonez le dépôt et copiez les fichiers de compétence dans votre projet.

git clone https://github.com/microsoft/skills/tree/main/.github/plugins/microsoft-365-agents-toolkit/skills/teams-app-developer/slack-to-teams # Copy SKILL.md to your .claude/skills/ directory

Copier Copier
Configuration rapide: Copiez le dossier de l’extension dans .claude/skills/ Claude détectera et utilisera automatiquement l’extension

Compétences similaires

agentwallet
Heure mise à jour 7 juillet 2026
brightdata-cli
Heure mise à jour 29 juin 2026
humanize
Heure mise à jour 7 juillet 2026
korean-stock-search
Heure mise à jour 8 juillet 2026
OR