Agent skill

Discord Client

by z80dev in z80dev/lemon

Interact with Discord via a bot: read channels, send messages, list guilds/channels, upload files, manage threads.

MITAuto-check: notesBackend & APIs

Install Discord Client

skills CLI
$ npx skills add z80dev/lemon --skill discord-client -a claude-code

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

GitHub CLI
$ gh skill install z80dev/lemon discord-client --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/z80dev/lemon.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/discord-client .claude/skills/discord-client && 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
discord-client
GitHub stars
131
Token cost
~771 tokens
SKILL.md length
315 words
Files
2
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

Interact with Discord via a bot: read channels, send messages, list guilds/channels, upload files, manage threads.

  • Works in 3 steps: Discover: Run guilds to find the guild… → Read: Run read to see recent messages.… → Act: Use send, reply, edit, delete,…
  • Tasks that involve REST APIs
  • SKILL.md covers Quick Reference, Workflow, Token and Notes, plus 1 more section
  • Runs Python scripts from its folder; calls uv

What it does

Discord Client is an agent skill from z80dev/lemon. Interact with Discord via a bot: read channels, send messages, list guilds/channels, upload files, manage threads. Uses the Discord REST API with a bot token stored in ~/.zeebot/apikeys/discord.txt.

Its SKILL.md is about 770 tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `discord_api.py`).

It sits in Backend & APIs, covering REST APIs. It works with Discord. The repository describes itself as: BEAM-native platform for LLM agents: OTP-supervised per-run processes, pluggable engines and channels, contract-tested extension points, and a deterministic multi-agent sim arena. The licence is MIT.

When your agent uses it

  • Tasks that involve REST APIs

Example prompts

  • “/discord-client”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Grep, Bash, Glob, Write

Workflow steps

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

  1. Discover: Run guilds to find the guild ID, then channels to find channel IDs.
  2. Read: Run read to see recent messages. Use --limit, --before, --after to paginate.
  3. Act: Use send, reply, edit, delete, react, upload as needed.

What it can do on your machine

Read from SKILL.md and the folder at commit 899e215. 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
    • Grep
    • Bash
    • Glob
    • Write

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • uv

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

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

    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

Discord Client loads about 771 tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 315 words of instructions outside code blocks.

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

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.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Grep, Bash, Glob, Write

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 z80dev/lemon at commit 899e215, republished under its MIT licence (© z80dev). 315 words, ~771 tokens.

Download SKILL.mdSave it as .claude/skills/discord-client/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
discord-client
description
Interact with Discord via a bot: read channels, send messages, list guilds/channels, upload files, manage threads. Uses the Discord REST API with a bot token stored in ~/.zeebot/api_keys/discord.txt.
allowed-tools
Read, Grep, Bash, Glob, Write
disable-model-invocation
true
argument-hint
[action, e.g. 'read messages in #general' or 'send hello to channel 123']

Discord Client

Use this skill to interact with Discord via the bot account.

Quick Reference

All commands use the helper script at /Users/z80/dev/lemon/.claude/skills/discord-client/discord_api.py. Run via uv so no install is needed:

bash
SCRIPT="/Users/z80/dev/lemon/.claude/skills/discord-client/discord_api.py"
uv run --with httpx python "$SCRIPT" <command> [args]
Commands
CommandDescription
meShow bot info
guildsList all servers the bot is in
channels <guild_id>List channels in a server
read <channel_id> [--limit N] [--before ID] [--after ID]Read messages (default 50, oldest first)
send <channel_id> "message"Send a message
reply <channel_id> <msg_id> "text"Reply to a message
edit <channel_id> <msg_id> "new text"Edit a bot message
delete <channel_id> <msg_id>Delete a message
react <channel_id> <msg_id> <emoji>Add a reaction
upload <channel_id> <file_path> [--caption "text"]Upload a file
threads <channel_id>List threads
thread-create <channel_id> "name"Create a thread
members <guild_id> [--limit N]List server members

Workflow

  1. Discover: Run guilds to find the guild ID, then channels <guild_id> to find channel IDs.
  2. Read: Run read <channel_id> to see recent messages. Use --limit, --before, --after to paginate.
  3. Act: Use send, reply, edit, delete, react, upload as needed.

Token

The bot token is loaded automatically from ~/.zeebot/api_keys/discord.txt (field: bot_token).

  • NEVER print, echo, or commit the token.
  • NEVER include the token in scripts written to disk.
  • The helper script reads it at runtime from the secrets file.

Notes

  • The bot can only act in servers/channels it has been invited to with appropriate permissions.
  • Message content requires the Message Content Intent to be enabled in the Discord Developer Portal.
  • The bot can read messages from other bots and users.
  • Rate limits: Discord enforces per-route rate limits. The script will get HTTP 429 if you hit them — back off and retry.
  • Max message length: 2000 characters. For longer content, split into multiple messages or upload as a file.

Custom Scripts

For operations not covered by the CLI, write a temporary Python script that imports the helpers:

python
import sys
sys.path.insert(0, "/Users/z80/dev/lemon/.claude/skills/discord-client")
from discord_api import load_token, api_get, api_post, BASE

token = load_token()
# ... custom API calls

