opção

slack-to-teams

microsoft/skills microsoft/skills

Migre bots do Slack para o Microsoft Teams, construa bots de plataforma dupla e converta entre Block Kit e Adaptive Cards usando um sistema especialista roteado com mais de 100 arquivos de microespecialistas.

...Expandir tudo
35
Tempo atualizado 19 de Setembro de 2026

Sistema Especialista de Slack para Teams

Um sistema especialista roteado com mais de 100 arquivos de microespecialistas para migrar bots do Slack para o Teams e construir bots multiplataforma.

Habilidade pai: Para configuração do ATK CLI e roteamento, consulte ../SKILL.md. Para testes locais, consulte ../test-playground/test-playground.md ou ../test-teams/test-teams.md. Para implantação em nuvem, consulte ../provision-deploy/provision-deploy.md. Para solução de problemas, consulte ../troubleshoot/troubleshoot.md.

Quando Usar

  • Criando um novo bot do Slack, bot do Teams ou bot multiplataforma
  • Adicionando suporte ao Teams a um bot do Slack existente (ou vice-versa)
  • Migrando um bot entre plataformas
  • Implantando um bot no Azure ou AWS
  • Configurando provedores de modelos de IA para um bot
  • Convertendo a interface do usuário entre Block Kit e Adaptive Cards
  • Conectando identidade, eventos, arquivos ou transporte entre plataformas
  • Tornando um projeto de bot do Teams compatível com o Microsoft Agents Toolkit (m365agents.yml, env/, placeholders do appPackage)

Procedimento

Etapa 1: Determinar o tipo de projeto

Avalie se o desenvolvedor possui uma base de código existente ou está começando do zero.

  • Novo projeto → vá para o Fluxo de Novo Projeto
  • Projeto existente → vá para o Fluxo de Projeto Existente

Fluxo de Novo Projeto

1a: Seleção de plataforma

Pergunte ao desenvolvedor qual(is) plataforma(s) deve(m) ser suportada(s):

  • Slack + Teams (multiplataforma)
  • Apenas Slack
  • Apenas Teams

1b: Carregar o sistema especialista

  1. Leia experts/index.md — o roteador raiz.
  2. Execute a entrevista pré-tarefa definida nesse arquivo.
  3. Roteie com base na escolha da plataforma:
    • Slack + Teams → Leia experts/bridge/index.md. Carregue o consultor multiplataforma.
    • Apenas Slack → Leia experts/slack/index.md.
    • Apenas Teams → Leia experts/teams/index.md.

1c: Configuração da arquitetura

  1. Leia cross-platform-architecture (mesmo para plataformas únicas — estabelece padrões para adicionar uma segunda plataforma posteriormente).
  2. Deixe o roteador de domínio e o consultor assumirem o controle.
  3. Escreva um PLAN.md na raiz do projeto de destino com a plataforma, recursos e especialistas carregados.

1d: Implementação

Siga a saída do consultor ou do roteador de domínio. Implemente recurso por recurso:

  1. Escolha o próximo recurso da lista priorizada.
  2. Carregue o(s) especialista(s) especificado(s) para esse recurso.
  3. Implemente usando os padrões e regras do especialista.
  4. Verifique contra a seção de armadilhas do especialista.

Fluxo de Projeto Existente

2a: Analisar o projeto

Execute essas quatro subanálises em paralelo:

Detectar linguagem — Procure por 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 atual — Analise as dependências em busca de indicadores de SDK:

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

Detectar recursos — Procure por comandos slash, Block Kit/Adaptive Cards, manipuladores de ação, OAuth, upload/download de arquivos, agendamento, encadeamento, chamadas de IA/LLM, mensagens proativas.

Detectar arquitetura — Procure por framework web (Express, Fastify, etc.), destino de hospedagem (Azure, AWS, Docker), provedor de nuvem, padrão de arquitetura (bot único, bot duplo, monolito).

2b: Porta de linguagem

Classifique a linguagem detectada em níveis de SDK:

NívelLinguagensOrientação
**1: SDK Completo**TypeScript / JavaScriptSistema especialista completo disponível
**2: Adaptar**PythonAmbos os SDKs existem — adapte os padrões TS. Carregue bolt-python, teams-python, python-cross-platform
**3: SDK Dividido**Java, C#Uma plataforma tem SDK, a outra precisa de REST. Carregue bolt-java ou teams-dotnet + rest-only
**4: Sem SDK**Go, Ruby, RustApenas REST para ambos. Carregue rest-only

