# Discord

> Read, send, react to, edit, pin, and thread Discord messages with HybridClaw's `message` tool.

- Skill: `hybridaione/discord` (Agent Skill)
- Install (CLI): `npx skillmds@latest add hybridaione/discord`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hybridaione/discord/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: HybridAIOne (https://skillmd.com/u/hybridaione)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/hybridaione/discord

---

# Discord Operations

Use HybridClaw's `message` tool for Discord work. This skill is for actions, not long-form catchups.

## Use Cases

- read recent channel traffic before replying
- send or edit a message in a specific channel
- react with a status emoji
- pin or unpin an important message
- create or reply inside a thread
- inspect channel or member information

## Working Rules

- Prefer explicit numeric `guildId`, `channelId`, `messageId`, and `userId` values.
- If the user gives a channel name, include `guildId` so the tool can resolve it safely.
- Read first, act second.
- Alert and webhook messages (Monit, CI, deploy bots) usually have an empty `content` and carry their payload in `embeds`. `read` returns an `embeds` array per message (`title`, `description`, `url`, `timestamp`, `author.name`, `footer.text`, and `fields[].name`/`fields[].value`) — check it before concluding a message is empty. It is capped at 5 embeds per message and 10 fields per embed.
- Keep outbound Discord copy short and conversational.
- Do not use markdown tables in Discord messages.
- Confirm before deleting, mass-posting, or editing a message that materially changes meaning.

## Common Patterns

Read recent messages:

```json
{"action":"read","channelId":"1234567890","guildId":"9876543210","limit":20}
```

Send a message:

```json
{"action":"send","channelId":"1234567890","guildId":"9876543210","content":"Status update: the migration finished cleanly."}
```

React to a message:

```json
{"action":"react","channelId":"1234567890","guildId":"9876543210","messageId":"112233445566","emoji":"white_check_mark"}
```

Pin a message:

```json
{"action":"pin","channelId":"1234567890","guildId":"9876543210","messageId":"112233445566"}
```

Create a thread from a message:

```json
{"action":"thread-create","channelId":"1234567890","guildId":"9876543210","messageId":"112233445566","name":"Release follow-up"}
```

Reply in a thread:

```json
{"action":"thread-reply","channelId":"1234567890","guildId":"9876543210","messageId":"998877665544","content":"I checked the logs and the alert is resolved."}
```

## Decision Rules

- If the user wants a summary of channel activity, use `channel-catchup`.
- If the user wants to quote or answer a specific message, read the surrounding context first.
- If the user asks to notify a team broadly, draft the message and confirm before sending.
- For user mentions, prefer known Discord IDs over guessing display names.

