本文へ移動
cccskills
無料GitHub で公開

slack-to-teams

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

インストール方法を見る

含まれるファイル(1)

  • SKILL.md8.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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. 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.

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 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 — the root router.
  2. Execute the pre-task interview defined in that file.
  3. Route based on platform choice:

1c: Architecture setup

  1. Read cross-platform-architecture (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:

TierLanguagesGuidance
1: Full SDKTypeScript / JavaScriptFull expert system available
2: AdaptPythonBoth SDKs exist — adapt TS patterns. Load bolt-python, teams-python, python-cross-platform
3: Split SDKJava, C#One platform has SDK, other needs REST. Load bolt-java or teams-dotnet + rest-only
4: No SDKGo, Ruby, RustREST-only for both. Load rest-only

2c: Expert coverage gap analysis

  1. Read 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.
  2. For each gap: analyze project usage → read package source → draft expert → validate → wire into routing.
  3. Use experts/_expert-ts.md as the template.

2e: Load the expert system

  1. Read 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 if bridging. Feed analysis results into Phase 1.

2f: Architecture and implementation

  1. Read cross-platform-architecture.
  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:

For Teams manifest schema and packaging, see runtime.manifest-ts.

Error Recovery

If the expert system fails to cover a topic:

  1. Read 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.

Expert Domains

DomainIndexDescription
Slackexperts/slack/index.mdBolt framework, events, OAuth, commands, UI, CLI
Teamsexperts/teams/index.mdTeams AI SDK, Adaptive Cards, Graph, MCP, A2A, deploy
Bridgeexperts/bridge/index.md27 cross-platform conversion experts (the core differentiator)
Deployexperts/deploy/index.mdAzure & AWS deployment walkthroughs
Modelsexperts/models/index.mdAI model providers (OpenAI, Anthropic, Bedrock, etc.)
Convertexperts/convert/index.mdLanguage conversion to TypeScript
Securityexperts/security/index.mdInput validation, secrets management

Platform Comparison Docs

Reference guides for side-by-side platform comparison:

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Build Azure AI Foundry agents using the Microsoft Agent Framework Python SDK (agent-framework-azure-ai). Use when creating persistent agents with AzureAIAgentsProvider, using hosted tools (code interpreter, file search, web search), integrating MCP servers, managing conversation threads, or implementing streaming responses. Covers function tools, structured outputs, and multi-tool agents.

日本語の概要は準備中です。原文の説明を表示しています。

microsoft/skills3,1052026年10月13日 更新

Set up AI Runway on AKS — from bare cluster to running model. Covers cluster verification, controller install, GPU assessment, provider setup, and first deployment. WHEN: "setup AI Runway", "onboard AKS cluster", "install AI Runway", "airunway setup", "deploy model to AKS", "GPU inference on AKS", "KAITO setup on AKS", "run LLM on AKS", "vLLM on AKS", "set up model serving on AKS", "AI Runway controller".

日本語の概要は準備中です。原文の説明を表示しています。

microsoft/skills3,1052026年10月13日 更新

Diagnose Day-2 AKS GPU and KAITO incidents using profile-aware, read-only evidence. WHEN: 'Insufficient nvidia.com/gpu', GPU pod Pending, model-load OOM, DCGM/VRAM, KAITO Workspace not ready, or GPU autoscaling. DO NOT USE FOR: setup (airunway-aks-setup), non-GPU incidents (aks-troubleshooting), standalone VM quota (azure-quotas), or generic cost (cost-analysis or cost-optimization from the optional azure-cost plugin).

日本語の概要は準備中です。原文の説明を表示しています。

microsoft/skills3,1052026年10月13日 更新

Lookup documented AKS fixes only when the prompt includes an exact catalog signature and all of its qualifiers: VMCannotFitEphemeralOSDisk; NodePoolMcVersionIncompatible; 'NodeImageVersion is not accepted'; AKS SkuNotAvailable with size, location, and zone; ZonalAllocationFailed with insufficient zone capacity; OverconstrainedAllocationRequest with listed constraints; nested AKS vmssCSE/CSE VMExtensionError_OutboundConnFail, VMExtensionError_K8SAPIServerConnFail, or VMExtensionError_K8SAPIServerDNSLookupFail; or AllocationFailed with the full cataloged internal-error or insufficient-regional-capacity message. Never use for quota errors, code-only or bare wrappers, generic symptoms, incomplete signatures, or failures outside AKS; use aks-troubleshooting or azure-diagnostics.

日本語の概要は準備中です。原文の説明を表示しています。

microsoft/skills3,1052026年10月13日 更新

Collects bounded packet captures from AKS nodes and Azure network configuration for wire-level evidence. WHEN: "capture packets on an AKS node", "take a pcap", "run tcpdump on AKS", "prove where packets drop". Use for explicit packet-capture intent after read-only diagnostics, not general AKS connectivity or ingress troubleshooting.

日本語の概要は準備中です。原文の説明を表示しています。

microsoft/skills3,1052026年10月13日 更新

Debug live Azure Kubernetes Service (AKS) incidents with a read-only, evidence-first investigation. WHEN: pod crashes or Pending, CrashLoopBackOff, OOMKilled, ImagePullBackOff, node NotReady, DNS or ingress failure, connectivity timeout, network policy, SNAT exhaustion, node-pool scaling blocked by QuotaExceeded or InsufficientVCPUQuota, upgrade stuck, spot or zone disruption, a bare VMExtensionProvisioningError or AllocationFailed wrapper, an uncataloged capacity symptom, or 'investigate my AKS cluster'. DO NOT USE FOR: packet capture (use aks-network-capture); GPU or model-serving issues (use aks-gpu-inference); cluster creation or provisioning (use azure-kubernetes); cost (use cost-analysis from the optional azure-cost plugin); pod rightsizing (use azure-kubernetes); a fully qualified documented AKS signature with every required nested qualifier (use aks-known-issues); standalone failures on non-AKS Azure resources (use azure-diagnostics). Unqualified errors and open-ended incidents stay here only for AKS.

日本語の概要は準備中です。原文の説明を表示しています。

microsoft/skills3,1052026年10月13日 更新

microsoft のスキルをすべて見る

このスキルの問題を報告する