Agent skill

Setup Slack

by ai-analyst-lab in ai-analyst-lab/ai-analyst

Connect a user's own AI Analyst Lab Slack identity through browser OAuth, store the personal user token locally, verify the workspace and target channel, and prepare one previewed Web API post.

MITAuto-check: notesBackend & APIs

Install Setup Slack

skills CLI
$ npx skills add ai-analyst-lab/ai-analyst --skill setup-slack -a claude-code

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

GitHub CLI
$ gh skill install ai-analyst-lab/ai-analyst setup-slack --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/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/setup-slack .claude/skills/setup-slack && 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
setup-slack
GitHub stars
304
Token cost
~829 tokens
SKILL.md length
395 words
Files
1
Skills in repo
43
Repo updated
First seen
Licence
MIT

At a glance

Connect a user's own AI Analyst Lab Slack identity through browser OAuth, store the personal user token locally, verify the workspace and target channel, and prepare one previewed Web API post.

  • Works in 6 steps: Prepare the local environment file → Open browser authorization → Verify the account and workspace → …
  • The user asks to connect Slack
  • SKILL.md covers Purpose, Course connection, Instructions and Rules
  • Reaches slack-auth.shane-aea.workers.dev; needs SLACK_USER_TOKEN

What it does

Setup Slack is an agent skill from ai-analyst-lab/ai-analyst. Connect a user's own AI Analyst Lab Slack identity through browser OAuth, store the personal user token locally, verify the workspace and target channel, and prepare one previewed Web API post. Use when the user asks to connect Slack, set up Slack, post to show-and-tell, or diagnose Slack.

Its SKILL.md is about 830 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, covering OAuth and OpenID Connect. It works with Slack. The repository describes itself as: AI Product Analyst — Claude Code-powered data analysis toolkit. The licence is MIT.

When your agent uses it

  • The user asks to connect Slack
  • Post to show-and-tell

Example prompts

  • “/setup-slack”

Requirements

  • Python 3
  • A credential in SLACK_USER_TOKEN

Workflow steps

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

  1. Prepare the local environment file
  2. Open browser authorization
  3. Verify the account and workspace
  4. Verify the destination
  5. Preview before any post
  6. Post once and retain the link

What it can do on your machine

Read from SKILL.md and the folder at commit 52c0744. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are dotenv).

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • slack-auth.shane-aea.workers.dev

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

  • Credentials

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

    • SLACK_USER_TOKEN

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

Context cost

Setup Slack loads about 829 tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 395 words of instructions outside code blocks.

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

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:30
    Confirm `.env` is ignored by Git. Preserve every existing variable. Add these non-secret values and
  • NoteMentions a .env fileSKILL.md:52
    t directly after `SLACK_USER_TOKEN=` in `.env`, then save the file. The token must never go

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 ai-analyst-lab/ai-analyst at commit 52c0744, republished under its MIT licence (© ai-analyst-lab). 395 words, ~829 tokens.

Download SKILL.mdSave it as .claude/skills/setup-slack/SKILL.md (or your agent's skills folder).
name
setup-slack
description
Connect a user's own AI Analyst Lab Slack identity through browser OAuth, store the personal user token locally, verify the workspace and target channel, and prepare one previewed Web API post. Use when the user asks to connect Slack, set up Slack, post to show-and-tell, or diagnose Slack.

Setup Slack

Purpose

Connect the user's own Slack account to the AI Analyst Lab workspace. Use Slack's browser OAuth flow for authorization and the repository's direct Web API helper for verification and posting. Do not configure or search for a Slack MCP server.

Course connection

  • Authorization page: https://slack-auth.shane-aea.workers.dev
  • Expected workspace: AI Analyst Lab
  • Expected workspace id: T0ACPJ21WRG
  • Expected public channel: show-and-tell
  • Expected channel id: C0ACN1QM0RL
  • Personal token environment variable: SLACK_USER_TOKEN

Instructions

1. Prepare the local environment file

Confirm .env is ignored by Git. Preserve every existing variable. Add these non-secret values and an empty token line if they are not already present:

dotenv
SLACK_USER_TOKEN=
SLACK_WORKSPACE_NAME=AI Analyst Lab
SLACK_WORKSPACE_ID=T0ACPJ21WRG
SLACK_CHANNEL_NAME=show-and-tell
SLACK_CHANNEL_ID=C0ACN1QM0RL

Do not ask the user to paste the token into chat. Do not read, echo, or print its value.

2. Open browser authorization

Open the authorization page in the user's default browser. Tell the user to confirm that Slack shows the AI Analyst Lab workspace and asks for only these permissions:

  • send messages as the user;
  • view basic information about public channels.

Slack creates a personal token beginning with xoxp-. The user must copy it from the browser and paste it directly after SLACK_USER_TOKEN= in .env, then save the file. The token must never go into the conversation, a screenshot, a commit, or a saved report. Claude Code does not need to be restarted.

3. Verify the account and workspace

Run:

text
python scripts/slack_web_api.py verify

Show the non-secret workspace and user information. Stop if the workspace id is not T0ACPJ21WRG.

Show full SKILL.md (157 more words)Show less
4. Verify the destination

Run:

text
python scripts/slack_web_api.py resolve --channel-name show-and-tell

Stop if the resolved channel id is not C0ACN1QM0RL.

5. Preview before any post

Write the proposed message to a temporary file under working/. Run the helper's preview command and show the user the exact message, workspace, and destination. Do not post until the user explicitly approves that preview.

6. Post once and retain the link

After approval, run:

text
python scripts/slack_web_api.py post --message-file working/slack-message.txt --send

Return the response timestamp and permalink. Ask the user to open Slack and confirm that the message appears once under their own name.

Rules

  1. Use the user's personal xoxp- token, never a shared bot token.
  2. Never print, inspect, summarize, or transmit the token.
  3. Verify the workspace before resolving or writing to a channel.
  4. Verify the exact channel id before writing.
  5. Preview the exact message and require approval before the write.
  6. Never retry an uncertain write. Inspect Slack first.
  7. Do not configure Slack MCP for this path.

© ai-analyst-lab, 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 .claude/skills/setup-slack of ai-analyst-lab/ai-analyst.

Open the folder on GitHubat commit 52c0744

Compare with similar skills

Setup Slack 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.

Setup Slack compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Setup Slack this skillai-analyst-lab/ai-analyst304—~829Automated safety check: NotesMIT
Socialite Developmenthexlet-volunteers/hexlet-sicp1145 repos~1.2kAutomated safety check: PassMIT
Add Channel Connect Buttonnovuhq/novu40k—~1.6kAutomated safety check: PassCustom licence
Add OAuth Integrationrome-os/rome725—~3.6kAutomated safety check: PassMIT
Slack APIslackapi/slack-skills-plugin145—~3.3kAutomated safety check: PassMIT
Slack Draftsyc-software/qm15k—~657Automated safety check: PassMIT

Similar skills

  • Socialite Development

    hexlet-volunteers/hexlet-sicp

    Manages OAuth social authentication with Laravel Socialite. An agent skill from hexlet-volunteers/hexlet-sicp.

    114 GitHub starsUsed in 5 repos~1.2k tokens
    Backend & APIsAuto-check passed
  • Build a new channel Connect button (e.g. An agent skill from novuhq/novu.

    40k GitHub stars~1.6k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Add a new Rome-managed OAuth integration for a third-party service so a user can delegate access by clicking Connect, and Rome can act on the service with the delegated token (the GitHub/Slack model…

    725 GitHub stars~3.6k tokensUpdated today
    Backend & APIsAuto-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 yesterday
    Backend & APIsAuto-check passed
  • Slack Drafts

    yc-software/qm

    Create Slack message drafts in the user's own composer, as the user, through their per-user Slack OAuth.

    15k GitHub stars~657 tokensUpdated today
    Backend & APIsAuto-check passed
  • Validate a Rome-managed OAuth integration end-to-end — prove a user can click Connect and Rome ends up holding a delegated token it can use to call the provider's API.

    725 GitHub stars~2k tokensUpdated today
    Backend & APIsAuto-check: notes

More from ai-analyst-lab/ai-analyst

All 43 skills in this repo
  • Always Compare

    ai-analyst-lab/ai-analyst

    Never present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available.

    304 GitHub stars~1.4k tokensUpdated 8 days ago
    Auto-check passed
  • Archaeology

    ai-analyst-lab/ai-analyst

    Retrieve proven SQL patterns, table cheatsheets, and join patterns from .knowledge/query-archaeology/ so past work gets reused.

    304 GitHub stars~1.3k tokensUpdated 8 days ago
    Auto-check passed
  • Archive Analysis

    ai-analyst-lab/ai-analyst

    Save completed analyses to the knowledge system's analysis archive for future reference.

    304 GitHub stars~2.7k tokensUpdated 8 days ago
    Auto-check passed
  • Auth Preflight

    ai-analyst-lab/ai-analyst

    Verify Google Workspace MCP authentication at the start of any session that needs Google APIs (Docs, Slides, Drive).

    304 GitHub stars~3.1k tokensUpdated 8 days ago
    Auto-check passed
  • Causal

    ai-analyst-lab/ai-analyst

    Causal inference toolkit for when experiments are not possible: estimate treatment effects from observational data with assumption checks and mandatory caveats.

    304 GitHub stars~1.8k tokensUpdated 8 days ago
    Auto-check passed
  • Chart To Drive

    ai-analyst-lab/ai-analyst

    Standardized workflow for uploading local chart PNGs to Google Drive and making them available for insertion into Google Docs and Slides.

    304 GitHub stars~1.4k tokensUpdated 8 days ago
    Auto-check passed

Works with

Categories

Questions about Setup Slack

What does Setup Slack do?

Connect a user's own AI Analyst Lab Slack identity through browser OAuth, store the personal user token locally, verify the workspace and target channel, and prepare one previewed Web API post. Setup Slack is an agent skill from ai-analyst-lab/ai-analyst. Connect a user's own AI Analyst Lab Slack identity through browser OAuth, store the personal user token locally, verify the workspace and target channel, and prepare one previewed Web API post.

When should I use Setup Slack?

Setup Slack fits situations like: the user asks to connect Slack; post to show-and-tell.

How do I install Setup Slack in Claude Code?

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

How do I install Setup Slack in Codex?

Run `npx skills add ai-analyst-lab/ai-analyst --skill setup-slack -a codex`. Or copy the skill folder (.claude/skills/setup-slack in ai-analyst-lab/ai-analyst) into .agents/skills/setup-slack in your project. Codex loads it when a task matches its description.

Can I use Setup Slack 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 ai-analyst-lab/ai-analyst --skill setup-slack -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/setup-slack, .gemini/skills/setup-slack, .github/skills/setup-slack and .opencode/skills/setup-slack in your project.

What does Setup Slack need to run?

Going by SKILL.md and its folder, Setup Slack needs credentials named SLACK_USER_TOKEN. Our summary lists: Python 3; A credential in SLACK_USER_TOKEN.

Does Setup Slack access the network?

SKILL.md names 1 domain. In commands or code: slack-auth.shane-aea.workers.dev; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Setup Slack 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 Setup Slack use?

Setup Slack 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 Setup Slack use?

About 829 tokens (SKILL.md is roughly 3.3k 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 Setup Slack?

Skills that share tags, products or a category with Setup Slack: Socialite Development (hexlet-volunteers/hexlet-sicp, 114 stars), Add Channel Connect Button (novuhq/novu, 40k stars), Add OAuth Integration (rome-os/rome, 725 stars) and Slack API (slackapi/slack-skills-plugin, 145 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Setup Slack?

ai-analyst-lab (a GitHub organization) maintains it in ai-analyst-lab/ai-analyst, which has 304 GitHub stars. The repository holds 43 skills in this directory. The repository was last updated on September 30, 2026.

Source: ai-analyst-lab/ai-analyst on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.