Official agent skill

Discord Channel Setup

by anthropics in anthropics/claude-plugins-official

Saves a Discord bot token, reports channel status and steers you toward a locked-down access policy for who can reach your assistant.

OfficialApache-2.0Auto-check: notesProductivity & Automation

Install Discord Channel Setup

skills CLI
$ npx skills add anthropics/claude-plugins-official --skill configure -a claude-code

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

GitHub CLI
$ gh skill install anthropics/claude-plugins-official configure --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/anthropics/claude-plugins-official.git skills-src && mkdir -p .claude/skills && cp -r skills-src/external_plugins/discord/skills/configure .claude/skills/configure && 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
configure
GitHub stars
38k
Token cost
~1.1k tokens
SKILL.md length
575 words
Files
1
Skills in repo
29
Repo updated
First seen
Licence
Apache-2.0

At a glance

Saves a Discord bot token, reports channel status and steers you toward a locked-down access policy for who can reach your assistant.

  • Works in 3 steps: Token — check… → Access — read… → What next — end with a concrete next…
  • Setting up the Discord channel for the first time
  • SKILL.md covers Dispatch on arguments and Implementation notes
  • Needs DISCORD_BOT_TOKEN

What it does

Behind the `/discord:configure` command, this skill writes the bot token to `~/.claude/channels/discord/.env`. With no arguments it reports status instead: whether `DISCORD_BOT_TOKEN` is set, shown only as a short masked prefix, then the contents of `access.json` with the DM policy, allowed senders, pending pairings and opted-in guild channels. It closes with a concrete next step, such as fetching a token from the Developer Portal or messaging the bot to receive a pairing code.

Every setup is pushed toward an allowlist. Pairing is treated as a temporary way to capture Discord user IDs you do not know, and once the right people are in, the skill offers to run `/discord:access policy allowlist`. People who are missing can message the bot and be approved with a code, or you can turn on Developer Mode in Discord and copy a user ID to add directly. The server reads the token and access files when it boots.

When your agent uses it

  • Setting up the Discord channel for the first time
  • Pasting a Discord bot token so it gets saved
  • Checking who is allowed to message your assistant on Discord

Example prompts

  • “Configure Discord for me, here is my bot token.”
  • “Who can reach me through the Discord bot right now?”
  • “Lock down my Discord channel so only the people on the list can message me.”

