{"id":"dc3f7d91-8465-428c-ab79-2ba7a948dd24","shortId":"BmUPsS","kind":"skill","title":"discord-automation","tagline":"Automate Discord tasks via Rube MCP (Composio): messages, channels, roles, webhooks, reactions. Always search tools first for current schemas.","description":"# Discord Automation via Rube MCP\n\nAutomate Discord operations through Composio's Discord/Discordbot toolkits via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Discord connection via `RUBE_MANAGE_CONNECTIONS` with toolkits `discord` and `discordbot`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**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.\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `discordbot` (bot operations) or `discord` (user operations)\n3. If connection is not ACTIVE, follow the returned auth link to complete Discord auth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Send Messages\n\n**When to use**: User wants to send messages to channels or DMs\n\n**Tool sequence**:\n1. `DISCORD_LIST_MY_GUILDS` - List guilds the bot belongs to [Prerequisite]\n2. `DISCORDBOT_LIST_GUILD_CHANNELS` - List channels in a guild [Prerequisite]\n3. `DISCORDBOT_CREATE_MESSAGE` - Send a message [Required]\n4. `DISCORDBOT_UPDATE_MESSAGE` - Edit a sent message [Optional]\n\n**Key parameters**:\n- `channel_id`: Channel snowflake ID\n- `content`: Message text (max 2000 characters)\n- `embeds`: Array of embed objects for rich content\n- `guild_id`: Guild ID for channel listing\n\n**Pitfalls**:\n- Bot must have SEND_MESSAGES permission in the channel\n- High-frequency sends can hit per-route rate limits; respect Retry-After headers\n- Only messages sent by the same bot can be edited\n\n### 2. Send Direct Messages\n\n**When to use**: User wants to DM a Discord user\n\n**Tool sequence**:\n1. `DISCORDBOT_CREATE_DM` - Create or get DM channel [Required]\n2. `DISCORDBOT_CREATE_MESSAGE` - Send message to DM channel [Required]\n\n**Key parameters**:\n- `recipient_id`: User snowflake ID for DM\n- `channel_id`: DM channel ID from CREATE_DM\n\n**Pitfalls**:\n- Cannot DM users who have DMs disabled or have blocked the bot\n- CREATE_DM returns existing channel if one already exists\n\n### 3. Manage Roles\n\n**When to use**: User wants to create, assign, or remove roles\n\n**Tool sequence**:\n1. `DISCORDBOT_CREATE_GUILD_ROLE` - Create a new role [Optional]\n2. `DISCORDBOT_ADD_GUILD_MEMBER_ROLE` - Assign role to member [Optional]\n3. `DISCORDBOT_DELETE_GUILD_ROLE` - Delete a role [Optional]\n4. `DISCORDBOT_GET_GUILD_MEMBER` - Get member details [Optional]\n5. `DISCORDBOT_UPDATE_GUILD_MEMBER` - Update member (roles, nick, etc.) [Optional]\n\n**Key parameters**:\n- `guild_id`: Guild snowflake ID\n- `user_id`: User snowflake ID\n- `role_id`: Role snowflake ID\n- `name`: Role name\n- `permissions`: Bitwise permission value\n- `color`: RGB color integer\n\n**Pitfalls**:\n- Role assignment requires MANAGE_ROLES permission\n- Target role must be lower in hierarchy than bot's highest role\n- DELETE permanently removes the role from all members\n\n### 4. Manage Webhooks\n\n**When to use**: User wants to create or use webhooks for external integrations\n\n**Tool sequence**:\n1. `DISCORDBOT_GET_GUILD_WEBHOOKS` / `DISCORDBOT_LIST_CHANNEL_WEBHOOKS` - List webhooks [Optional]\n2. `DISCORDBOT_CREATE_WEBHOOK` - Create a new webhook [Optional]\n3. `DISCORDBOT_EXECUTE_WEBHOOK` - Send message via webhook [Optional]\n4. `DISCORDBOT_UPDATE_WEBHOOK` - Update webhook settings [Optional]\n\n**Key parameters**:\n- `webhook_id`: Webhook ID\n- `webhook_token`: Webhook secret token\n- `channel_id`: Channel for webhook creation\n- `name`: Webhook name\n- `content`/`embeds`: Message content for execution\n\n**Pitfalls**:\n- Webhook tokens are secrets; handle securely\n- Webhooks can post with custom username and avatar per message\n- MANAGE_WEBHOOKS permission required for creation\n\n### 5. Manage Reactions\n\n**When to use**: User wants to view or manage message reactions\n\n**Tool sequence**:\n1. `DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI` - List users who reacted [Optional]\n2. `DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS` - Remove all reactions [Optional]\n3. `DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS_BY_EMOJI` - Remove specific emoji reactions [Optional]\n4. `DISCORDBOT_DELETE_USER_MESSAGE_REACTION` - Remove specific user's reaction [Optional]\n\n**Key parameters**:\n- `channel_id`: Channel ID\n- `message_id`: Message snowflake ID\n- `emoji_name`: URL-encoded emoji or `name:id` for custom emojis\n- `user_id`: User ID for specific reaction removal\n\n**Pitfalls**:\n- Unicode emojis must be URL-encoded (e.g., '%F0%9F%91%8D' for thumbs up)\n- Custom emojis use `name:id` format\n- DELETE_ALL requires MANAGE_MESSAGES permission\n\n## Common Patterns\n\n### Snowflake IDs\n\nDiscord uses snowflake IDs (64-bit integers as strings) for all entities:\n- Guilds, channels, users, roles, messages, webhooks\n\n### Permission Bitfields\n\nPermissions are combined using bitwise OR:\n- SEND_MESSAGES = 0x800\n- MANAGE_ROLES = 0x10000000\n- MANAGE_MESSAGES = 0x2000\n- ADMINISTRATOR = 0x8\n\n### Pagination\n\n- Most list endpoints support `limit`, `before`, `after` parameters\n- Messages: max 100 per request\n- Reactions: max 100 per request, use `after` for pagination\n\n## Known Pitfalls\n\n**Bot vs User Tokens**:\n- `discordbot` toolkit uses bot tokens; `discord` uses user OAuth\n- Bot operations are preferred for automation\n\n**Rate Limits**:\n- Discord enforces per-route rate limits\n- Respect `Retry-After` headers on 429 responses\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List guilds | DISCORD_LIST_MY_GUILDS | (none) |\n| List channels | DISCORDBOT_LIST_GUILD_CHANNELS | guild_id |\n| Send message | DISCORDBOT_CREATE_MESSAGE | channel_id, content |\n| Edit message | DISCORDBOT_UPDATE_MESSAGE | channel_id, message_id |\n| Get messages | DISCORDBOT_LIST_MESSAGES | channel_id, limit |\n| Create DM | DISCORDBOT_CREATE_DM | recipient_id |\n| Create role | DISCORDBOT_CREATE_GUILD_ROLE | guild_id, name |\n| Assign role | DISCORDBOT_ADD_GUILD_MEMBER_ROLE | guild_id, user_id, role_id |\n| Delete role | DISCORDBOT_DELETE_GUILD_ROLE | guild_id, role_id |\n| Get member | DISCORDBOT_GET_GUILD_MEMBER | guild_id, user_id |\n| Update member | DISCORDBOT_UPDATE_GUILD_MEMBER | guild_id, user_id |\n| Get guild | DISCORDBOT_GET_GUILD | guild_id |\n| Create webhook | DISCORDBOT_CREATE_WEBHOOK | channel_id, name |\n| Execute webhook | DISCORDBOT_EXECUTE_WEBHOOK | webhook_id, webhook_token |\n| List webhooks | DISCORDBOT_GET_GUILD_WEBHOOKS | guild_id |\n| Get reactions | DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI | channel_id, message_id, emoji_name |\n| Clear reactions | DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS | channel_id, message_id |\n| Test auth | DISCORDBOT_TEST_AUTH | (none) |\n| Get channel | DISCORDBOT_GET_CHANNEL | channel_id |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["discord","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-discord-automation","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/discord-automation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34831 github stars · SKILL.md body (7,195 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T06:51:04.292Z","embedding":null,"createdAt":"2026-04-18T21:36:07.565Z","updatedAt":"2026-04-24T06:51:04.292Z","lastSeenAt":"2026-04-24T06:51:04.292Z","tsv":"'/mcp':79 '0x10000000':731 '0x2000':734 '0x8':736 '0x800':728 '1':99,152,169,289,364,487,590 '100':748,753 '2':111,181,273,299,374,499,602 '2000':220 '3':125,192,348,385,508,612 '4':140,200,394,469,517,625 '429':796 '5':403,574 '64':704 '8d':680 '91':679 '9f':678 'action':986 'activ':49,130,145 'add':76,93,376,864 'administr':735 'alreadi':346 'alway':16,61 'api':89 'applic':980 'array':223 'ask':1024 'assign':358,380,444,861 'auth':134,139,962,965 'autom':3,4,24,28,780 'avail':48,104 'avatar':565 'belong':178 'bit':705 'bitfield':719 'bitwis':435,724 'block':336 'bot':119,177,238,269,338,457,762,769,775 'boundari':1032 'call':62,112 'cannot':327 'channel':12,164,185,187,211,213,235,246,297,307,318,321,343,494,536,538,639,641,713,813,817,825,833,842,916,944,957,968,971,972 'charact':221 'clarif':1026 'clear':950,999 'client':86 'color':438,440 'combin':722 'common':696 'complet':137 'composio':10,32 'configur':87 'confirm':106,141 'connect':44,51,55,115,127,142 'content':216,229,545,548,827 'core':150 'creat':194,291,293,301,324,339,357,366,369,478,501,503,823,845,848,852,855,911,914 'creation':541,573 'criteria':1035 'current':21,69 'custom':562,658,684 'delet':387,390,461,604,614,627,690,874,877,953 'describ':987,1003 'detail':401 'direct':275 'disabl':333 'discord':2,5,23,29,50,58,122,138,170,285,700,771,783,807 'discord-autom':1 'discord/discordbot':34 'discordbot':60,118,182,193,201,290,300,365,375,386,395,404,488,492,500,509,518,591,603,613,626,766,814,822,830,839,847,854,863,876,886,896,906,913,921,930,938,952,963,969 'dm':283,292,296,306,317,320,325,328,340,846,849 'dms':166,332 'e.g':676 'edit':204,272,828 'emb':222,225,546 'emoji':596,619,622,648,653,659,670,685,943,948 'encod':652,675 'endpoint':95,740 'enforc':784 'entiti':711 'environ':1015 'environment-specif':1014 'etc':412 'execut':510,550,919,922,982 'exist':342,347 'expert':1020 'extern':483 'f0':677 'first':19,66 'follow':131 'format':689 'frequenc':249 'get':68,73,295,396,399,489,837,884,887,904,907,931,936,967,970 'guild':173,175,184,190,230,232,367,377,388,397,406,416,418,490,712,806,810,816,818,856,858,865,868,878,880,888,890,898,900,905,908,909,932,934 'handl':556 'header':262,794 'hierarchi':455 'high':248 'high-frequ':247 'highest':459 'hit':252 'id':212,215,231,233,312,315,319,322,417,420,422,425,427,430,528,530,537,640,642,644,647,656,661,663,688,699,703,819,826,834,836,843,851,859,869,871,873,881,883,891,893,901,903,910,917,925,935,945,947,958,960,973 'input':1029 'integ':441,706 'integr':484 'key':90,209,309,414,525,637,803 'known':760 'limit':257,742,782,789,844,991 'link':135 'list':171,174,183,186,236,493,496,592,597,739,805,808,812,815,840,928,939 'lower':453 'manag':54,114,349,446,470,568,575,585,693,729,732 'match':1000 'max':219,747,752 'mcp':9,27,38,41,75,82,102 'member':378,383,398,400,407,409,468,866,885,889,895,899 'messag':11,154,162,195,198,203,207,217,242,264,276,302,304,513,547,567,586,593,606,616,629,643,645,694,716,727,733,746,821,824,829,832,835,838,841,940,946,955,959 'miss':1037 'must':42,239,451,671 'name':431,433,542,544,649,655,687,860,918,949 'need':91 'new':371,505 'nick':411 'none':811,966 'oauth':774 'object':226 'one':345 'oper':30,120,124,776 'option':208,373,384,393,402,413,498,507,516,524,601,611,624,636 'output':1009 'overview':990 'pagin':737,759 'param':804 'paramet':210,310,415,526,638,745 'pattern':697 'per':254,566,749,754,786 'per-rout':253,785 'perman':462 'permiss':243,434,436,448,570,695,718,720,1030 'pitfal':237,326,442,551,668,761 'post':560 'prefer':778 'prerequisit':39,180,191 'quick':798 'rate':256,781,788 'react':600 'reaction':15,576,587,594,607,610,617,623,630,635,666,751,937,941,951,956 'recipi':311,850 'refer':799 'remov':360,463,608,620,631,667 'request':750,755 'requir':199,298,308,445,571,692,1028 'respect':258,790 'respond':110 'respons':797 'retri':260,792 'retry-aft':259,791 'return':133,341 'review':1021 'rgb':439 'rich':228 'role':13,350,361,368,372,379,381,389,392,410,426,428,432,443,447,450,460,465,715,730,853,857,862,867,872,875,879,882 'rout':255,787 'rube':8,26,37,40,45,53,63,74,101,107,113 'rube.app':78 'rube.app/mcp':77 'run':147 'safeti':1031 'schema':22,71 'scope':1002 'search':17,46,64,108 'secret':534,555 'secur':557 'send':153,161,196,241,250,274,303,512,726,820 'sent':206,265 'sequenc':168,288,363,486,589 'server':83 'set':523 'setup':72 'show':144 'skill':978,994 'skill-discord-automation' 'slug':802 'snowflak':214,314,419,424,429,646,698,702 'source-sickn33' 'specif':621,632,665,1016 'status':143 'stop':1022 'string':708 'substitut':1012 'success':1034 'support':741 'target':449 'task':6,800,998 'test':961,964,1018 'text':218 'thumb':682 'token':532,535,553,765,770,927 'tool':18,47,65,70,109,167,287,362,485,588,801 'toolkit':35,57,117,767 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':1007 'unicod':669 'updat':202,405,408,519,521,831,894,897 'url':651,674 'url-encod':650,673 'use':157,279,353,474,480,579,686,701,723,756,768,772,976,992 'user':123,158,280,286,313,329,354,421,423,475,580,598,628,633,660,662,714,764,773,870,892,902 'usernam':563 'valid':1017 'valu':437 'verifi':100 'via':7,25,36,52,514 'view':583 'vs':763 'want':159,281,355,476,581 'webhook':14,471,481,491,495,497,502,506,511,515,520,522,527,529,531,533,540,543,552,558,569,717,912,915,920,923,924,926,929,933 'work':98 'workflow':149,151,984","prices":[{"id":"d8710715-bc5d-4bde-897a-6c4118ab5465","listingId":"dc3f7d91-8465-428c-ab79-2ba7a948dd24","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:36:07.565Z"}],"sources":[{"listingId":"dc3f7d91-8465-428c-ab79-2ba7a948dd24","source":"github","sourceId":"sickn33/antigravity-awesome-skills/discord-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/discord-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:36:07.565Z","lastSeenAt":"2026-04-24T06:51:04.292Z"}],"details":{"listingId":"dc3f7d91-8465-428c-ab79-2ba7a948dd24","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"discord-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34831,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"a0c12c0989f077ca4ccfeb5d97da896040d07835","skill_md_path":"skills/discord-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/discord-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"discord-automation","description":"Automate Discord tasks via Rube MCP (Composio): messages, channels, roles, webhooks, reactions. Always search tools first for current schemas."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/discord-automation"},"updatedAt":"2026-04-24T06:51:04.292Z"}}