Claude Agent Skill · by Steipete

Discord

Install Discord skill for Claude Code from steipete/clawdis.

Works with Paperclip

How Discord fits into a Paperclip company.

Discord drops into any Paperclip agent that handles this kind of work. Assign it to a specialist inside a pre-configured PaperclipOrg company and the skill becomes available on every heartbeat — no prompt engineering, no tool wiring.

S
SaaS FactoryPaired

Pre-configured AI company — 18 agents, 18 skills, one-time purchase.

$27$59
Explore pack
Source file
SKILL.md197 lines
Expand
---name: discorddescription: "Discord ops via the message tool (channel=discord)."metadata: { "openclaw": { "emoji": "🎮", "requires": { "config": ["channels.discord.token"] } } }allowed-tools: ["message"]--- # Discord (Via `message`) Use the `message` tool. No provider-specific `discord` tool exposed to the agent. ## Musts - Always: `channel: "discord"`.- Respect gating: `channels.discord.actions.*` (some default off: `roles`, `moderation`, `presence`, `channels`).- Prefer explicit ids: `guildId`, `channelId`, `messageId`, `userId`.- Multi-account: optional `accountId`. ## Guidelines - Avoid Markdown tables in outbound Discord messages.- Mention users as `<@USER_ID>`.- Prefer Discord components v2 (`components`) for rich UI; use legacy `embeds` only when you must. ## Targets - Send-like actions: `to: "channel:<id>"` or `to: "user:<id>"`.- Message-specific actions: `channelId: "<id>"` (or `to`) + `messageId: "<id>"`. ## Common Actions (Examples) Send message: ```json{  "action": "send",  "channel": "discord",  "to": "channel:123",  "message": "hello",  "silent": true}``` Send with media: ```json{  "action": "send",  "channel": "discord",  "to": "channel:123",  "message": "see attachment",  "media": "file:///tmp/example.png"}``` - Optional `silent: true` to suppress Discord notifications. Send with components v2 (recommended for rich UI): ```json{  "action": "send",  "channel": "discord",  "to": "channel:123",  "message": "Status update",  "components": "[Carbon v2 components]"}``` - `components` expects Carbon component instances (Container, TextDisplay, etc.) from JS/TS integrations.- Do not combine `components` with `embeds` (Discord rejects v2 + embeds). Legacy embeds (not recommended): ```json{  "action": "send",  "channel": "discord",  "to": "channel:123",  "message": "Status update",  "embeds": [{ "title": "Legacy", "description": "Embeds are legacy." }]}``` - `embeds` are ignored when components v2 are present. React: ```json{  "action": "react",  "channel": "discord",  "channelId": "123",  "messageId": "456",  "emoji": "✅"}``` Read: ```json{  "action": "read",  "channel": "discord",  "to": "channel:123",  "limit": 20}``` Edit / delete: ```json{  "action": "edit",  "channel": "discord",  "channelId": "123",  "messageId": "456",  "message": "fixed typo"}``` ```json{  "action": "delete",  "channel": "discord",  "channelId": "123",  "messageId": "456"}``` Poll: ```json{  "action": "poll",  "channel": "discord",  "to": "channel:123",  "pollQuestion": "Lunch?",  "pollOption": ["Pizza", "Sushi", "Salad"],  "pollMulti": false,  "pollDurationHours": 24}``` Pins: ```json{  "action": "pin",  "channel": "discord",  "channelId": "123",  "messageId": "456"}``` Threads: ```json{  "action": "thread-create",  "channel": "discord",  "channelId": "123",  "messageId": "456",  "threadName": "bug triage"}``` Search: ```json{  "action": "search",  "channel": "discord",  "guildId": "999",  "query": "release notes",  "channelIds": ["123", "456"],  "limit": 10}``` Presence (often gated): ```json{  "action": "set-presence",  "channel": "discord",  "activityType": "playing",  "activityName": "with fire",  "status": "online"}``` ## Writing Style (Discord) - Short, conversational, low ceremony.- No markdown tables.- Mention users as `<@USER_ID>`.