opción
HogarHogar Skill Desarrollo de API slack-to-teams

slack-to-teams

microsoft/skills microsoft/skills

Migrar bots de Slack a Microsoft Teams, crear bots de plataforma dual y convertir entre Block Kit y Adaptive Cards utilizando un sistema experto enrutado con más de 100 archivos de micro-expertos.

...Expandir todo
35
Tiempo actualizado 19 de septiembre de 2026

Sistema Experto de Slack a Teams

Un sistema experto enrutado con más de 100 archivos de micro-expertos para migrar bots de Slack a Teams y construir bots multiplataforma.

Habilidad principal: Para la configuración y el enrutamiento de ATK CLI, consulte ../SKILL.md. Para las pruebas locales, consulte ../test-playground/test-playground.md o ../test-teams/test-teams.md. Para el despliegue en la nube, consulte ../provision-deploy/provision-deploy.md. Para la resolución de problemas, consulte ../troubleshoot/troubleshoot.md.

Cuándo Utilizarlo

  • Construir un nuevo bot de Slack, un bot de Teams o un bot multiplataforma
  • Agregar soporte para Teams a un bot de Slack existente (o viceversa)
  • Migrar un bot entre plataformas
  • Desplegar un bot en Azure o AWS
  • Configurar proveedores de modelos de IA para un bot
  • Convertir la interfaz de usuario entre Block Kit y Tarjetas Adaptativas
  • Puente entre identidad, eventos, archivos o transporte entre plataformas
  • Hacer que un proyecto de bot de Teams sea compatible con Microsoft Agents Toolkit (m365agents.yml, env/, marcadores de posición de appPackage)

Procedimiento

Paso 1: Determinar el tipo de proyecto

Evalúe si el desarrollador tiene una base de código existente o si comienza desde cero.

  • Proyecto nuevo → ir al Flujo de Proyecto Nuevo
  • Proyecto existente → ir al Flujo de Proyecto Existente

Flujo de Proyecto Nuevo

1a: Selección de plataforma

Pregunte al desarrollador qué plataforma(s) desea soportar:

  • Slack + Teams (multiplataforma)
  • Solo Slack
  • Solo Teams

1b: Cargar el sistema experto

  1. Lea experts/index.md — el enrutador raíz.
  2. Ejecute la entrevista preliminar definida en ese archivo.
  3. Enrute según la elección de plataforma:
    • Slack + Teams → Lea experts/bridge/index.md. Cargue el asesor multiplataforma.
    • Solo Slack → Lea experts/slack/index.md.
    • Solo Teams → Lea experts/teams/index.md.

1c: Configuración de la arquitectura

  1. Lea cross-platform-architecture (incluso para una sola plataforma, establece patrones para agregar una segunda plataforma más adelante).
  2. Permita que el enrutador de dominio y el asesor tomen el control.
  3. Escriba un PLAN.md en la raíz del proyecto objetivo con la plataforma, las características y los expertos cargados.

1d: Implementación

Siga la salida del asesor o del enrutador de dominio. Implemente característica por característica:

  1. Seleccione la siguiente característica de la lista priorizada.
  2. Cargue el(los) experto(s) especificado(s) para esa característica.
  3. Implemente utilizando los patrones y reglas del experto.
  4. Verifique contra la sección de trampas del experto.

Flujo de Proyecto Existente

2a: Analizar el proyecto

Ejecute estos cuatro subanálisis en paralelo:

Detectar lenguaje — Escanee en busca de 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).

Detectar plataforma actual — Escanee las dependencias en busca de indicadores del SDK:

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

Detectar características — Escanee en busca de comandos slash, Block Kit/Tarjetas Adaptativas, manejadores de acciones, OAuth, carga/descarga de archivos, programación, subprocesamiento, llamadas de IA/LLM, mensajes proactivos.

Detectar arquitectura — Escanee en busca de marco web (Express, Fastify, etc.), objetivo de alojamiento (Azure, AWS, Docker), proveedor de nube, patrón de arquitectura (bot único, bot dual, monolito).

2b: Puerta de lenguaje

Clasifique el lenguaje detectado en niveles de SDK:

NivelLenguajesOrientación
**1: SDK completo**TypeScript / JavaScriptSistema experto completo disponible
**2: Adaptar**PythonExisten ambos SDKs: adapte los patrones de TS. Cargue bolt-python, teams-python, python-cross-platform
**3: SDK dividido**Java, C#Una plataforma tiene SDK, la otra necesita REST. Cargue bolt-java o teams-dotnet + rest-only
**4: Sin SDK**Go, Ruby, RustSolo REST para ambos. Cargue rest-only

