# Slack Agent Flow

Let an existing Slack agent create new agents that arrive as their own Slack bots, ...

- Repository: https://github.com/nanocoai/nanoclaw (31069 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add nanocoai/nanoclaw --skill slack-agent-flow -g -a claude-code -y`
Codex: `npx skills add nanocoai/nanoclaw --skill slack-agent-flow -g -a codex -y`
Cursor: `npx skills add nanocoai/nanoclaw --skill slack-agent-flow -g -a cursor -y`
Gemini CLI: `npx skills add nanocoai/nanoclaw --skill slack-agent-flow -g -a gemini-cli -y`

## Description

Let an existing Slack agent create new agents that arrive as their own Slack bots, provisioned app, operator DM, and a shared three-way room, hot-started without a host restart.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Slack agent flow (create_agent → provisioned Slack bot)

Composes the Slack extension skills into one conversational flow: a user tells
an existing Slack-wired agent "create an agent called Research", and the new
agent doesn't just exist as a `send_message` destination, it arrives in Slack
as **its own bot**. The host provisions a Slack app for it (managed broker, or
a workspace manager token), registers it as a `slack-<name>` instance,
hot-starts the adapter in the running host, opens a DM between the new bot and
the operator, opens a three-way MPIM (operator + originating bot + new bot)
registered as an agent-to-agent room, and wires everything so both agents hear
the room. The flow also adds two agent-facing room actions, `create_room`
(one shared room with N agents at once, the team primitive) and `add_to_room`
(grow a room by one agent), and extends the base `create_agent` tool with the
flow's `purpose` / `allow_guests` / `room` parameters. Non-Slack sessions are
untouched: `create_agent` from any other channel behaves exactly as upstream.

**Canonical home.** This directory on `main` is the skill's canonical source, the setup wizard and any direct apply read it from the checkout. The copy on
the `channels` branch is a compatibility mirror for older checkouts whose
setup fetches companions from there; edits land here, never there. The
payload the Apply steps fetch with `from-branch:channels` stays on the
channels branch, exactly like `/add-slack`'s own.

## Prerequisites

All prose below assumes these are already in place, in this order:

The rest: https://github.com/nanocoai/nanoclaw/blob/HEAD/.claude/skills/slack-agent-flow/SKILL.md
