discord

Discord messaging via `message_send` (channel=discord). Use for outbound sends, replies, edits, reactions, deletes, and attachment sends on Discord.

411 stars

Best use case

discord is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Discord messaging via `message_send` (channel=discord). Use for outbound sends, replies, edits, reactions, deletes, and attachment sends on Discord.

Teams using discord should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/discord/SKILL.md --create-dirs "https://raw.githubusercontent.com/understudy-ai/understudy/main/skills/discord/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/discord/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How discord Compares

Feature / AgentdiscordStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Discord messaging via `message_send` (channel=discord). Use for outbound sends, replies, edits, reactions, deletes, and attachment sends on Discord.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Discord (Via `message_send`)

Use the `message_send` tool. Understudy does not expose a separate provider-specific `discord` tool.

## Musts

- Always: `channel: "discord"`.
- Use the canonical `message_send` schema: `recipient`, `text`, `threadId`, `replyTo`, `messageId`, `emoji`, `attachmentUrl`, `attachmentType`, `attachmentName`, `attachmentMimeType`.
- Prefer explicit ids in the recipient string when possible, for example `channel:1234567890` or `user:1234567890`.

## Guidelines

- Avoid Markdown tables in outbound Discord messages.
- Mention users as `<@USER_ID>`.
- Keep Discord actions within the current Understudy tool surface. Do not invent unsupported fields such as `components`, `embeds`, `pollQuestion`, `thread-create`, `search`, or `set-presence`.

## Targets

- Send-like actions: `recipient: "channel:<id>"` or `recipient: "user:<id>"`.
- Message-specific actions: use `messageId`, and include `recipient` when the adapter needs target context.

## Common Actions (Examples)

Send message:

```json
{
  "action": "send",
  "channel": "discord",
  "recipient": "channel:123",
  "text": "hello"
}
```

Reply to a message:

```json
{
  "action": "reply",
  "channel": "discord",
  "recipient": "channel:123",
  "replyTo": "456",
  "text": "Thanks, looking now."
}
```

Send with attachment:

```json
{
  "action": "sendAttachment",
  "channel": "discord",
  "recipient": "channel:123",
  "text": "see attachment",
  "attachmentUrl": "/tmp/example.png",
  "attachmentType": "image",
  "attachmentName": "example.png"
}
```

```json
{
  "action": "edit",
  "channel": "discord",
  "recipient": "channel:123",
  "messageId": "456",
  "text": "fixed typo"
}
```

```json
{
  "action": "react",
  "channel": "discord",
  "recipient": "channel:123",
  "messageId": "456",
  "emoji": "✅"
}
```

```json
{
  "action": "delete",
  "channel": "discord",
  "recipient": "channel:123",
  "messageId": "456"
}
```

If you need polls, search, thread creation, pins, moderation, or presence changes, tell the user the current Understudy tool surface does not expose those Discord-specific operations directly.

## Writing Style (Discord)

- Short, conversational, low ceremony.
- No markdown tables.
- Mention users as `<@USER_ID>`.

Related Skills

xurl

411
from understudy-ai/understudy

A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.

weather

411
from understudy-ai/understudy

Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.

wacli

411
from understudy-ai/understudy

Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).

video-frames

411
from understudy-ai/understudy

Extract frames or short clips from videos using ffmpeg.

trello

411
from understudy-ai/understudy

Manage Trello boards, lists, and cards via the Trello REST API.

tmux

411
from understudy-ai/understudy

Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.

things-mac

411
from understudy-ai/understudy

Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks Understudy to add a task to Things, list inbox/today/upcoming, search tasks, or inspect projects/areas/tags.

summarize

411
from understudy-ai/understudy

Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).

spotify-player

411
from understudy-ai/understudy

Terminal Spotify playback/search via spogo (preferred) or spotify_player.

sonoscli

411
from understudy-ai/understudy

Control Sonos speakers (discover/status/play/volume/group).

songsee

411
from understudy-ai/understudy

Generate spectrograms and feature-panel visualizations from audio with the songsee CLI.

slack

411
from understudy-ai/understudy

Use when you need to control Slack from Understudy via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.