migrate-slack-agents

Migrates classic single-bot Slack installs to one provisioned Slack app per agent group.

30.7k|12.8k|Updated Jan 31, 2026
One-click install
npx skills add https://github.com/nanocoai/nanoclaw --skill migrate-slack-agents
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: migrate-slack-agents
Source: https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/migrate-slack-agents
Command: npx skills add https://github.com/nanocoai/nanoclaw --skill migrate-slack-agents

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

NanoClaw installs that use the classic shared Slack bot cannot take advantage of per-agent Slack apps, where each agent gets its own bot identity, avatar, and workspace presence. This Skill performs a guided, resumable migration from the classic single-bot setup to one provisioned Slack app per existing agent group, while preserving agent identities, workspaces, memory, and wiring behavior — or records the operator's decision to stay on classic, which remains fully supported.

Core Features & Use Cases

  • State detection and dry-run planning: Detects the classic Slack state via database queries and environment checks, inventories every wired surface (channels, DMs, MPIMs), and presents a full migration map for operator confirmation before any change.
  • Per-agent app provisioning: Provisions a named Slack app per agent group using a managed broker or direct Slack manifest API, reuses existing tokens idempotently, and recreates messaging groups and wirings with all recorded behavior fields.
  • Verification, cutover, and rollback: Verifies each new bot authenticates and responds without duplicate responders, requires explicit operator approval before cutover, and keeps classic rows and credentials intact as a rollback path.
  • Use Case: After running /update-nanoclaw surfaces a breaking Slack agents requirement, an operator runs this Skill to migrate three agent groups from the shared classic bot to individual Slack apps, verifies each bot in its channels, then approves cutover and acknowledges the update requirement.

Quick Start

Ask the assistant to run the migrate-slack-agents skill to move your classic shared Slack bot setup to one provisioned Slack app per agent group.

Frequently Asked Questions about migrate-slack-agents

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate from a classic shared Slack bot to per-agent Slack apps?

Run the migrate-slack-agents skill from the NanoClaw project root. It detects the classic state, inventories all wired surfaces, provisions a named Slack app per agent group, recreates messaging groups and wirings, and verifies everything before an explicit cutover gate.

Is the Slack agents migration required or optional?

The migration is optional. Classic single-bot Slack remains fully supported, and choosing to stay on classic is a valid outcome that also satisfies the /update-nanoclaw requirement. You can re-run the skill later to migrate at any time.

Does the Slack migration create new agent groups or change workspaces?

No. The migration never calls create_agent, never changes agent group ids, and never writes under group folders. It only provisions new Slack apps and sibling messaging-group rows wired to the existing agent groups, preserving all memory and workspace files.

Can I roll back after migrating Slack agents to named apps?

Yes. Until you explicitly approve cutover, all classic rows, credentials, and the shared Slack app remain intact. To roll back, restore the unsuffixed credentials or re-invite the classic bot, restart, and disable the named instances.

What happens to existing Slack DMs and sessions during migration?

DM platform ids are bot-specific, so old DMs cannot be copied; only the operator DM is auto-resolved and other users must open new DMs with the new bot. Existing sessions stay on the old rows, and new instances start fresh sessions.

What happens if the Slack migration fails partway through?

The workflow is resumable. Each group's stable slug, tokens, and database rows are tracked, and the finish primitive is idempotent, so re-running the skill skips completed steps and repairs partial state without duplicating apps or rows.