Skip to content
AI & Agents
Skill

/discord

Discord ops via the message tool (channel=discord).

BOOST
From plugin
openagent
5.7k54 skills
Install
$ npx -y skills add the-open-agent/openagent --skill discord --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/discord

Context preview

The summary Claude sees to decide when to auto-load this skill.

Discord ops via the message tool (channel=discord).

SKILL.md

discord.SKILL.md
name: discord
description: "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:

{
  "action": "send",
  "channel": "discord",
  "to": "channel:123",
  "message": "hello",
  "silent": true
}

Send with media:

{
  "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):

{
  "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):

{
  "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:

{
  "action": "react",
  "channel": "discord",
  "channelId": "123",
  "messageId": "456",
  "emoji": "✅"
}

Read:

{
  "action": "read",
  "channel": "discord",
  "to": "channel:123",
  "limit": 20
}

Edit / delete:

{
  "action": "edit",
  "channel": "discord",
  "channelId": "123",
  "messageId": "456",
  "message": "fixed typo"
}
{
  "action": "delete",
  "channel": "discord",
  "channelId": "123",
  "messageId": "456"
}

Poll:

{
  "action": "poll",
  "channel": "discord",
  "to": "channel:123",
  "pollQuestion": "Lunch?",
  "pollOption": ["Pizza", "Sushi", "Salad"],
  "pollMulti": false,
  "pollDurationHours": 24
}

Pins:

{
  "action": "pin",
  "channel": "discord",
  "channelId": "123",
  "messageId": "456"
}

Threads:

{
  "action": "thread-create",
  "channel": "discord",
  "channelId": "123",
  "messageId": "456",
  "threadName": "bug triage"
}

Search:

{
  "action": "search",
  "channel": "discord",
  "guildId": "999",
  "query": "release notes",
  "channelIds": ["123", "456"],
  "limit": 10
}

Presence (often gated):

{
  "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>`.
Read more
Ships withopenagent

⚡️next-generation personal AI assistant powered by LLM, RAG and agent loops, supporting computer-use, browser-use and coding agent, demo: https://demo.openagentai.org

Get the whole plugin
Stats
5,691
Stars
667
Forks
Active
Maintenance
Go
Language
Apache-2.0
License
11h ago
Last commit
6y ago
Created
1d ago
Added

Repo: the-open-agent/openagent

Other skills on openagent.