Skip to content

Guide · Agent skill

How to use the Add Slack Channel agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The add-slack skill is a set of instructions that an AI coding agent follows to connect a NanoClaw agent to Slack, so the agent can receive and reply to direct messages and channel messages in one Slack workspace through a bot. This guide is for developers who already run a NanoClaw checkout and want their agent reachable from Slack. By the end you will know what the skill changes in your project, how to install it, how to trigger it with a plain request, and what credentials you need before you start.

Add Slack Channelnanocoai/nanoclaw · MIT

Quick start

  1. 1Check your NanoClaw checkout. Confirm you have a NanoClaw repository with git access to the channels branch, and that pnpm and a Node build environment work.
  2. 2Install the skill ZIP. Unzip the downloaded skill into ~/.claude/skills/ for personal use or into .claude/skills/ in your project. In the Claude apps, upload it under Settings → Capabilities → Skills.
  3. 3Ask the agent to add Slack. Make a plain request such as adding Slack to your NanoClaw install, and name the add-slack skill if you want to be certain.
  4. 4Choose a delivery mode. Pick Socket Mode for local or NAT setups, or webhook delivery if you have a public HTTPS URL.
  5. 5Create the Slack app. Follow the listed steps at api.slack.com/apps to set scopes, events and tokens for your chosen mode.
  6. 6Paste tokens when prompted. Give the agent the xoxb- token and either the xapp- token or the signing secret so they are written to .env.
  7. 7Let the build and tests run. Allow the skill to run pnpm run build and the Vitest test command, then message your Slack bot to confirm replies.

What is an agent skill and what does add-slack do?

An agent skill is a folder with a SKILL.md file that tells an AI agent how to carry out a task in your project. When you ask the agent for something that matches the skill, it reads the instructions and applies them step by step.

The add-slack skill sets up Slack as a messaging channel for NanoClaw. NanoClaw ships with no channels by default, so this skill copies the Slack channel code in from the channels branch, installs a pinned Slack adapter package, runs build and test checks, and then walks you through creating a Slack app and storing its tokens in a .env file.

  • Copies Slack adapter, shared library, bot-inbound guard, raw-text recovery and provisioning files into the project.
  • Installs @chat-adapter/slack at the exact pinned version 4.41.1.
  • Runs a build and a set of Vitest tests to check the install.
  • Guides you through Slack app setup and saves SLACK_BOT_TOKEN plus either SLACK_APP_TOKEN or SLACK_SIGNING_SECRET.

Install the add-slack skill

Download the skill ZIP from this page. Then choose one of two locations. For a skill available across all your projects, unzip it into ~/.claude/skills/. For a skill limited to one project, unzip it into the .claude/skills/ folder inside that project.

If you use the Claude apps instead, upload the ZIP under Settings → Capabilities → Skills.

  • Personal install: unzip into ~/.claude/skills/
  • Project install: unzip into .claude/skills/ in your NanoClaw project
  • Claude apps: Settings → Capabilities → Skills, then upload the ZIP

Trigger the skill with a natural request

You do not need a special command. Ask the agent in plain language to add Slack to your NanoClaw install, and it should pick up the add-slack skill because its description is about adding Slack channel integration. Name the skill directly if you want to be sure it is used.

The agent will ask how Slack should deliver events, so have your preference ready. Socket Mode is the recommended choice for local machines or installs behind NAT.

  • "Add Slack to my NanoClaw install."
  • "Use the add-slack skill to connect this agent to a Slack workspace."
  • "Set up Slack Socket Mode for my NanoClaw bot."

Choose Socket Mode or webhook delivery

Socket Mode opens an outbound WebSocket, so it needs no public URL. The adapter switches to Socket Mode automatically whenever SLACK_APP_TOKEN is set. Webhook delivery instead needs a public HTTPS Request URL, because the bridge serves port 3000 at /webhook/slack and that URL must be reachable and registered with Slack.

The skill's setup steps differ by mode. Socket Mode needs a Bot User OAuth Token (xoxb-) and an App-Level Token (xapp-). Webhook mode needs the Bot User OAuth Token and a Signing Secret.

  • Socket Mode: SLACK_BOT_TOKEN and SLACK_APP_TOKEN, no public URL.
  • Webhook: SLACK_BOT_TOKEN and SLACK_SIGNING_SECRET, public HTTPS URL required.

Create the Slack app and collect tokens

Go to api.slack.com/apps and create a new app, name it (for example NanoClaw) and pick your workspace. In OAuth & Permissions, add the bot scopes the skill lists: chat:write, im:write, channels:history, groups:history, im:history, channels:read, groups:read, mpim:read, users:read, reactions:write, files:read and files:write. In App Home, enable the Messages Tab and allow users to send messages from it.

For Socket Mode, generate an App-Level Token with the connections:write scope under Basic Information, enable Socket Mode, turn on Events and subscribe to message.channels, message.groups, message.im and app_mention. Then install the app to your workspace and copy the Bot User OAuth Token. The skill will prompt you to paste these values, which it writes to .env.

  • Bot token starts with xoxb- (OAuth & Permissions).
  • App-level token starts with xapp- (Basic Information → App-Level Tokens).
  • Signing secret is in Basic Information for webhook mode.

Safety notes: scripts and network access

This skill runs scripts and uses the network. It runs pnpm run build and a Vitest test command, and it installs an npm package. The tokens it asks for grant access to your Slack workspace, and they are stored in a local .env file, so only paste them into a machine and project you control.

Review the files the skill copies before running it, and keep .env out of version control. The skill does not offer a multi-bot option; the Slack agents feature with multiple bots is distributed separately as /slack-agent-flow and /slack-a2a-rooms.

  • Tokens grant workspace access; treat .env as secret.
  • The skill runs a build and tests and installs one pinned npm package.
  • Multi-bot Slack agents are not included in this skill.
pnpm run build pnpm exec vitest run src/channels/slack-registration.test.ts src/channels/slack-instances-registration.test.ts src/channels/slack-lib.test.ts src/channels/slack-a2a-guard.test.ts src/provisioning/slack-app.test.ts

Removing the Slack integration

The bundled REMOVE.md describes how to undo the install. It deletes the two appended import lines in src/channels/index.ts, removes the copied Slack payload files, and removes SLACK_BOT_TOKEN, SLACK_APP_TOKEN and SLACK_SIGNING_SECRET from .env. The removal steps are safe to re-run.

What people use it for

  • Chat with your NanoClaw agent by direct message from Slack on your own laptop, without exposing a public URL.
  • Add the bot to a Slack channel so team members can ask the agent questions in that channel.
  • Run a single test bot in one workspace to check how the agent handles DMs and channel messages.
  • Use Socket Mode behind a NAT or firewall where inbound webhooks are not possible.

Frequently asked questions

Is the add-slack skill free to use?

The source material lists the skill's licence as MIT. Slack itself still requires a workspace where you can create an app, and the tokens grant access to that workspace.

What do I need before I install add-slack?

You need a NanoClaw repository checkout with git access to the channels branch, pnpm and a working Node build environment, and a Slack workspace where you can create an app. You also need the Bot User OAuth Token and either an App-Level Token for Socket Mode or a Signing Secret for webhooks.

Should I use Socket Mode or webhooks?

Use Socket Mode if your install runs locally or behind NAT, because it opens an outbound WebSocket and needs no public URL. Use webhook delivery only if you can serve a public HTTPS Request URL on port 3000 at /webhook/slack.

Can I run multiple Slack bots with this skill?

No. This skill sets up one bot for DMs and channel chat. Multi-bot Slack agents ship separately in /slack-agent-flow and /slack-a2a-rooms, and the adapter has an optional SLACK_INSTANCES setting described in /slack-multi-instance.

Where are my Slack tokens stored?

The skill writes them to a .env file in your project as SLACK_BOT_TOKEN, plus SLACK_APP_TOKEN or SLACK_SIGNING_SECRET depending on delivery mode. Keep that file private and out of version control.

How do I remove the Slack integration later?

Follow the REMOVE.md file in the skill. It deletes the two import lines added to src/channels/index.ts, removes the copied Slack files, and clears the Slack variables from .env. Each step can be re-run safely.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Choose add-slack if you already run NanoClaw, are comfortable with Slack app setup and a local .env file, and want one bot reachable for DMs and channel chat. Pick something else if you need several Slack agents working together, or if you are not a developer and do not have a working NanoClaw build environment.

Download the skill