Slack Browser Automation
vercel-labs/agent-browser
Drives the Slack web app with the agent-browser CLI to check unread channels, search, read channel details and extract information, with screenshots as evidence.
Adds the base Slack experience to NanoClaw, one bot handling DMs and channel chat, by copying the Slack channel layer in from the channels branch.
$ npx skills add nanocoai/nanoclaw --skill add-slack -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nanocoai/nanoclaw add-slack --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/add-slack .claude/skills/add-slack && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "add-slack" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-slack into .claude/skills/add-slack/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-slack", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-slackType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nanocoai/nanoclaw --skill add-slack -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nanocoai/nanoclaw add-slack --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/add-slack .agents/skills/add-slack && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-slack" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-slack into .agents/skills/add-slack/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-slack", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nanocoai/nanoclaw --skill add-slack -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nanocoai/nanoclaw add-slack --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/add-slack .cursor/skills/add-slack && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "add-slack" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-slack into .cursor/skills/add-slack/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-slack", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nanocoai/nanoclaw.git --path .claude/skills/add-slack--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nanocoai/nanoclaw --skill add-slack -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nanocoai/nanoclaw add-slack --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/add-slack .gemini/skills/add-slack && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "add-slack" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-slack into .gemini/skills/add-slack/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-slack", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nanocoai/nanoclaw add-slackInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nanocoai/nanoclaw --skill add-slack -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/add-slack .github/skills/add-slack && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "add-slack" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-slack into .github/skills/add-slack/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-slack", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nanocoai/nanoclaw --skill add-slack -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nanocoai/nanoclaw add-slack --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/add-slack .opencode/skills/add-slack && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "add-slack" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-slack into .opencode/skills/add-slack/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-slack", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
add-slackAdds the base Slack experience to NanoClaw, one bot handling DMs and channel chat, by copying the Slack channel layer in from the channels branch.
This is the standard Slack setup: one bot that talks in direct messages and channels through the Chat SDK bridge. The skill copies a whole channel layer from the `channels` branch, starting with the adapter and a shared library for bridge registration, wiring defaults and the conversation resolver, plus a guard that drops bot-authored inbound messages by default.
It also brings raw-text recovery, which rebuilds pasted tables that Slack delivers as attachment blocks, a provisioning core with a manifest template and scope and event constants for creating a Slack app programmatically, and a `slack-formatting` container skill covering mrkdwn syntax. The richer agents feature, with child bots, shared rooms and canvases, ships separately through `/slack-a2a-rooms` and `/slack-agent-flow`, and existing classic installs use `/migrate-slack-agents` if they want it.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 66f0823. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pnpmbashFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
slack.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SLACK_APP_TOKENSLACK_BOT_TOKENSLACK_SIGNING_SECRETFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Slack Channel for NanoClaw loads about 3.2k tokens when it runs. Until then it costs about 13 tokens; SKILL.md has 1,050 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
Store the secrets in `.env` (the app-level token doubles as the Socket Mode switch, the signing secret authenticates web`SLACK_INSTANCES=<name>[,…]` from `.env`, registering one `slack-<name>` instance perAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nanocoai/nanoclaw at commit 66f0823, republished under its MIT licence (© nanocoai). 1,050 words, ~3,224 tokens.
.claude/skills/add-slack/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Adds Slack support via the Chat SDK bridge. Trunk ships no channels — this skill
copies the Slack channel layer (adapter, shared lib, bot-inbound guard,
provisioning core, container skills) in from the channels branch. The Apply
steps carry nc: directive fences (an agent applies the prose, a parser the
directives); all idempotent.
This is the base Slack experience: one bot, DM and channel chat. The Slack
agents feature — child bots provisioned from create_agent, shared rooms,
canvases, DM onboarding — ships separately in /slack-a2a-rooms +
/slack-agent-flow, in-tree under .claude/skills/ (their canonical home;
the channels branch keeps a compatibility copy for older checkouts). The
setup wizard applies them automatically, and they can be applied on top of
this install at any time.
Existing classic installs that want the Slack agents experience should use
/migrate-slack-agents rather than re-running this skill (classic keeps
working; that migration is optional).
Fetch the channels branch and copy the payload into place (overwrite — the branch is canonical):
src/channels/slack.ts
src/channels/slack-lib.ts
src/channels/slack-lib.test.ts
src/channels/slack-a2a-guard.ts
src/channels/slack-a2a-guard.test.ts
src/channels/slack-raw-text.ts
src/channels/slack-raw-text.test.ts
src/channels/slack-registration.test.ts
src/channels/slack-instances-registration.test.ts
src/provisioning/slack-app.ts
src/provisioning/slack-app.test.ts
container/skills/slack-formatting/SKILL.mdslack.ts, slack-lib.ts): bridge registration, wiring defaults, conversation resolver, the native SLACK_INSTANCES loop — pinned by the two registration tests.slack-a2a-guard.ts): drops bot-authored inbound at the bridge by default; feature skills register a narrower admission policy on its seam.slack-raw-text.ts): recovers pasted tables, which Slack delivers as attachment blocks in message.raw rather than as text — slack.ts imports it directly, so it travels with the adapter.src/provisioning/slack-app.ts): manifest template, scope/event constants, and the broker + manager-token transports for creating a Slack app programmatically. Nothing on the adapter path imports it — the setup wizard's auto-provision pre-step and feature skills do.slack-formatting/ (mrkdwn syntax; synced to ~/.claude/skills).The room/canvas/onboarding host modules, their container files, and the Slack
welcome-tour addendum (it describes rooms, canvases, and the agents access
model) are part of the agents feature and install with /slack-agent-flow,
not here.
Append the self-registration imports (each append is skipped if its first line is already present). The adapter and the guard, in the channel barrel:
import './slack.js';import './slack-a2a-guard.js';Pinned exactly — the supply-chain policy rejects ranges and latest:
@chat-adapter/slack@4.29.0The build guards the typed createChatSdkBridge(...) call and proves the dependency
installed; the tests pin registration (barrel import, dependency, the SLACK_INSTANCES
loop), the guard, the shared lib, and the provisioning core.
pnpm run buildpnpm 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.tsSocket Mode (an outbound WebSocket — no public URL, the right default behind NAT)
vs webhook delivery (needs a public HTTPS Request URL); the adapter picks Socket
Mode automatically whenever SLACK_APP_TOKEN is set.
How should Slack deliver events? `socket` (Socket Mode — no public URL, recommended for local or behind-NAT installs) or `webhook` (needs a public HTTPS Request URL).provisioned is never offered interactively (choices: limits the select;
validate: stays wider because pre-bound inputs may exceed the offered set) —
it arrives only via pre-bound inputs (a programmatically created app) and
behaves like Socket Mode minus the walkthrough below.
For Socket Mode, tell the user:
Create the Slack app (Socket Mode):
1. Go to api.slack.com/apps and create a new app using whichever creation flow is currently available (e.g. starting from scratch or from a manifest). Name it (e.g. "NanoClaw") and pick your workspace.
2. OAuth & Permissions → add these Bot Token Scopes: chat:write, im:write, channels:history, groups:history, im:history, channels:read, groups:read, mpim:read, users:read, reactions:write, files:read, files:write.
3. App Home → enable the Messages Tab, and check "Allow users to send Slash commands and messages from the messages tab."
4. Basic Information → App-Level Tokens → "Generate Token and Scopes" → add the connections:write scope → copy the token (starts with xapp-).
5. Socket Mode → toggle "Enable Socket Mode" on.
6. Event Subscriptions → toggle "Enable Events" on, then under "Subscribe to bot events" add: message.channels, message.groups, message.im, app_mention. Save Changes. (No Request URL is needed in Socket Mode.)
7. Install to Workspace, then copy the Bot User OAuth Token (starts with xoxb-).For webhook delivery, tell the user:
Create the Slack app (webhook delivery):
1. Go to api.slack.com/apps and create a new app using whichever creation flow is currently available (e.g. starting from scratch or from a manifest). Name it (e.g. "NanoClaw") and pick your workspace.
2. OAuth & Permissions → add these Bot Token Scopes: chat:write, im:write, channels:history, groups:history, im:history, channels:read, groups:read, mpim:read, users:read, reactions:write, files:read, files:write.
3. App Home → enable the Messages Tab, and check "Allow users to send Slash commands and messages from the messages tab."
4. Install to Workspace, then copy the Bot User OAuth Token (starts with xoxb-).
5. Basic Information → copy the Signing Secret.Store the secrets in .env (the app-level token doubles as the Socket Mode switch, the signing secret authenticates webhook requests):
Paste the Bot User OAuth Token — OAuth & Permissions, starts with `xoxb-`.Paste the App-Level Token — Basic Information → App-Level Tokens, starts with `xapp-`.Paste the App-Level Token of the provisioned app (starts with `xapp-`).Paste the Signing Secret — Basic Information.SLACK_BOT_TOKEN={{bot_token}}SLACK_APP_TOKEN={{app_token}}SLACK_APP_TOKEN={{app_token}}SLACK_SIGNING_SECRET={{signing_secret}}Additional bot identities (optional). The adapter natively reads
SLACK_INSTANCES=<name>[,…] from .env, registering one slack-<name> instance per
name from suffixed keys (SLACK_BOT_TOKEN_<NAME> etc.) — see /slack-multi-instance.
With webhook delivery, the bridge serves port 3000 at /webhook/slack; that
URL must be publicly reachable and registered with Slack. Tell the user:
Set up event delivery (needs a public HTTPS URL for port 3000 — ngrok, a Cloudflare Tunnel, or a reverse proxy on a VPS):
1. Event Subscriptions → Enable Events. Set the Request URL to https://<your-public-host>/webhook/slack and wait for the challenge to pass.
2. Subscribe to bot events: message.channels, message.groups, message.im, app_mention. Save Changes.
3. Interactivity & Shortcuts → toggle Interactivity on, set the same Request URL, Save Changes, then reinstall the app when Slack prompts.Resolve the owner DM address the owner-wiring step needs; validating the token here, before the restart, fast-fails a bad credential.
Your Slack member ID (Profile → ⋮ → "Copy member ID"; starts with U).auth.test confirms the bot token works and captures the bot identity:
curl -sf -X POST https://slack.com/api/auth.test -H "Authorization: Bearer {{bot_token}}" | jq -er '"@" + .user + " in " + .team'conversations.open yields the DM address slack:<channelId> (no channel back = the im:write scope is missing — add it and reinstall):
curl -s -X POST https://slack.com/api/conversations.open -H "Authorization: Bearer {{bot_token}}" -H "Content-Type: application/json" -d '{"users":"{{owner_handle}}"}' | jq -er '"slack:" + .channel.id'owner_handle and platform_id feed the owner-wiring step. Sending works immediately;
receiving needs the event path (Socket Mode: live after the restart below; webhook: the steps above first).
Restart so the service loads the adapter and secrets; wait for its CLI socket before wiring:
bash setup/lib/restart.shMid-/setup: return to the setup flow. Otherwise wire the channel with /init-first-agent
(or /manage-channels). For the Slack agents feature (child bots from
create_agent, shared rooms, canvases), apply the in-tree /slack-a2a-rooms
then /slack-agent-flow — the setup wizard does both automatically by default.
slackslack:{channelId} for channels (e.g., slack:C0123ABC), slack:{dmId} for DMs (e.g., slack:D0ARWEBLV63)xoxb- (OAuth & Permissions, after Install to Workspace), the App-Level Token starts xapp- (Basic Information → App-Level Tokens), and the Signing Secret is a hex string (Basic Information). The classic mix-up is pasting a user token (xoxp-) instead of the bot token, or the app's Client Secret instead of the Signing Secret.auth.test fails, or conversations.open returns no channel. A failing auth.test means the bot token is wrong or the app was never installed to the workspace. An empty conversations.open means the im:write scope is missing — add it and reinstall the app; scope changes only take effect after reinstall, which also mints a new xoxb- token to store.SLACK_APP_TOKEN set with connections:write, and the bot events (message.im, message.channels, message.groups, app_mention) subscribed. Webhook: the Request URL must have passed Slack's challenge and the same events subscribed. Either way, App Home's Messages Tab must be enabled or Slack refuses DMs to the app.pnpm exec vitest run src/channels/slack-registration.test.ts — red means the barrel import or the @chat-adapter/slack install drifted, so re-run the Apply steps. If green, restart the service (bash setup/lib/restart.sh) and check logs/nanoclaw.error.log./slack-a2a-rooms + /slack-agent-flow (setup applies both by default). If those skills were applied, check src/modules/index.ts carries their module imports, then restart.© nanocoai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in .claude/skills/add-slack of nanocoai/nanoclaw.
Open the folder on GitHubat commit 66f0823
Slack Channel for NanoClaw next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Slack Channel for NanoClaw this skillnanocoai/nanoclaw | 31k | — | ~3.2k | Automated safety check: Notes | MIT | |
| Slack Browser Automationvercel-labs/agent-browser | 44k | 1 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Slackhuangruiteng/CS-Notes | 4k | 10 repos | ~578 | Automated safety check: Pass | MIT | |
| Openloomi Connectorsmelandlabs/openloomi | 1k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Use Avibeavibe-bot/avibe | 622 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Agent Deep Linkscomposio-community/awesome-codex-skills | 17k | — | ~513 | Automated safety check: Pass | None |
vercel-labs/agent-browser
Drives the Slack web app with the agent-browser CLI to check unread channels, search, read channel details and extract information, with screenshots as evidence.
huangruiteng/CS-Notes
A skill your agent uses when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
melandlabs/openloomi
openloomi Connectors tools - manage the native 7 messaging integrations and pair with the composio skill for the 1000+ apps OAuth layer (Slack, Discord, X, Gmail, Outlook, Google…
avibe-bot/avibe
Safely inspect and modify local Avibe configuration, routing, runtime settings, watches, scheduled tasks, Avibe Cloud remote access, and operational state.
composio-community/awesome-codex-skills
Builds and checks clickable deep links that open a thread, file, folder or settings panel in tools like Codex, Cursor and VS Code, usually for sharing in Slack.
dandaka/traul
Drives the traul CLI to sync, search and monitor messages from Slack, Telegram, Discord, Linear, Gmail, WhatsApp, Claude Code sessions and Markdown files.
nanocoai/nanoclaw
Installs or refreshes Iron Proxy and its Iron Control web console for NanoClaw, with a local Docker setup, database, credentials and a human approval bridge.
nanocoai/nanoclaw
Installs or refreshes OneCLI as the gateway provider for NanoClaw, copying the adapter files, registering the provider and running the setup script.
nanocoai/nanoclaw
Drives a web browser from the shell with the agent-browser CLI: open pages, read an element snapshot, click and fill by reference, grab text and screenshots.
nanocoai/nanoclaw
Guides a conversational migration from an OpenClaw install to NanoClaw v2, carrying over identity, channel credentials, scheduled tasks and workspace files.
nanocoai/nanoclaw
Wires up an additional phone number onto an already-installed Dial channel, so one NanoClaw install answers SMS and AI voice calls on more than one line.
nanocoai/nanoclaw
Installs the `dial` CLI and a credential in NanoClaw agent containers so chosen agents can send SMS, place AI voice calls and receive verification codes.
Works with
Categories
Adds the base Slack experience to NanoClaw, one bot handling DMs and channel chat, by copying the Slack channel layer in from the channels branch. This is the standard Slack setup: one bot that talks in direct messages and channels through the Chat SDK bridge. The skill copies a whole channel layer from the `channels` branch, starting with the adapter and a shared library for bridge registration, wiring defaults and the conversation resolver, plus a guard that drops bot-authored inbound messages by default.
Slack Channel for NanoClaw fits situations like: letting a NanoClaw agent chat with people in Slack DMs and channels; installing the Slack channel layer on a fresh NanoClaw checkout; deciding between the base Slack setup and the Slack agents feature.
Run `npx skills add nanocoai/nanoclaw --skill add-slack -a claude-code`. Or copy the skill folder (.claude/skills/add-slack in nanocoai/nanoclaw) into .claude/skills/add-slack in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nanocoai/nanoclaw --skill add-slack -a codex`. Or copy the skill folder (.claude/skills/add-slack in nanocoai/nanoclaw) into .agents/skills/add-slack in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nanocoai/nanoclaw --skill add-slack -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-slack, .gemini/skills/add-slack, .github/skills/add-slack and .opencode/skills/add-slack in your project.
Going by SKILL.md and its folder, Slack Channel for NanoClaw needs the command-line tools its instructions call (pnpm and bash) and credentials named SLACK_APP_TOKEN, SLACK_BOT_TOKEN and SLACK_SIGNING_SECRET. Our summary lists: A NanoClaw installation with pnpm; A Slack workspace where you can create or provision a bot.
SKILL.md names 1 domain. In commands or code: slack.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Slack Channel for NanoClaw is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Slack Channel for NanoClaw: Slack Browser Automation (vercel-labs/agent-browser, 44k stars), Slack (huangruiteng/CS-Notes, 4k stars), Openloomi Connectors (melandlabs/openloomi, 1k stars) and Use Avibe (avibe-bot/avibe, 622 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nanocoai (a GitHub organization) maintains it in nanocoai/nanoclaw, which has 30,902 GitHub stars. The repository holds 59 skills in this directory. The repository was last updated on October 6, 2026.
Source: nanocoai/nanoclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.