configure
Skill43 starsChanged 7 months agoApache-2.0View on GitHub
Configure Slack channel tokens (bot token + app-level token). Use when writing or rotating the Slack bot and app-level tokens for the slack-channel plugin. Trigger with "/slack-channel:configure", "configure slack tokens", or "set up my slack bot token".
- Reads credentials
43 other projects use a version of this.
Adopted by
Most recently taken up by
- jskswamy/skillstheir own version, first seen Nov 8, 2026
- btrazzini/hippOStheir own version, first seen Nov 8, 2026
- CodesWhat/careerrattheir own version, first seen Nov 3, 2026
- Totes-MickGOATs/opus-pocustheir own version, first seen Nov 1, 2026
- Edmonds-Commerce-Limited/claude-code-hooks-daemontheir own version, first seen Oct 28, 2026
- talal-ai/handoff-nowtheir own version, first seen Oct 20, 2026
Used with
Projects with it also use calendar, setup and 2 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
jacobraskSkillcalendar
Interact with Apple Calendar via AppleScript. Use when the user asks to check calendar, view events, create events, manage schedule, find free time, or list calendars. Triggers include "my calendar", "my schedule", "calendar events", "create event", "add to calendar", "what's on my calendar", "free time", "available slots", "upcoming events", "today's events". Requires macOS with Calendar.app.
Also in 3 projects that use this
VercelSkillsetup
Set up Vercel CLI and project configuration. Use when the user says "set up Vercel", "configure Vercel", "link to Vercel", or "vercel init".
Also in 7 projects that use this
AnthropicSkillstatus
Case status summary by audience — client-facing (plain language), internal (for the professor), or court-ready (formal caption format per local rules). Same facts, different framing and depth. Use when a student needs to update the client, brief the professor, or prepare a court status report.
Also in 3 projects that use this
Microsoft AzureSkillbuild
Build the TypeSpec Rust emitter from source. Run this after cloning the repo, after pulling changes, or when TypeScript source files have been modified.
Also in 3 projects that use this
Other versions43 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 43
- anthropics/claude-plugins-official★ 46ksame name
- bitwize-music-studio/claude-ai-music-skills★ 589same name
- m1heng/claude-plugin-weixin★ 564same name
- fw-ai/cookbook★ 241same name
- k1p1l0/claude-telegram-supercharged★ 144same name
- Rich627/whatsapp-claude-plugin★ 114same name
- paceaitian/cc-wechat★ 68same name
- atomicinnovation/accelerator★ 34same name
- spotify/ads-agentic-tools★ 20same name
- metalchef1/Claude-Connect-Matrix-Integration★ 19same name
33 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 3 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 43 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 53
Read references/official-auth.md when creating, rotating, revoking, or diagnosing either token type.
- Distinctive: line 62
If either token is missing or has the wrong prefix, show this error and stop:
- Distinctive: line 72
Create the state directory if it doesn't exist, then make the directory owner-only before writing any secret-bearing file:
- Very specific: line 90
Write this complete content to ~/.claude/channels/slack/.env.tmp:
- Distinctive: line 161
Never echo the tokens back in the confirmation message
- Very specific: line 162
Never log tokens to stdout or any file other than .env
- Very specific: line 164
Always set 0600 on the candidate before atomically moving it into place
“Common” is measured: kept by at least 6 in 10 of the 43 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/slack-channel:configure
Overview
Configure the Slack channel with its bot and app-level tokens. This is the only
token-writing path: validate prefixes, write .env with owner-only
permissions, never echo secrets, and return control to the install walkthrough.
Prerequisites
- A Slack app already created (via
/slack-channel:installStep 1 or manually at api.slack.com/apps) with:- the Bot User OAuth Token (
xoxb-...) from OAuth & Permissions, and - the App-Level Token (
xapp-..., scopeconnections:write) from Socket Mode settings.
- the Bot User OAuth Token (
- A writable home directory — state lives at
~/.claude/channels/slack/.
Usage
Pass both tokens as arguments, bot token first. Obtain them directly from the Slack app dashboard and avoid shell history or shared transcripts:
/slack-channel:configure <xoxb-bot-token> <xapp-app-token>Authentication
- The
xoxb-Bot User OAuth Token represents the installed bot and authorizes Web API calls within its granted bot scopes. - The
xapp-app-level token represents the Slack app and requiresconnections:writeto open the Socket Mode WebSocket. - Prefix checks establish token type, not validity.
install doctorverifies liveness against Slack without printing the credential. - Store tokens only in
~/.claude/channels/slack/.env; never commit them or include them in output, logs, screenshots, or issue reports.
Read references/official-auth.md when creating,
rotating, revoking, or diagnosing either token type.
Instructions
- Parse the two arguments from
$ARGUMENTS:- First token must start with
xoxb-(Bot User OAuth Token) - Second token must start with
xapp-(App-Level Token)
- First token must start with
If either token is missing or has the wrong prefix, show this error and stop:
Error: Two tokens required. - Bot token (starts with xoxb-) from OAuth & Permissions - App token (starts with xapp-) from Socket Mode settings Usage: /slack-channel:configure xoxb-... xapp-...Create the state directory if it doesn't exist, then make the directory owner-only before writing any secret-bearing file:
mkdir -p ~/.claude/channels/slack # 0700 = owner may read/write/traverse; no group or other access chmod 700 ~/.claude/channels/slackPre-create the fixed candidate path with owner-only permissions, then use
Writeto replace its complete contents. This makes the file0600from the instant it exists, independent of the process umask:# 0600 = owner read/write; no group or other access install -m 600 /dev/null ~/.claude/channels/slack/.env.tmpWrite this complete content to
~/.claude/channels/slack/.env.tmp:SLACK_BOT_TOKEN=<bot-token> SLACK_APP_TOKEN=<app-token>Set the candidate file to owner-only, then atomically replace
.env. IfWrite,chmod, ormvfails before replacement, remove only the exact candidate path~/.claude/channels/slack/.env.tmp; leave the prior.envuntouched.# 0600 = owner read/write; no group or other access chmod 600 ~/.claude/channels/slack/.env.tmp mv ~/.claude/channels/slack/.env.tmp ~/.claude/channels/slack/.env- Confirm success:
Slack channel configured. Start Claude with the Slack channel: claude --channels plugin:slack-channel@claude-code-plugins Or for development: claude --dangerously-load-development-channels server:slack Next: opt in a channel and pick its interaction mode with /slack-channel:access channel <id> (defaults to mention-to-engage; pass --ambient for a dedicated bot channel). See ACCESS.md "Interaction modes".
Output
- On success:
~/.claude/channels/slack/.envatomically replaced with both tokens and mode0600, plus the confirmation block above (server start command and the pointer to channel opt-in). Tokens are never echoed. - On failure: the two-token usage error from step 2 and no file changes.
Error Handling
- Missing token or wrong prefix — show the step-2 error block and stop;
nothing is written. Bot tokens must start with
xoxb-, app tokens withxapp-. - Tokens swapped — the prefix check catches it; re-run with the bot token first.
- Existing
.env— re-running atomically replaces it; this is the supported token-rotation path (rotation happens at api.slack.com/apps). - Write, permission, or move failure — remove only the fixed candidate
~/.claude/channels/slack/.env.tmp, leave the previous.envintact, and report only the failed stage without printing values. - Revoked/invalid tokens — this skill only validates prefixes, not
liveness. If the server later fails auth, run
/slack-channel:install doctor(checks 4–5 test both tokens live against the Slack API).
Examples
Both flows are the same command — the second run simply overwrites .env:
# First-time setup (illustrative placeholders, not live credentials)
/slack-channel:configure xoxb-WORKSPACE-EXAMPLE xapp-APP-EXAMPLE
# Rotation after regenerating tokens in the Slack UI — same command, overwrites .env
/slack-channel:configure xoxb-NEW-TOKEN xapp-NEW-TOKENSecurity
- Never echo the tokens back in the confirmation message
- Never log tokens to stdout or any file other than
.env - Secure the state directory as
0700before writing the candidate - Always set
0600on the candidate before atomically moving it into place
Safety justification
rm is permitted only to clean the single fixed candidate path
~/.claude/channels/slack/.env.tmp after a failed rotation. Never pass a
variable, glob, directory, recursive flag, or any other path to rm; never
remove the previous .env.
Resources
skills/install/SKILL.md— the full install lifecycle that delegates to this skill (Step 3) and the doctor that verifies token livenessskills/access/SKILL.md— the next step after configuring: channel opt-in and pairingACCESS.md— interaction modes referenced in the confirmation messageREADME.md— quick start, including Node.js and Docker server alternatives
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