2c: Análise de lacuna de cobertura de especialistas

  1. Leia experts/analyzer.md.
  2. Execute o fluxo de trabalho do analisador: analise manifestos, dependências, arquivos de origem.
  3. Compare a tecnologia detectada com os especialistas existentes.
  4. Apresente a análise de lacuna — tecnologias cobertas versus não cobertas.

2d: Criar especialistas ausentes (se necessário)

  1. Leia experts/builder.md.
  2. Para cada lacuna: analise o uso do projeto → leia a fonte do pacote → rascunhe o especialista → valide → conecte ao roteamento.
  3. Use experts/_expert-ts.md como modelo.

2e: Carregar o sistema especialista

  1. Leia experts/index.md — o roteador raiz.
  2. Execute a entrevista pré-tarefa, preenchendo com os resultados da análise de 2a.
  3. Roteie com base na plataforma detectada e na intenção da tarefa:
    • Tem Slack, quer Teams → domínio Bridge
    • Tem Teams, quer Slack → domínio Bridge
    • Tem ambos → Roteie por tarefa (refinamento de ponte, implantação, modelos, etc.)
    • Não tem nenhum → Pergunte qual(is) plataforma(s) direcionar
  4. Carregue o consultor multiplataforma se estiver fazendo ponte. Alimente os resultados da análise na Fase 1.

2f: Arquitetura e implementação

  1. Leia cross-platform-architecture.
  2. Escreva um PLAN.md com resultados da análise, decisões de roteamento e ordem de migração de recursos.
  3. Implemente recurso por recurso usando a lista priorizada do consultor.

Compatibilidade com o Toolkit de Agentes

Para estrutura de projeto compatível com ATK (m365agents.yml, arquivos env/, appPackage), consulte a habilidade pai:

  • Habilidade Pai SKILL.md — Configuração do ATK CLI, roteamento de sub-habilidades, cadeias de fluxo de trabalho
  • manifest-and-yaml.md — Arquivos do projeto, configuração YAML, variáveis de ambiente, fluxo .localConfigs
  • commands.md — Empacotar, validar, compartilhar, colaborar, gerenciamento de ambiente
  • templates.md — Todos os modelos com suporte de linguagem

Para o esquema e empacotamento do manifesto do Teams, consulte runtime.manifest-ts.

Recuperação de Erros

Se o sistema especialista não conseguir cobrir um tópico:

  1. Leia experts/fallback.md.
  2. Fase 1: Reanalise todos os roteadores de domínio em busca de especialistas perdidos.
  3. Fase 2: Pesquise na web para preencher lacunas de conhecimento restantes.
  4. Considere criar um novo especialista usando experts/builder.md.

Domínios de Especialistas

DomínioÍndiceDescrição
Slackexperts/slack/index.mdFramework Bolt, eventos, OAuth, comandos, UI, CLI
Teamsexperts/teams/index.mdTeams AI SDK, Adaptive Cards, Graph, MCP, A2A, implantação
Ponteexperts/bridge/index.md27 especialistas de conversão multiplataforma (o principal diferencial)
Implantaçãoexperts/deploy/index.mdTutoriais de implantação no Azure e AWS
Modelosexperts/models/index.mdProvedores de modelos de IA (OpenAI, Anthropic, Bedrock, etc.)
Conversãoexperts/convert/index.mdConversão de linguagem para TypeScript
Segurançaexperts/security/index.mdValidação de entrada, gerenciamento de segredos

Documentos de Comparação de Plataformas

Guias de referência para comparação lado a lado de plataformas:

  • Componentes de UI — Block Kit vs Adaptive Cards
  • Mensagens e Comandos
  • Identidade e Autenticação
  • Respostas Interativas
  • Arquivos e Links
  • Middleware e Manipuladores
  • Infraestrutura
  • Recursos Avançados
  • Lacunas de Recursos
  • Cenários de Fluxo de Trabalho — Padrões de fluxo de trabalho nativos de mensagens (gatilhos, estado, lógica, IA, visibilidade) para bots do Teams
Ver no 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 os arquivos

1 arquivos

Instalar slack-to-teams

Baixe e extraia os arquivos de habilidade para o seu diretório .claude/skills/.

Baixar ZIP

Clone o repositório e copie os arquivos da habilidade para o seu projeto.

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
Configuração rápida: Copie a pasta de habilidades para .claude/skills/ O Claude detectará e usará automaticamente a habilidade
Repositório microsoft/skills

Habilidades relacionadas

agentwallet
Tempo atualizado 7 de Julho de 2026
brightdata-cli
Tempo atualizado 29 de Junho de 2026
humanize
Tempo atualizado 7 de Julho de 2026
korean-stock-search
Tempo atualizado 8 de Julho de 2026
OR