Agent skill
slack-app-scaffold
Scaffold Slack apps from existing functionality using Bolt for JavaScript and the Slack CLI. Use when turning a service, script, or workflow into a Slack app with events, commands, modals, or automations.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/slack-app-scaffold
SKILL.md
Slack App Scaffold
Bolt for JavaScript + Slack CLI is the 2026 default. Optimize for fast local runs, clear handlers, and safe deploys.
Stack (Default)
- Runtime: Node.js (LTS)
- Framework:
@slack/bolt - Tooling: Slack CLI (
slack) - Config: Slack manifest via CLI-generated project
Core CLI Commands
# Create new Slack app project
slack create my-slack-app
# Run locally (socket mode / dev env)
cd my-slack-app
slack run
# Deploy to Slack-hosted runtime / target env
slack deploy
Workflow (CLI-First)
- Identify integration points in existing functionality.
- Scaffold app with
slack create. - Model capabilities in the manifest (scopes, events, commands, interactivity).
- Implement handlers in Bolt (events, commands, actions, views/modals).
- Run locally with
slack runand validate in a dev workspace. - Deploy with
slack deploy.
Project Structure (Typical)
my-slack-app/
├── app/
│ ├── app.js # Bolt app bootstrap
│ ├── listeners/ # Events, commands, actions, views
│ ├── services/ # Integration layer to existing functionality
│ └── middleware/ # Auth, validation, shared guards
├── manifest.json # Slack app manifest (CLI-managed)
├── package.json
└── README.md
Design rule: keep Slack handlers thin; push real work into services/.
Common Use Cases
- Notifications: post messages from existing jobs or webhooks.
- Slash commands: wrap existing scripts or APIs behind
/commands. - Workflows: compose multi-step flows with Slack-native triggers.
- Modals: collect structured input, then call existing systems.
Implementation Notes
- Map each Slack surface to one listener module.
- Normalize inputs at the edge; pass clean DTOs inward.
- Acknowledge fast (
ack()), then do work. - Centralize Slack Web API calls behind a small service.
See references/bolt-patterns.md for concrete patterns.
Verification Steps
# 1) Install deps
npm install
# 2) Run locally
slack run
# 3) Lint/test if present
npm test
# 4) Deploy
slack deploy
Manual checks in Slack workspace:
- Trigger each command or event once.
- Validate permissions/scopes match what handlers need.
- Confirm errors surface as user-visible messages, not silent failures.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?