Agent skill · Workflow & Productivity

slack-bot-builder

Build Slack apps using the Bolt framework across Python, JavaScript, and Java. Covers Block Kit for rich UIs, interactive components, slash commands, event handling, OAuth installation flows, and Workflow Builder integration.

Nick44,414★ · +328/wk · 1 repos on radarProfile →
claude-codecodexcursorMIT
Install
npx skills add sickn33/agentic-awesome-skills --skill slack-bot-builder --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 41 KB
Bundled scripts: none
Path: skills/slack-bot-builder/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 44,414 · +328 this week
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Instructs how to build Slack apps using the Bolt framework across Python, JavaScript (Node.js), and Java. It emphasizes Block Kit for rich UIs, interactive components, slash commands, event handling, OAuth installation flows, and Workflow Builder integration, with a focus on production-ready best practices.

How it works

The skill outlines the Bolt App Foundation pattern, noting that Bolt handles authentication, event routing, request verification, and HTTP processing. It provides concrete code examples for Python showcasing:

  • Initializing App with tokens from environment variables
  • Handling messages containing a trigger (e.g., "hello")
  • Implementing a slash command ("/ticket") that opens a modal with fields for Title, Description, and Priority, then creates a ticket and notifies the user
  • Handling modal submissions to extract values and call a create_ticket function, followed by posting a confirmation message
  • Handling button clicks to acknowledge and update messages to remove interactive elements
  • Listening for app_home_opened events to publish a home view with a welcome section and a Create Ticket button
  • Using Socket Mode for development and comments on production using a web server setup

It also includes anti-patterns such as not acknowledging within 3 seconds, blocking operations in the ack handler, hardcoding tokens, and not using Socket Mode for development.

Block Kit usage is described with limits:

  • Up to 50 blocks per message
  • Up to 100 blocks in modals/Home tabs
  • Block text limited to 3000 characters

An example function build_notification_blocks demonstrates constructing Block Kit blocks for incident notifications, including headers, details, description, action buttons, and a context footer, with conditional severity emojis.

OAuth Installation Pattern section explains enabling OAuth 2.0 installation, configuring scopes, persistent storage, and the possibility of user token scopes if needed. It presents a DatabaseInstallationStore class with save and find_installation methods and shows initializing an App with OAuthSettings, including a list of scopes.

When to use it

Use when starting any new Slack app, migrating from legacy Slack APIs, or building production Slack integrations, particularly when aiming to leverage Bolt for multi-language support and production-ready patterns.

What it can touch

  • The skill references environment variables for tokens and secrets (e.g., SLACK_BOT_TOKEN, SLACK_SIGNING_SECRET) and demonstrates usage of Slack Bolt APIs, SocketModeHandler, and Slack Block Kit structures. It indicates integration points for creating tickets in an external system and posting messages back to users. It uses functions like create_ticket and Slack client methods such as views_open, chat_postMessage, chat_update, views_publish, and client methods within event handlers.

Caveats

  • Risk: critical
  • License: MIT
  • It documents anti-patterns and best practices, including not acknowledging requests within 3 seconds, avoiding hardcoded tokens, and using Socket Mode for development. It also notes potential production considerations like using database-backed stores for OAuth installation data and storing tokens securely.
From the SKILL.md

# Slack Bot Builder Build Slack apps using the Bolt framework across Python, JavaScript, and Java. Covers Block Kit for rich UIs, interactive components, slash commands, event handling, OAuth installation flows, and Workflow Builder integration. Focus on best practices for production-ready Slack apps. ## Patterns ### Bolt App Foundation Pattern The Bolt framework is Slack's recommended approach for building apps. It handles authentication, event routing, request verification, and HTTP request processing so you can focus on app logic. Key benefits: - Event handling in a few lines of code - Security checks and payload validation built-in - Organized, consistent patterns - Works for experiments and production Available in: Python, JavaScript (Node.js), Java **When to use**: Starting any new Slack app,Migrating from legacy Slack APIs,Building production Slack integrations # Python Bolt App from slack_bolt import App from slack_bolt.adapter.socket_mode import SocketModeHandler import os # Initialize with tokens from environment app = App( token=os.environ["SLACK_BOT_TOKEN"], signing_secret=os.environ["SLACK_SIGNING_SECRET"] ) # Handle messages containing "hello" @app.message("hello") de

What's inside
Steps it walks through
  1. Patterns
  2. Bolt App Foundation Pattern
  3. Antipatterns
  4. Block Kit UI Pattern
  5. OAuth Installation Pattern
  6. Socket Mode Pattern
  7. Workflow Builder Step Pattern
  8. Sharp Edges
  9. Missing 3-Second Acknowledgment (Timeout)
  10. Acknowledge immediately, process later
  11. For Bolt framework - use lazy listeners
  12. Not Validating OAuth State Parameter (CSRF)
  13. Proper state validation
  14. Exposing Bot/User Tokens
More from agentic-awesome-skills
All skills →
About this skill
What does the slack-bot-builder skill do?

Build Slack apps using the Bolt framework across Python, JavaScript, and Java. Covers Block Kit for rich UIs, interactive components, slash commands, event handling, OAuth installation flows, and Workflow Builder integration.

How do I install it?

Run `npx skills add sickn33/agentic-awesome-skills --skill slack-bot-builder --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From sickn33/agentic-awesome-skills, a repository with 44,414 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going