К основному содержанию
скилл

slack-to-teams — скилл для Claude Code: перенос ботов из Slack в Teams

Разбирает существующий Slack-бот и помогает перевести его на Teams или сделать сразу под две платформы. Нужен, когда бот уже работает и его пора тянуть дальше.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add microsoft/skills --skill slack-to-teams -a claude-code
Открыть на GitHub

Что делает slack-to-teams

Скилл устроен как маршрутизатор: сначала он определяет тип проекта, потом ведёт по нужной ветке экспертов. Для нового бота спросит, какие платформы поддерживать — Slack и Teams вместе, только Slack или только Teams. Для существующего запускает четыре разбора параллельно: язык, текущая платформа, набор функций и архитектура. Дальше по результатам выбирает файлы экспертов.

Внутри больше сотни микро-экспертов: отдельные файлы под Slack, под Teams и под мост между ними. Есть разбор по языкам — TypeScript и JavaScript идут по полному набору, Python адаптирует те же шаблоны, для Java и C# одна платформа закрывается SDK, а вторая через REST, для Go, Ruby и Rust остаётся только REST. Если под технологию проекта эксперта нет, скилл собирает его из шаблона и подключает к маршрутизации. По ходу работы он пишет PLAN.md в корень проекта с платформой, функциями и списком загруженных экспертов.

Это под-скилл microsoft-365-agents-toolkit, и настройка ATK CLI, локальное тестирование, деплой в облако и разбор проблем живут в родительском скилле. Ставить его отдельно, чтобы просто делать бота под Teams без Slack, смысла нет — для этого есть родительский. Конвертация Block Kit в Adaptive Cards и мост по identity, событиям, файлам и транспорту тоже здесь.

Какие задачи решает

  • перенести готового Slack-бота на Teams без переписывания с нуля
  • добавить вторую платформу к боту, который уже работает на одной
  • перевести разметку из Block Kit в Adaptive Cards
  • связать identity и OAuth между Slack и Teams
  • подобрать подход для языка, у которого SDK есть только под одну платформу

Примеры запросов агенту

  • Разбери мой Slack-бот и распиши план переноса на Teams
  • Добавь поддержку Teams к боту на @slack/bolt, начни с анализа проекта
  • Сделай бота сразу под Slack и Teams, начни с интервью по проекту

Как установить slack-to-teams

1Через Skills CLI (Vercel)

npx skills add microsoft/skills --skill slack-to-teams -a claude-code

2Вручную: положить файлы

~/.claude/skills/slack-to-teams/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/slack-to-teams/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора64

Весь набор →
microsoft-azure-webjobs-extensions-authentication-events-dotnet Скилл для работы с кастомными событиями аутентификации Microsoft Entra ID в .NET: добавление claims в токены, сбор атрибутов, OTP. 1установок azure-security-keyvault-keys-dotnet Скилл для работы с ключами Azure Key Vault и Managed HSM из .NET: создание, ротация, шифрование, подпись. Пригодится, когда агент пишет код на C#. 1установок azure-resource-manager-mysql-dotnet Скилл учит агента управлять MySQL Flexible Server в Azure через .NET SDK: серверы, базы, правила файрвола, параметры и бэкапы. 1установок azure-ai-voicelive-dotnet Скилл по Azure AI Voice Live SDK для .NET: помогает собрать голосового ассистента с двусторонним обменом аудио по WebSocket. 1установок research Проводит многошаговое исследование темы по кодовой базе: читает реальные пути выполнения и требует источник для каждого утверждения. ★ 3 148звёзд репо azure-kubernetes-automatic-readiness Оценивает манифесты и конфигурацию кластера на совместимость с AKS Automatic, находит блокеры миграции и предлагает правки. ★ 3 148звёзд репо azure-enterprise-infra-planner Скилл планирует корпоративную инфраструктуру Azure по описанию нагрузки и генерирует Bicep или Terraform. Пригодится, когда нужно спроектировать landing zone, hub-spoke сеть или DR-топологию. ★ 3 148звёзд репо azure-app-onboard Ведёт от идеи или готового кода до работающего развёртывания в Azure: подбирает сервисы, считает стоимость, генерирует IaC. ★ 3 148звёзд репо

Похожие

slack-workflows claude-office-skills Шаблоны и сценарии автоматизации Slack: сбор дейли-стендапов, согласование расходов, онбординг и алерты об инцидентах через сервер slack-mcp. CX Codex +1 4 900установок channels-setup CopilotKit Скилл для создания первого CopilotKit Channels агента и подключения его к Slack или Microsoft Teams. Охватывает весь путь: от проверки проекта до запуска агента, который отвечает на упоминания в чате. CX Codex +1 1 400установок slack-api slackapi Помогает найти метод Slack Web API, проверить его контракт и подготовить вызов. Пригодится для OAuth-скоупов, пагинации, лимитов и разбора ошибок API. CX Codex +1 2 900установок setup-slack-channel CopilotKit Скилл для подключения локального CopilotKit Channels агента к Slack с нуля: создаёт Slack-приложение, генерирует токены и привязывает их к управляемому Intelligence Channel. Нужен, чтобы бот отвечал на упоминания в Slack. CX Codex +1 1 300установок create-slack-app slackapi Проведёт от проверки Slack CLI до запуска нового Bolt-приложения локально. Пригодится, когда нужно поднять бота или агента с нуля. CX Codex +1 446установок connector-slack caffeinelabs Скилл учит агента отправлять сообщения в канал Slack из Caffeine-канистры через пакет slack-client. Рецепт помечен как экспериментальный. CX Codex +1 14 300установок

Рядом в теме «Настройка агента: память, контекст, субагенты»

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →

Вопросы о slack-to-teams

Как установить slack-to-teams в Claude Code?

Выполните npx skills add microsoft/skills --skill slack-to-teams -a claude-code, после чего скилл окажется в ~/.claude/skills/slack-to-teams/SKILL.md.

Что делает slack-to-teams?

Проводит анализ проекта и ведёт перенос Slack-бота на Teams, добавление Teams к существующему боту или сборку бота под две платформы сразу. Внутри — маршрутизатор и микро-эксперты по платформам, языкам и мосту между ними.

Чем он отличается от родительского microsoft-365-agents-toolkit?

Настройка ATK CLI, локальное тестирование, деплой в облако и разбор проблем остались в родительском скилле. Здесь только работа с ботами Slack и Teams и мост между платформами.

Исходный текст

SKILL.md · MIT
---
name: slack-to-teams
description: "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)."
---

# 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

© microsoft · MIT · microsoft/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой