Agent skill · operations · jeremylongshore

access

Manage Slack channel access control — pairing, allowlist, channel opt-in. Use when approving a pairing code, changing the DM policy, editing the user allowlist, or opting a channel in or out. Trigger with "/slack-channel:access", "pair my slack account", "add user to slack allowlist", or "opt in a slack channel".

Why this skill is useful

Adds specific commands and workflows for managing Slack channel access control that the AI wouldn't reliably generate on its own.

What it needs

Requires claude installed locally. About 4k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.

What this skill does

/slack-channel:access Overview Manage who can reach your Claude Code session through Slack. This skill is the terminal-side half of the access-control model: it approves pairing codes, sets the DM policy, maintains the user allowlist, and opts channels in or out with an interaction mode. Every subcommand reads and rewrites the single state file (access.json) atomically. Usage Prerequisites A completed install (/slack-channel:install) — the state directory ~/.claude/channels/slack/ must exist. State file: ~/.claude/channels/slack/access.json — every subcommand operates on this one file. It holds the DM policy, allowlist, channel opt-ins, and pending pairing codes, and must stay mode 0o600. For pair, the MCP server should be running so the confirmation message can be delivered back to the Slack user. Instructions Parse $ARGUMENTS and execute the matching subcommand: pair <code> 1. Load access.json 2. Find the pending entry matching <code> (case-insensitive) 3. If not found or expired: show "No pending pairing with that code." 4. If found: Add entry.senderId to allowFrom Remove the pending entry Save access.json with permissions 0o600 Show: Approved! User <senderId> can now DM this session. Send a confirmation message to the user in Slack (via the reply tool if the MCP server is running) policy <mode> 1. Validate mode is one of: pairing, allowlist, disabled 2. Update dmPolicy in access.json 3. Save with 0o600 4. Show the new policy and what it means: pairing: New DMs get a code to approve (default) allowlist: Only pre-approved users can DM disabled: No DMs accepted add <userid> 1. Add the Slack user ID to allowFrom (deduplicate) 2. Save with 0o600 3. Show confirmation remove <userid> 1. Remove from allowFrom 2. Also remove from any channel-level allowFrom lists 3. Save with 0o600 4. Show confirmation channel <channelid> [--ambient] [--allow <ids>] Opting a channel in chooses an interaction mode. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills jeremylongshore/access

View the source on GitHub

Browse the @skills marketplace