skills/sickn33/discord-automation/SKILL.md
Automate Discord tasks via Rube MCP (Composio): messages, channels, roles, webhooks, reactions. Always search tools first for current schemas.
npx skillsauth add aiskillstore/marketplace discord-automationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automate Discord operations through Composio's Discord/Discordbot toolkits via Rube MCP.
RUBE_MANAGE_CONNECTIONS with toolkits discord and discordbotRUBE_SEARCH_TOOLS first to get current tool schemasGet 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.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit discordbot (bot operations) or discord (user operations)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 listingPitfalls:
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_DMPitfalls:
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 integerPitfalls:
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 executionPitfalls:
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 or name:id for custom emojisuser_id: User ID for specific reaction removalPitfalls:
name:id formatDiscord uses snowflake IDs (64-bit integers as strings) for all entities:
Permissions are combined using bitwise OR:
limit, before, after parametersafter for paginationBot vs User Tokens:
discordbot toolkit uses bot tokens; discord uses user OAuthRate Limits:
Retry-After headers on 429 responses| 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 |
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.