slack-bot-builder
Builds Slack bots and integrations using the Slack API (Bolt framework).
Skill by terminal-skills
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/itzmetanjim-slack-bot-builder
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/slack-bot-builder
What's inside
- Skill name
slack-bot-builder- Description
- Builds Slack bots and integrations using the Slack API (Bolt framework). Use when the user wants to create a Slack bot, build slash commands, handle Slack events, send messages to channels, build interactive modals/blocks, create Slack workflows, or integrate services with Slack. Trigger words: slack bot, slack integration, slash command, slack app, slack webhook, slack blocks, slack modal, bolt framework, slack events, slack notification, slack automation.
- License
- Apache-2.0
- Compatibility
- Node.js 18+ or Python 3.9+. Requires a Slack workspace with admin access to install apps.
- Metadata
- author: terminal-skills · version: 1.0.0 · category: automation
- Instructions
- 162 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- _scores.json
SKILL.md (first lines)
# Slack Bot Builder
## Overview
Builds production-ready Slack bots and integrations using the Bolt framework. Handles app setup, event subscriptions, slash commands, interactive components (buttons, modals, dropdowns), message formatting with Block Kit, and deployment. Covers both simple webhook-based notifications and full conversational bots.
## Instructions
### 1. App Setup
When creating a new Slack bot:
1. Guide the user through https://api.slack.com/apps → Create New App
2. Recommend "From a manifest" for faster setup
3. Generate the app manifest YAML based on required scopes and features
4. Set up the following based on needs:
- **Bot Token Scopes**: `chat:write`, `commands`, `app_mentions:read`, `channels:history`, `users:read`
- **Event Subscriptions**: `message.channels`, `app_mention`, `message.im`
- **Interactivity**: Enable for buttons, modals, dropdowns
- **Slash Commands**: Register command names and descriptions
### 2. Project Scaffolding
Use Bolt.js (Node) or Bolt for Python:
```bash
# Node.js
npm init -y && npm install @slack/bolt dotenv
# Python
pip install slack-bolt python-dotenv
```
Standard project structure:
```
slack-bot/
├── app.js # Main entry, Bolt app initialization
├── listeners/
│ ├── commands.js # Slash command handlers
│ ├── events.js # Event handlers (messages, mentions)
│ ├── actions.js # Interactive component handlers
│ └── views.js # Modal submission handlers
├── services/ # Business logic
├── blocks/ # Block Kit message templates
├── .env # SLACK_BOT_TOKEN, SLACK_SIGNING_SECRET, SLACK_APP_TOKEN
└── package.json
```
### 3. Core Patterns
**Sending messages:**
```javascript
await client.chat.postMessage({
channel: channelId,
blocks: [/* Block Kit blocks */],
text: "Fallback text for notifications"
});
```
**Slash commands:**
```javascript
app.command('/deploy', async ({ command, ack, respond }) => {
await ack();
await respond({
blocks: buildDeployConfirmation(command.text),
response_type: 'ephemeral'
});
});
```
**Interactive modals:**
```javascript
app.action('button_click', async ({ body, ack, client }) => {
await ack();
await client.views.open({
trigger_id: body.trigger_id,
view: buildModalView()
});
});
```
**Event handling:**
```javascript
app.event('app_mention', async ({ event, say }) => {
await say(`Hey <@${event.user}>! How can I help?`);
});
```
### 4. Block Kit Messages
Always use Block Kit for rich messages. Key block types:
- `section` — text with optional accessory (button, image, overflow)
- `actions` — row of interactive elements
- `input` — form fields in modals
- `divider` — visual separator
- `context` — small metadata text
- `header` — bold large text
Use https://app.slack.com/block-kit-builder for visual design.
### 5. Socket Mode vs HTTP
- **Socket Mode** (recommended for internal bots): No public URL needed, uses WebSocket
- Set `SLACK_APP_TOKEN` (starts with `xapp-`)
- `const app = new App({ token, signingSecret, socketMode: true, appToken })`
- **HTTP mode** (for public apps): Needs public URL, use ngrok for dev
- `const app = new App({ token, signingSecret })`
- `app.start(3000)`
### 6. Deployment
- **Simple**: Railway, Render, or any Node.js host
- **Production**: Container on ECS/Cloud Run with health checks
- **Serverless**: AWS Lambda with Slack Bolt's `AwsLambdaReceiver`
### 7. Rate Limits
Slack API rate limits:
- **Tier 1** (chat.postMessage): ~1 req/sec per workspaceFrom itzmetanjim/coolton, Apache-2.0.
More from itzmetanjim/coolton
- 0.569score
marimo-pair
itzmetanjim
Drive a live marimo notebook as a workspace: run Python in the same kernel the user does, inspect live notebook state, and commit durable notebook changes.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
retro-marimo-pair
itzmetanjim
Session retrospective for improving marimo-pair and marimo._code_mode.
SkillBFreshness: B★ 3Claude Code +9 - 0.519score
agent-email-patterns
itzmetanjim
Architecture patterns for AI agents that communicate over email -- why agents need dedicated inboxes rather than human email accounts, infrastructure/provider…
SkillCFreshness: C★ 3Claude Code +9 - 0.519score
agentmail
itzmetanjim
Build with the AgentMail TypeScript or Python SDK for inbox, message, thread, draft, attachment, domain, allow/block list, webhook, and WebSocket workflows…
SkillCFreshness: C★ 3Claude Code +9 - 0.516score
agentmail-sdk
itzmetanjim
Deprecated alias of the agentmail skill, kept so existing installs and pinned URLs keep resolving.
SkillCFreshness: C★ 3Claude Code +9 - 0.516score
email-for-ai-agents
itzmetanjim
Deprecated alias of the agent-email-patterns skill, kept so existing installs and pinned URLs keep resolving.
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
agentmail-mcp
itzmetanjim
Configure or troubleshoot the hosted AgentMail MCP server for Codex, Claude Code, Cursor, or another Streamable HTTP MCP client.
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
agentmail-cli
itzmetanjim
Operate AgentMail from a shell with the official CLI.
SkillCFreshness: C★ 3Claude Code +9 - 0.511score
rossmann-voice
itzmetanjim
Louis Rossmann's writing voice for general prose: testable-number density, high sentence-length variance, claim-then-proof structure, contractions, contempt…
SkillCFreshness: C★ 3Claude Code +9 - 0.511score
agentmail-toolkit
itzmetanjim
Add AgentMail tools to agent frameworks with the TypeScript or Python AgentMail Toolkit.
SkillCFreshness: C★ 3Claude Code +9 - 0.510score
agentmail-manage-inboxes
itzmetanjim
Create, list, inspect, update, or delete AgentMail inboxes through the connected MCP server.
SkillCFreshness: C★ 3Claude Code +9 - 0.510score
agentmail-check-email
itzmetanjim
Read, search, summarize, and triage AgentMail inboxes through the connected MCP server.
SkillCFreshness: C★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Aug 17, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.0
- License
- Apache-2.0
- Repository
- github.com/itzmetanjim/coolton
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from terminal-skills
- 0.786score
apache-arrow
terminal-skills
Expert guidance for Apache Arrow, the cross-language columnar memory format for analytics workloads.
SkillAFreshness: A★ 195Claude Code +9 - 0.786score
cassandra
terminal-skills
Apache Cassandra is a distributed NoSQL database designed for high availability and linear scalability.
SkillAFreshness: A★ 195Claude Code +9 - 0.786score
dagster
terminal-skills
Dagster is a data pipeline orchestrator built around the concept of software-defined assets.
SkillAFreshness: A★ 195Claude Code +9 - 0.786score
prefect
terminal-skills
Prefect is a modern workflow orchestration framework for Python data pipelines.
SkillAFreshness: A★ 195Claude Code +9
Cite this page
slack-bot-builder skill. Agent Mart. https://agentmart.dev/skills/itzmetanjim-slack-bot-builder (last updated 2026-10-24)