Official agent skill

Create Slack App

by slackapi in slackapi/slack-skills-plugin

A skill your agent uses when a developer wants to create, scaffold, or bootstrap a new Slack app or agent from scratch with the Slack CLI.

OfficialMITAuto-check passedBackend & APIs

Install Create Slack App

skills CLI
$ npx skills add slackapi/slack-skills-plugin --skill create-slack-app -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install slackapi/slack-skills-plugin create-slack-app --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/slackapi/slack-skills-plugin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/create-slack-app .claude/skills/create-slack-app && rm -rf skills-src

Use ~/.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/

Facts

Skill name
create-slack-app
GitHub stars
145
Token cost
~3.1k tokens
SKILL.md length
1,583 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when a developer wants to create, scaffold, or bootstrap a new Slack app or agent from scratch with the Slack CLI.

  • Works in 6 steps: Check Prerequisites → Authenticate with the Slack CLI → Choose Where to Install the App → …
  • A developer wants to create
  • SKILL.md covers Step 1: Check Prerequisites, Step 2: Authenticate with the…, Step 3: Choose Where to… and Step 4: Create the App from a…, plus 3 more sections
  • Calls brew, node and python3; needs ANTHROPIC_API_KEY and OPENAI_API_KEY

What it does

Create Slack App is an agent skill from slackapi/slack-skills-plugin, published by the product's own GitHub organization. Use when a developer wants to create, scaffold, or bootstrap a new Slack app or agent from scratch with the Slack CLI. Covers prerequisites, authentication, choosing a workspace to install into, and creating a project from a Bolt (JS or Python) template locally. Trigger on "create a Slack app", "new Bolt app", "start a Slack agent".

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs. It works with Slack and Python. The repository describes itself as: Claude Code, Codex, Cursor, and npx skills plugin that enables your AI tools with a Slack MCP Server and Slack Developer Skills. The licence is MIT.

When your agent uses it

  • A developer wants to create
  • Bootstrap a new Slack app
  • Agent from scratch with the Slack CLI
  • Create a Slack app

Example prompts

  • “create a Slack app”
  • “new Bolt app”
  • “start a Slack agent”
  • “/create-slack-app”

Requirements

  • Python 3
  • Node.js
  • A credential in ANTHROPIC_API_KEY
  • A credential in OPENAI_API_KEY

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Check Prerequisites
  2. Authenticate with the Slack CLI
  3. Choose Where to Install the App
  4. Create the App from a Template
  5. Run the App Locally
  6. Next Steps

What it can do on your machine

Read from SKILL.md and the folder at commit 64c3f33. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • brew
    • node
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • api.slack.com
    • nodejs.org
    • python.org
    • slack.com
    • docs.slack.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ANTHROPIC_API_KEY
    • OPENAI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Create Slack App loads about 3.1k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 1,583 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

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.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated 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.

SKILL.md

The full file from slackapi/slack-skills-plugin at commit 64c3f33, republished under its MIT licence (© slackapi). 1,583 words, ~3,123 tokens.

