davepoon/buildwithclaude/plugins/all-skills/skills/discord-automation/SKILL.md
discord-automation
Automate Discord tasks via Rube MCP (Composio): messages, channels, roles, webhooks, reactions. Always search tools first for current schemas.
- Source repository stars
- 3,359
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-24
- Source checked
- 2026-08-26
Decision brief
What it does: where it fits
Automate Discord operations through Composio's Discord/Discordbot toolkits via Rube MCP.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/davepoon/buildwithclaude --skill "plugins/all-skills/skills/discord-automation"Inspect the Agent Skill "discord-automation" from https://github.com/davepoon/buildwithclaude/blob/ebd20fe1d82fa74e9a2f94abfeff88090f6c758c/plugins/all-skills/skills/discord-automation/SKILL.md at commit ebd20fe1d82fa74e9a2f94abfeff88090f6c758c. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
Verify Rube MCP is available by confirming RUBESEARCHTOOLS respondsCall RUBEMANAGECONNECTIONS with toolkit discordbot (bot operations) or discord (user operations)If connection is not ACTIVE, follow the returned auth link to complete Discord auth - 02
Prerequisites
Rube MCP must be connected (RUBESEARCHTOOLS available)
Rube MCP must be connected (RUBESEARCHTOOLS available)Active Discord connection via RUBEMANAGECONNECTIONS with toolkits discord and discordbotAlways call RUBESEARCHTOOLS first to get current tool schemas - 03
Core Workflows
When to use: User wants to send messages to channels or DMs
DISCORDLISTMYGUILDS - List guilds the bot belongs to [Prerequisite]DISCORDBOTLISTGUILDCHANNELS - List channels in a guild [Prerequisite]DISCORDBOTCREATEMESSAGE - Send a message [Required] - 04
1. Send Messages
When to use: User wants to send messages to channels or DMs
DISCORDLISTMYGUILDS - List guilds the bot belongs to [Prerequisite]DISCORDBOTLISTGUILDCHANNELS - List channels in a guild [Prerequisite]DISCORDBOTCREATEMESSAGE - Send a message [Required] - 05
2. Send Direct Messages
When to use: User wants to DM a Discord user
DISCORDBOTCREATEDM - Create or get DM channel [Required]DISCORDBOTCREATEMESSAGE - Send message to DM channel [Required]recipientid: User snowflake ID for DM
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 3,359 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- davepoon/buildwithclaude
- Skill path
- plugins/all-skills/skills/discord-automation/SKILL.md
- Commit
- ebd20fe1d82fa74e9a2f94abfeff88090f6c758c
- License
- MIT
- Collected
- 2026-08-26
- Default branch
- main
View the original SKILL.md
Discord Automation via Rube MCP
Automate Discord operations through Composio's Discord/Discordbot toolkits via Rube MCP.
Toolkit docs: composio.dev/toolkits/discord
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Discord connection via
RUBE_MANAGE_CONNECTIONSwith toolkitsdiscordanddiscordbot - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitdiscordbot(bot operations) ordiscord(user operations) - If connection is not ACTIVE, follow the returned auth link to complete Discord auth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Send Messages
When to use: User wants to send messages to channels or DMs
Tool sequence:
DISCORD_LIST_MY_GUILDS- List guilds the bot belongs to [Prerequisite]DISCORDBOT_LIST_GUILD_CHANNELS- List channels in a guild [Prerequisite]DISCORDBOT_CREATE_MESSAGE- Send a message [Required]DISCORDBOT_UPDATE_MESSAGE- Edit a sent message [Optional]
Key parameters:
channel_id: Channel snowflake IDcontent: Message text (max 2000 characters)embeds: Array of embed objects for rich contentguild_id: Guild ID for channel listing
Pitfalls:
- Bot must have SEND_MESSAGES permission in the channel
- High-frequency sends can hit per-route rate limits; respect Retry-After headers
- Only messages sent by the same bot can be edited
2. Send Direct Messages
When to use: User wants to DM a Discord user
Tool sequence:
DISCORDBOT_CREATE_DM- Create or get DM channel [Required]DISCORDBOT_CREATE_MESSAGE- Send message to DM channel [Required]
Key parameters:
recipient_id: User snowflake ID for DMchannel_id: DM channel ID from CREATE_DM
Pitfalls:
- Cannot DM users who have DMs disabled or have blocked the bot
- CREATE_DM returns existing channel if one already exists
3. Manage Roles
When to use: User wants to create, assign, or remove roles
Tool sequence:
DISCORDBOT_CREATE_GUILD_ROLE- Create a new role [Optional]DISCORDBOT_ADD_GUILD_MEMBER_ROLE- Assign role to member [Optional]DISCORDBOT_DELETE_GUILD_ROLE- Delete a role [Optional]DISCORDBOT_GET_GUILD_MEMBER- Get member details [Optional]DISCORDBOT_UPDATE_GUILD_MEMBER- Update member (roles, nick, etc.) [Optional]
Key parameters:
guild_id: Guild snowflake IDuser_id: User snowflake IDrole_id: Role snowflake IDname: Role namepermissions: Bitwise permission valuecolor: RGB color integer
Pitfalls:
- Role assignment requires MANAGE_ROLES permission
- Target role must be lower in hierarchy than bot's highest role
- DELETE permanently removes the role from all members
4. Manage Webhooks
When to use: User wants to create or use webhooks for external integrations
Tool sequence:
DISCORDBOT_GET_GUILD_WEBHOOKS/DISCORDBOT_LIST_CHANNEL_WEBHOOKS- List webhooks [Optional]DISCORDBOT_CREATE_WEBHOOK- Create a new webhook [Optional]DISCORDBOT_EXECUTE_WEBHOOK- Send message via webhook [Optional]DISCORDBOT_UPDATE_WEBHOOK- Update webhook settings [Optional]
Key parameters:
webhook_id: Webhook IDwebhook_token: Webhook secret tokenchannel_id: Channel for webhook creationname: Webhook namecontent/embeds: Message content for execution
Pitfalls:
- Webhook tokens are secrets; handle securely
- Webhooks can post with custom username and avatar per message
- MANAGE_WEBHOOKS permission required for creation
5. Manage Reactions
When to use: User wants to view or manage message reactions
Tool sequence:
DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI- List users who reacted [Optional]DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS- Remove all reactions [Optional]DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS_BY_EMOJI- Remove specific emoji reactions [Optional]DISCORDBOT_DELETE_USER_MESSAGE_REACTION- Remove specific user's reaction [Optional]
Key parameters:
channel_id: Channel IDmessage_id: Message snowflake IDemoji_name: URL-encoded emoji orname:idfor custom emojisuser_id: User ID for specific reaction removal
Pitfalls:
- Unicode emojis must be URL-encoded (e.g., '%F0%9F%91%8D' for thumbs up)
- Custom emojis use
name:idformat - DELETE_ALL requires MANAGE_MESSAGES permission
Common Patterns
Snowflake IDs
Discord uses snowflake IDs (64-bit integers as strings) for all entities:
- Guilds, channels, users, roles, messages, webhooks
Permission Bitfields
Permissions are combined using bitwise OR:
- SEND_MESSAGES = 0x800
- MANAGE_ROLES = 0x10000000
- MANAGE_MESSAGES = 0x2000
- ADMINISTRATOR = 0x8
Pagination
- Most list endpoints support
limit,before,afterparameters - Messages: max 100 per request
- Reactions: max 100 per request, use
afterfor pagination
Known Pitfalls
Bot vs User Tokens:
discordbottoolkit uses bot tokens;discorduses user OAuth- Bot operations are preferred for automation
Rate Limits:
- Discord enforces per-route rate limits
- Respect
Retry-Afterheaders on 429 responses
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List guilds | DISCORD_LIST_MY_GUILDS | (none) |
| List channels | DISCORDBOT_LIST_GUILD_CHANNELS | guild_id |
| Send message | DISCORDBOT_CREATE_MESSAGE | channel_id, content |
| Edit message | DISCORDBOT_UPDATE_MESSAGE | channel_id, message_id |
| Get messages | DISCORDBOT_LIST_MESSAGES | channel_id, limit |
| Create DM | DISCORDBOT_CREATE_DM | recipient_id |
| Create role | DISCORDBOT_CREATE_GUILD_ROLE | guild_id, name |
| Assign role | DISCORDBOT_ADD_GUILD_MEMBER_ROLE | guild_id, user_id, role_id |
| Delete role | DISCORDBOT_DELETE_GUILD_ROLE | guild_id, role_id |
| Get member | DISCORDBOT_GET_GUILD_MEMBER | guild_id, user_id |
| Update member | DISCORDBOT_UPDATE_GUILD_MEMBER | guild_id, user_id |
| Get guild | DISCORDBOT_GET_GUILD | guild_id |
| Create webhook | DISCORDBOT_CREATE_WEBHOOK | channel_id, name |
| Execute webhook | DISCORDBOT_EXECUTE_WEBHOOK | webhook_id, webhook_token |
| List webhooks | DISCORDBOT_GET_GUILD_WEBHOOKS | guild_id |
| Get reactions | DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI | channel_id, message_id, emoji_name |
| Clear reactions | DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS | channel_id, message_id |
| Test auth | DISCORDBOT_TEST_AUTH | (none) |
| Get channel | DISCORDBOT_GET_CHANNEL | channel_id |
Powered by Composio
Frequently asked questions
What to verify before installation and use
What does the discord-automation source document cover?
Automate Discord operations through Composio's Discord/Discordbot toolkits via Rube MCP.
How do I install discord-automation?
The source record exposes this install command: npx skills add https://github.com/davepoon/buildwithclaude --skill "plugins/all-skills/skills/discord-automation". Inspect the command and pinned source before running it.
Alternatives
Compare before choosing
garrytan/gbrain
bulk-ingestion
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
app-store-optimization
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
wanshuiyin/Auto-claude-code-research-in-sleep
citation-audit
Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.
prowler-cloud/prowler
postgresql-indexing
PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance