Official agent skill

Test Slack App

by slackapi in slackapi/slack-skills-plugin

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…

OfficialMITAuto-check: notesAgent Workflows

Install Test Slack App

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

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

GitHub CLI
$ gh skill install slackapi/slack-skills-plugin test-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/test-slack-app .claude/skills/test-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
test-slack-app
GitHub stars
145
Token cost
~2.4k tokens
SKILL.md length
1,387 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 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…

  • Works in 3 steps: Set Up a Safe Place to Test → Run the App → Try It Out in Slack and Confirm It Works
  • A developer wants to test
  • SKILL.md covers Step 1: Set Up a Safe Place to…, Step 2: Run the App, Step 3: Try It Out in Slack… and Notes
  • Calls npm and python

What it does

Test 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 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 developer sandbox or a Free Team, never a workspace with real users, with slack run and exercising its real slash commands, shortcuts, events, actions, modals, App Home, and assistant surfaces. Also covers slack doctor and slack manifest validate health checks before hands-on testing.

Its SKILL.md is about 2.4k 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 Agent Workflows, covering QA and bug reports and Hooks and plugins. It works with Slack. 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 test
  • Confirm that a Slack app built with the Slack CLI (or a plain Bolt app) actually works
  • By running it in a developer sandbox
  • Never a workspace with real users

Example prompts

  • “/test-slack-app”

Requirements

  • Python 3

Workflow steps

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

  1. Set Up a Safe Place to Test
  2. Run the App
  3. Try It Out in Slack and Confirm It Works

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:

    • npm
    • python

    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):

    • docs.slack.dev

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

  • Credentials

    Names no API keys, tokens, secrets or passwords.

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

Context cost