Download SKILL.mdSave it as .claude/skills/create-slack-app/SKILL.md (or your agent's skills folder).
name
create-slack-app
description
Use when a developer wants to create, scaffold, or bootstrap a new Slack app or agent from scratch with the Slack CLI. Covers prerequisites, authentication, choosing a workspace to install into, and creating a project from a Bolt (JS or Python) template locally. Trigger on "create a Slack app", "new Bolt app", "start a Slack agent".
argument-hint
[bolt-js | bolt-python]

Create Slack App

Help the developer create a Slack app or agent using Bolt for $0.

This skill walks through the full setup: prerequisites, authentication, choosing a workspace to install into, project scaffolding from a template, and running the app locally.


Step 1: Check Prerequisites

1a. Detect the Slack CLI command

Use the slack:slack-cli skill — Step 1: Detect the Slack CLI — to check whether the public Slack CLI is installed and resolve its command name. The fingerprint check, alias fallback, and install instructions all live there; do not duplicate them here.

Once resolved, use the detected command name for all CLI commands throughout the rest of this skill. We refer to it as SLACK_CMD below — substitute the actual resolved command name everywhere you see SLACK_CMD.

1b. Verify the CLI version

Run SLACK_CMD version and print the version to confirm everything is working before continuing.

1c. Check language runtime
  • If $0 is bolt-js: Run node --version to verify Node.js is installed (v18+ required). If not installed, suggest brew install node or point to https://nodejs.org.
  • If $0 is bolt-python: Run python3 --version to verify Python is installed (3.6+ required). If not installed, suggest brew install python3 or point to https://python.org.

Step 2: Authenticate with the Slack CLI

Use the slack:slack-cli skill — Step 5: Authentication (slack auth) — to check the developer's auth status and walk them through SLACK_CMD login if they're not already authenticated.

Wait for confirmation that authentication succeeded before proceeding.


Step 3: Choose Where to Install the App

The app needs a Slack workspace to install into. Three targets work and they are not equivalent. Use AskUserQuestion to let the developer pick, presenting them in this order:

TargetBest forCost of entry
Developer sandbox (recommended)Anything the developer plans to keep building on. A free Enterprise Grid org isolated from real users, so org-level features are testable.Needs a Slack Developer Program account, which is free to join.
Free Team (second choice)Starting right now, when Developer Program signup is the thing in the way. A free workspace the developer creates and owns.Capped at 10 apps per workspace, and no Enterprise Grid org features.
Existing production workspace (last resort)Only when the app must reach real data or real coworkers.Usually gated by admin approval, and the developer may not be the admin.

Then follow the matching sub-step below. Whichever target they pick, authentication is the same Step 2 flow: the /slackauthticket command works in any workspace the developer belongs to, so there is no sandbox-specific login.

Whichever sub-step you follow, wait for confirmation that a target workspace exists and is authenticated before proceeding.

List existing sandboxes. Pass --team so the CLI does not stop to ask which authentication to use (get the team ID from SLACK_CMD auth list):

bash
SLACK_CMD sandbox list --team <team_id>

If the developer has no Developer Program account, sandbox list returns nothing useful, because sandboxes belong to the developer program account whose email matches the authenticated user rather than to the workspace. Point them at https://api.slack.com/developer-program/join, and offer the Free Team path in 3b as a way to start building now rather than waiting on signup.

  • If a sandbox exists: Show it and confirm they want to use it.

  • If no sandbox exists: Create one. Ask the developer for a name and a password with AskUserQuestion, then run:

    bash
    SLACK_CMD sandbox create --team <team_id> --name <sandbox-name> --password <password>

    Important: the password is a credential. Do NOT echo it, restate it, or write it into a summary. Pass it straight to the command, the same rule Step 4c applies to API keys.

    Sandboxes can also be created in the browser at https://api.slack.com/developer-program/sandboxes.

Once the sandbox exists, have the developer log into it with the Step 2 flow before continuing.

3b. Free Team (second choice)

A Free Team is an ordinary Slack workspace on the free plan. The developer creates one at https://slack.com/get-started, then logs into it with the Step 2 flow.

What to tell them:

  • Everything this skill builds works there. Bolt apps install and run fine on the free plan.
  • The workspace is capped at 10 apps. Past that the CLI reports service_limits_exceeded.
  • It is a standalone workspace, not an Enterprise Grid org, unlike a developer sandbox. Anything org-level is therefore untestable: org-wide app installs and org-level app grants, the admin.* API methods (which need Business+ or Enterprise Grid), and multi-workspace behaviour generally. If the app targets those, use a sandbox instead.
  • Do not invite coworkers into it. A Free Team with real users in it is a production workspace for the purposes of 3c.
3c. Existing production workspace (last resort)

Only when the app genuinely needs real data or real users. Warn the developer before they log in:

  • Admin app approval (AAA) is likely to block the install. It is always on for Enterprise Grid organizations and can be switched on in standalone workspaces. When it applies, the install in Step 5 stops and asks whether to request approval, and then the developer waits on an admin.
  • To send that request without the prompt, set SLACK_AUTO_REQUEST_AAA=1 in the environment. It is an environment variable, not a CLI flag.
  • If approval is denied or slow, fall back to 3a or 3b instead of fighting it.

Step 4: Create the App from a Template

Ask the developer what kind of app they want to build. Present the available templates based on their chosen framework ($0):

bolt-js templates
TemplateRepoDescription
Starter Templateslack-samples/bolt-js-starter-templateBasic Bolt JS app — great starting point
Starter Agentslack-samples/bolt-js-starter-agentMinimal AI agent using Claude/OpenAI
Support Agentslack-samples/bolt-js-support-agentAI-powered IT helpdesk agent
Getting Startedslack-samples/bolt-js-getting-started-appOfficial getting started tutorial app
Examplesslack-samples/bolt-js-examplesUnified showcase of Slack features
Show full SKILL.md (650 more words)Show less
bolt-python templates
TemplateRepoDescription
Starter Templateslack-samples/bolt-python-starter-templateBasic Bolt Python app — great starting point
Starter Agentslack-samples/bolt-python-starter-agentMinimal AI agent using Claude/OpenAI/Pydantic AI
Support Agentslack-samples/bolt-python-support-agentAI-powered IT helpdesk agent
Assistant Templateslack-samples/bolt-python-assistant-templateAgents & Assistants template
Examplesslack-samples/bolt-python-examplesUnified showcase of Slack features

Use AskUserQuestion to let the developer pick a template. Recommend the Starter Template for first-timers or the Starter Agent if they want to build an AI agent.

4a. Choose an AI provider (agent templates only)

If the developer picks Starter Agent or Support Agent, these templates contain subdirectories for different AI providers. Ask the developer which provider they want to use via AskUserQuestion:

bolt-js subdirectories:

SubdirDescription
claude-agent-sdkUses Anthropic's Claude Agent SDK
openai-agents-sdkUses OpenAI's Agents SDK

bolt-python subdirectories:

SubdirDescription
claude-agent-sdkUses Anthropic's Claude Agent SDK
openai-agents-sdkUses OpenAI's Agents SDK
pydantic-aiUses Pydantic AI (supports multiple LLM backends)

Recommend Claude Agent SDK as the default option.

4b. Name and create the project

Ask what they want to name their project (suggest a default like my-slack-app), then run:

For templates WITHOUT subdirectories (Starter Template, Getting Started, Assistant Template, Examples):

bash
SLACK_CMD create <project-name> -t <template-repo>

For agent templates WITH subdirectories (Starter Agent, Support Agent):

bash
SLACK_CMD create <project-name> -t <template-repo> --subdir <chosen-subdir>

For example:

bash
# Non-agent template
SLACK_CMD create my-slack-app -t slack-samples/bolt-js-starter-template

# Agent template with provider subdir
SLACK_CMD create my-slack-agent -t slack-samples/bolt-js-starter-agent --subdir claude-agent-sdk

Confirm the project was created successfully by checking that the directory exists and listing its contents.

4c. Set required environment variables (agent templates only)

If the developer chose an agent template (Starter Agent or Support Agent), they need to set the required API key for their chosen AI provider. Ask for the key value using AskUserQuestion, then set it using the Slack CLI from within the project directory.

Required environment variables by provider:

ProviderEnv VariableDescription
claude-agent-sdkANTHROPIC_API_KEYAnthropic API key
openai-agents-sdkOPENAI_API_KEYOpenAI API key
pydantic-aiOPENAI_API_KEYOpenAI API key (required). Optionally also ANTHROPIC_API_KEY if using Anthropic as the backend — if both are set, Anthropic is used by default.

Use AskUserQuestion to ask the developer for their API key value(s). Then set each one:

bash
cd <project-name> && SLACK_CMD env set <ENV_VAR_NAME> <value>

For example:

bash
cd my-slack-agent && SLACK_CMD env set ANTHROPIC_API_KEY sk-ant-...

Important: Do NOT store or echo API key values in logs or output. Only pass them directly to SLACK_CMD env set.


Step 5: Run the App Locally

Use the slack:slack-cli skill — Step 6: Running an App Locally (slack run) — to resolve the app or team target and start the dev server in the background.

Tell the developer their app is now running and installed in the workspace they chose in Step 3, and that file changes will auto-reload it.

If the install stops on an admin approval request, they picked a workspace with AAA turned on: see Step 3c for the options.


Step 6: Next Steps

After the app is running, suggest next steps:

  1. Explore the code: Read through the project files together — offer to explain the app structure, manifest, listeners, etc.
  2. Make a change: Suggest a small modification (like changing a message response) to see hot-reload in action.
  3. Add features: Based on the template, suggest relevant Slack features to add (slash commands, events, modals, AI capabilities, etc.).
  4. Check the docs: Point to https://docs.slack.dev for the full Slack Platform documentation.

Notes

  • SLACK_CMD is a placeholder — always substitute the actual command name resolved in Step 1a (typically slack, but may be an alias).
  • This skill focuses on Bolt for JavaScript and Bolt for Python only. Do not suggest Deno, workflow apps, or slack deploy (hosted deployment).
  • SLACK_CMD sandbox create prompts for a name and password only when those flags are missing. Supply --team, --name, and --password and it runs non-interactively, so you can run it yourself rather than handing it to the developer. SLACK_CMD sandbox list needs --team for the same reason: without it the CLI prompts for which authentication to use.
  • Free Teams and developer sandboxes both support everything this skill builds. The CLI's free_team_not_allowed error is scoped to low-code workflow and function apps, which this skill does not create.
  • If the developer hits issues, suggest SLACK_CMD doctor to diagnose their setup.

© slackapi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/create-slack-app of slackapi/slack-skills-plugin.

Open the folder on GitHubat commit 64c3f33

Compare with similar skills

Create Slack App 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.

Create Slack App compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create Slack App this skillslackapi/slack-skills-plugin145—~3.1kAutomated safety check: PassMIT
Slack Bot Builderdavila7/claude-code-templates32k5 repos~2.2kAutomated safety check: PassMIT
Slack Bot Buildersickn33/agentic-awesome-skills47k2 repos~426Automated safety check: PassMIT
Cao Pluginawslabs/cli-agent-orchestrator1.4k—~3.1kAutomated safety check: NotesApache-2.0
Soul Interviewldbumble/taskuary137—~1.4kAutomated safety check: PassMIT
Taskuary Setupldbumble/taskuary137—~1.5kAutomated safety check: PassMIT

Similar skills

  • Slack Bot Builder

    davila7/claude-code-templates

    Build Slack apps using the Bolt framework across Python, JavaScript, and Java.

    32k GitHub starsUsed in 5 repos~2.2k tokens
    Agent WorkflowsAuto-check passed
  • Slack Bot Builder

    sickn33/agentic-awesome-skills

    Build Slack apps using the Bolt framework across Python, JavaScript, and Java.

    47k GitHub starsUsed in 2 repos~426 tokens
    Agent WorkflowsAuto-check passed
  • Cao Plugin

    awslabs/cli-agent-orchestrator

    Official

    Create a new CAO (CLI Agent Orchestrator) plugin. An agent skill from awslabs/cli-agent-orchestrator.

    1.4k GitHub stars~3.1k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Soul Interview

    ldbumble/taskuary

    Conduct a seven-question adaptive interview and turn the answers into Taskuary's SOUL.md.

    137 GitHub stars~1.4k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Taskuary Setup

    ldbumble/taskuary

    Walk the owner through setting Taskuary up - the AI brain, where work arrives, the operator documents, reports and workflows - by reading the install's real state and using the screens that already…

    137 GitHub stars~1.5k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Slack GIF Creator

    anthropics/skills

    Official

    Provides Slack size and frame limits, Python animation helpers and validators for building animated GIFs sized for emoji and messages.

    180k GitHub starsUsed in 29 repos~2k tokens
    Media & CreativeAuto-check passed

More from slackapi/slack-skills-plugin

  • Block Kit

    slackapi/slack-skills-plugin

    Official

    A skill your agent uses when a developer wants to build or validate Block Kit layouts for Slack messages, modals, or Home tabs: message layouts, modals/forms/dialogs, Home tab interfaces…

    145 GitHub stars~4.5k tokensUpdated today
    Auto-check passed
  • Slack API

    slackapi/slack-skills-plugin

    Official

    A skill your agent uses when a developer asks which Slack Web API method does something, needs a method's OAuth scopes or token type, wants to call or test a family.method endpoint…

    145 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Slack Docs

    slackapi/slack-skills-plugin

    Official

    A skill your agent uses when answering a conceptual or how-to question about Slack platform features, or when asked to look up, fetch, or summarize a docs.slack.dev page, including a pasted…

    145 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Slack Messaging

    slackapi/slack-skills-plugin

    Official

    A skill your agent uses when writing, drafting, scheduling, or improving a Slack message, announcement, or reply sent via the Slack MCP tools (slacksendmessage, slacksendmessagedraft…

    145 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Slack Search

    slackapi/slack-skills-plugin

    Official

    A skill your agent uses when locating messages, files, channels, or people across Slack, or gathering context before answering, with the search MCP tools (slacksearchpublic…

    145 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Test Slack App

    slackapi/slack-skills-plugin

    Official

    A skill your agent uses when a developer wants to test, try out, smoke-test, verify, or confirm that a Slack app built with the Slack CLI (or a plain Bolt app) actually works, by running it in a…

    145 GitHub stars~2.4k tokensUpdated today
    Auto-check: notes

Works with

Categories

Questions about Create Slack App

What does Create Slack App do?

A skill your agent uses when a developer wants to create, scaffold, or bootstrap a new Slack app or agent from scratch with the Slack CLI. Create Slack App is an agent skill from slackapi/slack-skills-plugin, published by the product's own GitHub organization. Use when a developer wants to create, scaffold, or bootstrap a new Slack app or agent from scratch with the Slack CLI.

When should I use Create Slack App?

Create Slack App fits situations like: A developer wants to create; bootstrap a new Slack app; agent from scratch with the Slack CLI; create a Slack app.

How do I install Create Slack App in Claude Code?

Run `npx skills add slackapi/slack-skills-plugin --skill create-slack-app -a claude-code`. Or copy the skill folder (skills/create-slack-app in slackapi/slack-skills-plugin) into .claude/skills/create-slack-app in your project. Claude Code loads it when a task matches its description.

How do I install Create Slack App in Codex?

Run `npx skills add slackapi/slack-skills-plugin --skill create-slack-app -a codex`. Or copy the skill folder (skills/create-slack-app in slackapi/slack-skills-plugin) into .agents/skills/create-slack-app in your project. Codex loads it when a task matches its description.

Can I use Create Slack App in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add slackapi/slack-skills-plugin --skill create-slack-app -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-slack-app, .gemini/skills/create-slack-app, .github/skills/create-slack-app and .opencode/skills/create-slack-app in your project.

What does Create Slack App need to run?

Going by SKILL.md and its folder, Create Slack App needs the command-line tools its instructions call (brew, node and python3) and credentials named ANTHROPIC_API_KEY and OPENAI_API_KEY. Our summary lists: Python 3; Node.js; A credential in ANTHROPIC_API_KEY; A credential in OPENAI_API_KEY.

Does Create Slack App access the network?

SKILL.md names 5 domains. As links in the text: api.slack.com, nodejs.org, python.org, slack.com and docs.slack.dev. This is read from the text; nothing was executed.

Is Create Slack App safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Create Slack App use?

Create Slack App is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Create Slack App use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Create Slack App?

Skills that share tags, products or a category with Create Slack App: Slack Bot Builder (davila7/claude-code-templates, 32k stars), Slack Bot Builder (sickn33/agentic-awesome-skills, 47k stars), Cao Plugin (awslabs/cli-agent-orchestrator, 1.4k stars) and Soul Interview (ldbumble/taskuary, 137 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Create Slack App?

slackapi (a GitHub organization, an official publisher) maintains it in slackapi/slack-skills-plugin, which has 145 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.

Source: slackapi/slack-skills-plugin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.