If $ARGUMENTS is provided, perform the requested Discord action.

© z80dev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .claude/skills/discord-client of z80dev/lemon.

  • SKILL.md
  • discord_api.py

Open the folder on GitHubat commit 899e215

Compare with similar skills

Discord Client 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 Client compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Discord Client this skillz80dev/lemon131—~771Automated safety check: NotesMIT
Latchkeyimbue-ai/latchkey130—~1.3kAutomated safety check: PassMIT
DiscordOpenHands/extensions157—~1.1kAutomated safety check: PassMIT
Helpers And Infra Keeperdiscord-php/DiscordPHP1.1k—~2.2kAutomated safety check: PassMIT
Repository Cache Keeperdiscord-php/DiscordPHP1.1k—~2.2kAutomated safety check: PassMIT
Discord Openapi Skillholon-run/uxc115—~2.2kAutomated safety check: PassMIT

Similar skills

  • Latchkey

    imbue-ai/latchkey

    Interact with third-party or self-hosted services (Slack, Google Workspace, Dropbox, GitHub, Linear, Coolify...) using their HTTP APIs on the user's behalf.

    130 GitHub stars~1.3k tokensUpdated 5 days ago
    Backend & APIsAuto-check passed
  • Discord

    OpenHands/extensions

    Build and automate Discord integrations (bots, webhooks, slash commands, and REST API workflows).

    157 GitHub stars~1.1k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Helpers And Infra Keeper

    discord-php/DiscordPHP

    Work with DiscordPHP's infrastructure utilities — CacheWrapper, CacheConfig, BigInt, Multipart, Endpoint::bind URL templates, Collection base class, and domain Exceptions.

    1.1k GitHub stars~2.2k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Repository Cache Keeper

    discord-php/DiscordPHP

    Maintain Repository classes — REST endpoints, route vars, cache coherence, typed collections, and persistence boundaries.

    1.1k GitHub stars~2.2k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Operate Discord HTTP API through UXC with Discord OpenAPI schema.

    115 GitHub stars~2.2k tokensUpdated 22 days ago
    Backend & APIsAuto-check passed
  • Task Manager

    0xranx/golembot

    Creates and manages scheduled tasks, cron jobs, recurring reminders, and timers via the Task HTTP API.

    323 GitHub stars~694 tokensUpdated 8 days ago
    Productivity & AutomationAuto-check passed

More from z80dev/lemon

  • Debug and stress-test lemon gateway behavior by acting as both sides of Telegram conversations: run lemon-gateway with debug logs, then use Telethon with user credentials to send/reply messages in a…

    131 GitHub stars~744 tokensUpdated 21 days ago
    Auto-check: notes
  • Verify Lemon

    z80dev/lemon

    Verify lemon features against a running (or disposable) instance using the cheapest sufficient tier: DIRECT (attach/RPC + control-plane WS + bus observation, no Telegram), FAKE TELEGRAM (hermetic…

    131 GitHub stars~4k tokensUpdated 21 days ago
    Auto-check: notes
  • Pinata

    z80dev/lemon

    Pin files and JSON to IPFS via Pinata (JWT auth + helper scripts).

    131 GitHub stars~418 tokensUpdated 21 days ago
    Auto-check passed
  • Runtime Remsh

    z80dev/lemon

    Connect to a running Lemon or lemon-gateway BEAM node, run recompile() for hot code reload, and execute Elixir code in that live runtime via IEx remsh or rpc-eval.

    131 GitHub stars~819 tokensUpdated 21 days ago
    Auto-check passed
  • Session Logs

    z80dev/lemon

    Search and analyze your own Lemon session logs (older/parent conversations) using jq.

    131 GitHub stars~949 tokensUpdated 21 days ago
    Auto-check passed

Works with

Categories

Questions about Discord Client

What does Discord Client do?

Interact with Discord via a bot: read channels, send messages, list guilds/channels, upload files, manage threads. Discord Client is an agent skill from z80dev/lemon. Interact with Discord via a bot: read channels, send messages, list guilds/channels, upload files, manage threads.

When should I use Discord Client?

Discord Client fits situations like: tasks that involve REST APIs.

How do I install Discord Client in Claude Code?

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

How do I install Discord Client in Codex?

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

Can I use Discord Client 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 z80dev/lemon --skill discord-client -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/discord-client, .gemini/skills/discord-client, .github/skills/discord-client and .opencode/skills/discord-client in your project.

What does Discord Client need to run?

Going by SKILL.md and its folder, Discord Client needs Python for the scripts in its folder and the command-line tools its instructions call (uv). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Grep, Bash, Glob, Write.

Does Discord Client access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Discord Client safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Discord Client use?

Discord Client 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 Discord Client use?

About 771 tokens (SKILL.md is roughly 3.1k 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 Client?

Skills that share tags, products or a category with Discord Client: Latchkey (imbue-ai/latchkey, 130 stars), Discord (OpenHands/extensions, 157 stars), Helpers And Infra Keeper (discord-php/DiscordPHP, 1.1k stars) and Repository Cache Keeper (discord-php/DiscordPHP, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Discord Client?

z80dev (a GitHub user) maintains it in z80dev/lemon, which has 131 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on September 16, 2026.

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