Test Slack App loads about 2.4k tokens when it runs. Until then it costs about 120 tokens; SKILL.md has 1,387 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:48
    EL_VAR> debug` stores it in the project `.env` that `slack run` reads; for a plain Bolt app, set it in the environment o
  • NoteMentions a .env fileSKILL.md:58
    app settings) in the environment or the `.env` file the app reads.

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,387 words, ~2,372 tokens.

Download SKILL.mdSave it as .claude/skills/test-slack-app/SKILL.md (or your agent's skills folder).
name
test-slack-app
description
Use 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 developer sandbox or a Free Team, never a workspace with real users, with `slack run` and exercising its real slash commands, shortcuts, events, actions, modals, App Home, and assistant surfaces. Also covers `slack doctor` and `slack manifest validate` health checks before hands-on testing.

Test Slack App

Help a developer confirm that a Slack app they already built actually works. This is the last step of the build loop, after the slack:create-slack-app skill scaffolds an app and the slack:slack-cli skill runs it.

The approach is simple and safe:

  1. Run the app in a developer sandbox or a Free Team: a sandbox for preference, or a Free Team the developer created for this. Never a workspace with real coworkers in it.
  2. Read the app's source to learn what it actually listens for.
  3. Hand the developer concrete steps to perform in Slack, then help them confirm the app responds.

This is guided manual checking, not an automated test suite: you drive the setup and tell the developer what to type or click, and they confirm what they see. It works best for apps managed by the Slack CLI; there is a best-effort path for plain Bolt apps in Step 2.


Step 1: Set Up a Safe Place to Test

1a. Detect the Slack CLI

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. Refer to the resolved command as SLACK_CMD throughout. If the CLI is not installed, guide the developer through that same step to install it, since running the app needs it.

1b. Make sure there is a safe workspace to test in

Testing belongs in a workspace nobody is working in: a developer sandbox for preference, or a Free Team the developer created for this. Never a workspace with real coworkers in it.

  • Explain it from the live docs, not from here. Use the slack:slack-docs skill to fetch and summarize https://docs.slack.dev/tools/developer-sandboxes.md, so the recommendation always reflects the current docs rather than a copy that drifts out of date. Tell the developer that Slack recommends a sandbox for building and testing apps.
  • Find the current target. Run SLACK_CMD auth list for the authenticated workspaces and their team IDs, and, from the project directory, SLACK_CMD app list for the apps already installed and their IDs.
  • Confirm the target is safe. The CLI cannot tell a sandbox, a Free Team, and a workspace full of real users apart, so ask the developer which one they are pointed at. A sandbox or a Free Team they created for this is fine. A workspace with coworkers in it is not: stop and get them onto one of the other two.
  • If there is no safe target yet, set one up with the slack:create-slack-app skill (Step 3: Choose Where to Install the App), which owns the ranked targets, the sandbox list / sandbox create flow, and the Developer Program links. Either path finishes in the browser, so have the developer come back here once the workspace exists and they have logged into it.
1c. Quick health check

Catch obvious setup problems with the CLI's own validation before the slower hands-on checks:

  • SLACK_CMD doctor: checks the CLI, language runtime, and authentication.
  • SLACK_CMD manifest validate: run from the project directory if the app has a manifest, to confirm the app configuration is well-formed.

Surface anything these flag before moving on.


Step 2: Run the App

Whichever path you use below, first turn the app's log level up to debug so you have the most context while testing. Prefer a way that leaves the developer's code untouched: read the logger setup to see whether it reads a log-level environment variable (some templates wire one such as SLACK_LOG_LEVEL or LOG_LEVEL). If it does, set that variable instead of editing source. For a CLI-managed app, SLACK_CMD env set <LOG_LEVEL_VAR> debug stores it in the project .env that slack run reads; for a plain Bolt app, set it in the environment or .env the app already reads. Only when the logger reads no such variable should you edit the source, finding where the log level is set and switching it to debug for this run.

Follow Step 6: Running an App Locally (slack run) in the slack:slack-cli skill to start the local dev server in the background. This also installs the app into the target workspace, which matters for a fresh sandbox or Free Team where nothing is installed yet. Once it is running, file changes auto-reload.

Plain Bolt apps without the CLI (best-effort)

If the app is a plain Bolt app started with node or python rather than the Slack CLI, this skill can still help, but the run path is best-effort and not the primary flow:

  • Point the app at the test workspace: set its bot and app-level tokens (from that workspace's app settings) in the environment or the .env file the app reads.
  • Prefer socket mode so the app needs no public URL. This works only if the app is coded for socket mode and the app-level token has connections:write; adding tokens to an app scaffolded for HTTP will not deliver events.
  • Start the app with its own command (for example npm start or python app.py) and watch its logs.

Say plainly that this path is best-effort, and that the smoothest experience comes from a CLI-managed app.


Show full SKILL.md (517 more words)Show less

Step 3: Try It Out in Slack and Confirm It Works

This is the heart of the skill. Do not hand the developer a generic checklist. Ground every step in what this app actually registers.

3a. Read the source to find what the app listens for

Read the app's listener code and list the interactions it registers. Depending on the framework these look like:

  • Slash commands: a registered command name such as /ship.
  • Shortcuts: global or message shortcuts with a callback ID.
  • Events: subscribed events such as app_mention, message, or reaction_added.
  • Actions: interactive components (buttons, selects) with an action ID.
  • View submissions: modal submit handlers (view_submission).
  • App Home: an app_home_opened handler or a published Home tab.
  • Assistant / agent: an assistant or assistant_thread_started handler, common in the agent templates.

Name the concrete identifiers you find (the actual command and callback names), not placeholders.

3b. Turn each into a "do this, expect that" step

For every registered interaction, give the developer a concrete step and what a working app should do in response. A few spots are non-obvious, so spell them out:

  • Slash command → type the command (for example /ship) in a channel or DM in the test workspace → expect the response the handler sends.
  • Global shortcut → open the shortcuts menu (the lightning-bolt or + button in the message composer, depending on your client) and pick it → expect the modal or message it opens.
  • Message shortcut → hover a message, open More actions (the ⋯ menu), pick the shortcut → expect its response.
  • Event such as app_mention → @-mention the app in a channel it belongs to → expect its reply.
  • Button or select → click the component in a message or modal the app posted → expect what the action handler does.
  • Modal submit (view_submission) → submit the modal → expect the confirmation or side effect.
  • App Home → click the app in the left sidebar to open its Home tab → expect the published view.
3c. Confirm and report

While the developer interacts, help them confirm it is working:

  • If the app runs under slack run, watch its logs (ask "show me the output from slack run") to confirm events arrive and to read any errors.
  • If a response looks wrong (a malformed message or Block Kit view, or an API error), use the slack:block-kit and slack:slack-api skills to dig into the payload or method.

Close with a short summary: what you and the developer confirmed working, and what they should eyeball themselves. Remember this is manual checking: you are helping the developer watch the app respond, not producing an automated pass or fail.


Notes

  • SLACK_CMD is a placeholder: always substitute the actual command name resolved in Step 1a.
  • Scope: this skill tests an app that already exists. To create or scaffold one, use the slack:create-slack-app skill; for raw CLI mechanics, use the slack:slack-cli skill; for message or Block Kit formatting, use the slack:slack-messaging and slack:block-kit skills.
  • Out of scope for now: automated test frameworks for Bolt, programmatically simulating user interactions, and driving the Slack UI with a browser. Today the developer performs the interactions; this skill makes sure they know exactly what to do and what to expect.

© 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/test-slack-app of slackapi/slack-skills-plugin.

Open the folder on GitHubat commit 64c3f33

Compare with similar skills

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

Test Slack App compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Test Slack App this skillslackapi/slack-skills-plugin145—~2.4kAutomated safety check: NotesMIT
Chat SDKdatabuddy-analytics/Databuddy1.2k—~2.6kAutomated safety check: PassAGPL-3.0
Slack Bot Builderdavila7/claude-code-templates32k5 repos~2.2kAutomated safety check: PassMIT
Slack Bot Buildersickn33/agentic-awesome-skills47k2 repos~426Automated safety check: PassMIT
Agent Browser CLIvercel-labs/agent-browser44k24 repos~864Automated safety check: PassApache-2.0
Codex Plugin QAcode-yeongyu/oh-my-openagent70k1 repos~1.9kAutomated safety check: PassCustom licence

Similar skills

  • Chat SDK

    databuddy-analytics/Databuddy

    Build multi-platform chat bots with Chat SDK (chat npm package).

    1.2k GitHub stars~2.6k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • 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
  • Agent Browser CLI

    vercel-labs/agent-browser

    Official

    Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…

    44k GitHub starsUsed in 24 repos~864 tokens
    Productivity & AutomationAuto-check passed
  • Codex Plugin QA

    code-yeongyu/oh-my-openagent

    Tests the omo Codex plugin in an isolated CODEX_HOME with a local mock model, proving hooks fired through app-server notifications without touching ~/.codex.

    70k GitHub starsUsed in 1 repo~1.9k tokens
    Testing & QAAuto-check passed
  • Investigate Incident

    Mentra-Community/MentraOS

    Investigate Mentra App bug reports and feedback from a reports Slack link or rep report ID.

    2.4k GitHub stars~1.1k tokensUpdated today
    Testing & QAAuto-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
  • Create Slack App

    slackapi/slack-skills-plugin

    Official

    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.

    145 GitHub stars~3.1k 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

Works with

Questions about Test Slack App

What does Test Slack App do?

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…. Test 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 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 developer sandbox or a Free Team, never a workspace with real users, with slack run and exercising its real slash commands, shortcuts, events, actions, modals, App Home, and assistant surfaces.

When should I use Test Slack App?

Test Slack App fits situations like: A developer wants to test; confirm that a Slack app built with the Slack CLI (or a plain Bolt app) actually works; by running it in a developer sandbox; never a workspace with real users.

How do I install Test Slack App in Claude Code?

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

How do I install Test Slack App in Codex?

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

Can I use Test 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 test-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/test-slack-app, .gemini/skills/test-slack-app, .github/skills/test-slack-app and .opencode/skills/test-slack-app in your project.

What does Test Slack App need to run?

Going by SKILL.md and its folder, Test Slack App needs the command-line tools its instructions call (npm and python). Our summary lists: Python 3.

Does Test Slack App access the network?

SKILL.md names 1 domain. As links in the text: docs.slack.dev. This is read from the text; nothing was executed.

Is Test Slack App safe to install?

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.

What licence does Test Slack App use?

Test 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 Test Slack App use?

About 2.4k tokens (SKILL.md is roughly 9.5k 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 Test Slack App?

Skills that share tags, products or a category with Test Slack App: Chat SDK (databuddy-analytics/Databuddy, 1.2k stars), Slack Bot Builder (davila7/claude-code-templates, 32k stars), Slack Bot Builder (sickn33/agentic-awesome-skills, 47k stars) and Agent Browser CLI (vercel-labs/agent-browser, 44k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Test 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.