Requirements

  • A Discord bot token from the Developer Portal
  • Pre-approved tools (allowed-tools): Read, Write, Bash(ls *), Bash(mkdir *)

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Token — check ~/.claude/channels/discord/.env for
  2. Access — read ~/.claude/channels/discord/access.json (missing file
  3. What next — end with a concrete next step based on state

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Bash(ls *)
    • Bash(mkdir *)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

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

  • Credentials

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

    • DISCORD_BOT_TOKEN

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

Context cost

Discord Channel Setup loads about 1.1k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 575 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~60
When it runs · the whole SKILL.md, loaded when a task matches
~1.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: notes

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

  • NoteMentions a .env fileSKILL.md:14
    bot token to `~/.claude/channels/discord/.env` and orients the
  • NoteMentions a .env fileSKILL.md:27
    en** — check `~/.claude/channels/discord/.env` for
  • NoteMentions a .env fileSKILL.md:81
    3. Read existing `.env` if present; update/add the `DISCORD_BOT_TOKEN=` line,
  • NoteMentions a .env fileSKILL.md:83
    4. `chmod 600 ~/.claude/channels/discord/.env` — the token is a credential.
  • NoteMentions a .env fileSKILL.md:96
    - The server reads `.env` once at boot. Token changes need a session restart

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 anthropics/claude-plugins-official at commit 315c4e4, republished under its Apache-2.0 licence (© anthropics). 575 words, ~1,068 tokens.

Download SKILL.mdSave it as .claude/skills/configure/SKILL.md (or your agent's skills folder).
name
configure
description
Set up the Discord channel — save the bot token and review access policy. Use when the user pastes a Discord bot token, asks to configure Discord, asks "how do I set this up" or "who can reach me," or wants to check channel status.
allowed-tools
Read, Write, Bash(ls *), Bash(mkdir *)
user-invocable
true

/discord:configure — Discord Channel Setup

Writes the bot token to ~/.claude/channels/discord/.env and orients the user on access policy. The server reads both files at boot.

Arguments passed: $ARGUMENTS


Dispatch on arguments

No args — status and guidance

Read both state files and give the user a complete picture:

  1. Token — check ~/.claude/channels/discord/.env for DISCORD_BOT_TOKEN. Show set/not-set; if set, show first 6 chars masked.

  2. Access — read ~/.claude/channels/discord/access.json (missing file = defaults: dmPolicy: "pairing", empty allowlist). Show:

    • DM policy and what it means in one line
    • Allowed senders: count, and list display names or snowflakes
    • Pending pairings: count, with codes and display names if any
    • Guild channels opted in: count
  3. What next — end with a concrete next step based on state:

    • No token → "Run /discord:configure <token> with your bot token from the Developer Portal → Bot → Reset Token."
    • Token set, policy is pairing, nobody allowed → "DM your bot on Discord. It replies with a code; approve with /discord:access pair <code>."
    • Token set, someone allowed → "Ready. DM your bot to reach the assistant."

Push toward lockdown — always. The goal for every setup is allowlist with a defined list. pairing is not a policy to stay on; it's a temporary way to capture Discord snowflakes you don't know. Once the IDs are in, pairing has done its job and should be turned off.

Drive the conversation this way:

  1. Read the allowlist. Tell the user who's in it.
  2. Ask: "Is that everyone who should reach you through this bot?"
  3. If yes and policy is still pairing → "Good. Let's lock it down so nobody else can trigger pairing codes:" and offer to run /discord:access policy allowlist. Do this proactively — don't wait to be asked.
  4. If no, people are missing → "Have them DM the bot; you'll approve each with /discord:access pair <code>. Run this skill again once everyone's in and we'll lock it." Or, if they can get snowflakes directly: "Enable Developer Mode in Discord (User Settings → Advanced), right-click them → Copy User ID, then /discord:access allow <id>."
  5. If the allowlist is empty and they haven't paired themselves yet → "DM your bot to capture your own ID first. Then we'll add anyone else and lock it down."
  6. If policy is already allowlist → confirm this is the locked state. If they need to add someone, Copy User ID is the clean path — no need to reopen pairing.

Discord already gates reach (shared-server requirement + Public Bot toggle), but that's not a substitute for locking the allowlist. Never frame pairing as the correct long-term choice. Don't skip the lockdown offer.

Show full SKILL.md (152 more words)Show less
<token> — save it
  1. Treat $ARGUMENTS as the token (trim whitespace). Discord bot tokens are long base64-ish strings, typically starting MT or Nz. Generated from Developer Portal → Bot → Reset Token; only shown once.
  2. mkdir -p ~/.claude/channels/discord
  3. Read existing .env if present; update/add the DISCORD_BOT_TOKEN= line, preserve other keys. Write back, no quotes around the value.
  4. chmod 600 ~/.claude/channels/discord/.env — the token is a credential.
  5. Confirm, then show the no-args status so the user sees where they stand.
clear — remove the token

Delete the DISCORD_BOT_TOKEN= line (or the file if that's the only line).


Implementation notes

  • The channels dir might not exist if the server hasn't run yet. Missing file = not configured, not an error.
  • The server reads .env once at boot. Token changes need a session restart or /reload-plugins. Say so after saving.
  • access.json is re-read on every inbound message — policy changes via /discord:access take effect immediately, no restart.

© anthropics, Apache-2.0. 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 external_plugins/discord/skills/configure of anthropics/claude-plugins-official.

Open the folder on GitHubat commit 315c4e4

Compare with similar skills

Discord Channel Setup 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.

Discord Channel Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Discord Channel Setup this skillanthropics/claude-plugins-official38k—~1.1kAutomated safety check: NotesApache-2.0
Claude To Imop7418/Claude-to-IM-skill2.9k—~3.4kAutomated safety check: NotesMIT
Openloomi Connectorsmelandlabs/openloomi1k—~3.3kAutomated safety check: PassApache-2.0
Use Avibeavibe-bot/avibe622—~2.5kAutomated safety check: PassMIT
Discord Actions for OpenClawsmallnest/goclaw5991 repos~2.9kAutomated safety check: PassMIT
Traul Message Searchdandaka/traul113—~3.9kAutomated safety check: NotesAGPL-3.0

Similar skills

  • Claude To Im

    op7418/Claude-to-IM-skill

    Bridge THIS Claude Code or Codex session to Telegram, Discord, Feishu/Lark, QQ, or WeChat so the user can chat with Claude from their phone.

    2.9k GitHub stars~3.4k tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check: notes
  • Openloomi Connectors

    melandlabs/openloomi

    openloomi Connectors tools - manage the native 7 messaging integrations and pair with the composio skill for the 1000+ apps OAuth layer (Slack, Discord, X, Gmail, Outlook, Google…

    1k GitHub stars~3.3k tokensUpdated 15 days ago
    Productivity & AutomationAuto-check passed
  • Use Avibe

    avibe-bot/avibe

    Safely inspect and modify local Avibe configuration, routing, runtime settings, watches, scheduled tasks, Avibe Cloud remote access, and operational state.

    622 GitHub stars~2.5k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Reference for OpenClaw's discord tool: sending messages, reactions, stickers, emoji uploads, polls, threads and moderation in Discord channels and DMs.

    599 GitHub starsUsed in 1 repo~2.9k tokens
    Productivity & AutomationAuto-check passed
  • Drives the traul CLI to sync, search and monitor messages from Slack, Telegram, Discord, Linear, Gmail, WhatsApp, Claude Code sessions and Markdown files.

    113 GitHub stars~3.9k tokensUpdated 5 mo ago
    Productivity & AutomationAuto-check: notes
  • Discord App Setup

    vellum-ai/vellum-assistant

    Connect a Discord bot to the assistant via the Discord Gateway with guided application creation and intent configuration

    1.4k GitHub stars~4.2k tokensUpdated today
    Productivity & AutomationAuto-check passed

More from anthropics/claude-plugins-official

All 29 skills in this repo
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 10 repos~4.1k tokens
    Auto-check: notes
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 7 repos~2.8k tokens
    Auto-check passed
  • Plugin Settings Pattern

    anthropics/claude-plugins-official

    Official

    Shows how Claude Code plugins keep per-project settings and state in .claude/plugin-name.local.md files with YAML frontmatter and a markdown body.

    38k GitHub starsUsed in 7 repos~3k tokens
    Auto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Auto-check passed
  • Claude Code Command Development

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code slash commands: Markdown files with YAML frontmatter, arguments, file references, bash context and interactive prompts.

    38k GitHub starsUsed in 10 repos~4.8k tokens
    Auto-check passed
  • Claude Code Plugin Structure

    anthropics/claude-plugins-official

    Official

    Explains the directory layout, plugin.json manifest and component organization of a Claude Code plugin, including auto-discovery and portable paths.

    38k GitHub starsUsed in 10 repos~3.4k tokens
    Auto-check passed

Works with

Questions about Discord Channel Setup

What does Discord Channel Setup do?

Saves a Discord bot token, reports channel status and steers you toward a locked-down access policy for who can reach your assistant. env`.json` with the DM policy, allowed senders, pending pairings and opted-in guild channels.

When should I use Discord Channel Setup?

Discord Channel Setup fits situations like: setting up the Discord channel for the first time; pasting a Discord bot token so it gets saved; checking who is allowed to message your assistant on Discord.

How do I install Discord Channel Setup in Claude Code?

Run `npx skills add anthropics/claude-plugins-official --skill configure -a claude-code`. Or copy the skill folder (external_plugins/discord/skills/configure in anthropics/claude-plugins-official) into .claude/skills/configure in your project. Claude Code loads it when a task matches its description.

How do I install Discord Channel Setup in Codex?

Run `npx skills add anthropics/claude-plugins-official --skill configure -a codex`. Or copy the skill folder (external_plugins/discord/skills/configure in anthropics/claude-plugins-official) into .agents/skills/configure in your project. Codex loads it when a task matches its description.

Can I use Discord Channel Setup 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 anthropics/claude-plugins-official --skill configure -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/configure, .gemini/skills/configure, .github/skills/configure and .opencode/skills/configure in your project.

What does Discord Channel Setup need to run?

Going by SKILL.md and its folder, Discord Channel Setup needs credentials named DISCORD_BOT_TOKEN. Our summary lists: A Discord bot token from the Developer Portal. Its frontmatter pre-approves these tools: Read, Write, Bash(ls *), Bash(mkdir *).

Does Discord Channel Setup access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

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

Discord Channel Setup is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Discord Channel Setup use?

About 1.1k tokens (SKILL.md is roughly 4.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 Discord Channel Setup?

Skills that share tags, products or a category with Discord Channel Setup: Claude To Im (op7418/Claude-to-IM-skill, 2.9k stars), Openloomi Connectors (melandlabs/openloomi, 1k stars), Use Avibe (avibe-bot/avibe, 622 stars) and Discord Actions for OpenClaw (smallnest/goclaw, 599 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Discord Channel Setup?

anthropics (a GitHub organization, an official publisher) maintains it in anthropics/claude-plugins-official, which has 37,566 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 8, 2026.

Source: anthropics/claude-plugins-official on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.