2c: Análisis de brecha de cobertura de expertos

  1. Lea experts/analyzer.md.
  2. Ejecute el flujo de trabajo del analizador: escanee manifiestos, dependencias, archivos fuente.
  3. Cruce la tecnología detectada con los expertos existentes.
  4. Presente el análisis de brechas: tecnologías cubiertas frente a no cubiertas.

2d: Construir expertos faltantes (si es necesario)

  1. Lea experts/builder.md.
  2. Para cada brecha: analice el uso del proyecto → lea la fuente del paquete → redacte un experto → valide → conecte al enrutamiento.
  3. Utilice experts/_expert-ts.md como plantilla.

2e: Cargar el sistema experto

  1. Lea experts/index.md — el enrutador raíz.
  2. Ejecute la entrevista preliminar, prellenando con los resultados del análisis de 2a.
  3. Enrute según la plataforma detectada y la intención de la tarea:
    • Tiene Slack, quiere Teams → dominio Puente
    • Tiene Teams, quiere Slack → dominio Puente
    • Tiene ambos → Enrute por tarea (refinamiento del puente, despliegue, modelos, etc.)
    • No tiene ninguno → Pregunte qué plataforma(s) desea abordar
  4. Cargue cross-platform-advisor si está haciendo un puente. Alimente los resultados del análisis en la Fase 1.

2f: Arquitectura e implementación

  1. Lea cross-platform-architecture.
  2. Escriba un PLAN.md con los resultados del análisis, las decisiones de enrutamiento y el orden de migración de características.
  3. Implemente característica por característica utilizando la lista priorizada del asesor.

Compatibilidad con el Kit de Herramientas de Agentes

Para la estructura del proyecto compatible con ATK (m365agents.yml, archivos env/, appPackage), consulte la habilidad principal:

  • Habilidad principal SKILL.md — Configuración de ATK CLI, enrutamiento de subhabilidades, cadenas de flujo de trabajo
  • manifest-and-yaml.md — Archivos del proyecto, configuración YAML, variables de entorno, flujo .localConfigs
  • commands.md — Empaquetar, validar, compartir, colaborar, gestión del entorno
  • templates.md — Todas las plantillas con soporte de lenguaje

Para el esquema del manifiesto de Teams y el empaquetado, consulte runtime.manifest-ts.

Recuperación de Errores

Si el sistema experto no logra cubrir un tema:

  1. Lea experts/fallback.md.
  2. Fase 1: Vuelva a escanear todos los enrutadores de dominio en busca de expertos omitidos.
  3. Fase 2: Búsqueda web para brechas de conocimiento restantes.
  4. Considere crear un nuevo experto utilizando experts/builder.md.

Dominios de Expertos

DominioÍndiceDescripción
Slackexperts/slack/index.mdMarcado Bolt, eventos, OAuth, comandos, interfaz de usuario, CLI
Teamsexperts/teams/index.mdSDK de IA de Teams, Tarjetas Adaptativas, Graph, MCP, A2A, despliegue
Puenteexperts/bridge/index.md27 expertos de conversión multiplataforma (el diferenciador principal)
Despliegueexperts/deploy/index.mdTutoriales de despliegue en Azure y AWS
Modelosexperts/models/index.mdProveedores de modelos de IA (OpenAI, Anthropic, Bedrock, etc.)
Convertirexperts/convert/index.mdConversión de lenguaje a TypeScript
Seguridadexperts/security/index.mdValidación de entrada, gestión de secretos

Documentos de Comparación de Plataformas

Guías de referencia para la comparación lado a lado de plataformas:

  • Componentes de interfaz de usuario — Block Kit frente a Tarjetas Adaptativas
  • Mensajería y comandos
  • Identidad y autenticación
  • Respuestas interactivas
  • Archivos y enlaces
  • Middleware y manejadores
  • Infraestructura
  • Funciones avanzadas
  • Brechas de características
  • Escenarios de flujo de trabajo: patrones de flujo de trabajo nativos de mensajes (activadores, estado, lógica, IA, visibilidad) para bots de Teams
Ver en 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

Todos los archivos

1 archivos

Instalar slack-to-teams

Descarga y extrae los archivos de habilidades en tu directorio .claude/skills/.

Descargar ZIP

Clona el repositorio y copia los archivos de la habilidad a tu proyecto.

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

Copiar Copiar
Configuración rápida: Copie la carpeta de habilidades a .claude/skills/ Claude detectará y utilizará automáticamente la habilidad
Repositorio microsoft/skills

Habilidades relacionadas

agentwallet
Tiempo actualizado 7 de julio de 2026
brightdata-cli
Tiempo actualizado 29 de junio de 2026
humanize
Tiempo actualizado 7 de julio de 2026
korean-stock-search
Tiempo actualizado 8 de julio de 2026
OR