skills/discord/SKILL.md
Discord ops via the message tool (channel=discord).
npx skillsauth add openxjarvis/openclaw-python discordInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
message)Use the message tool. No provider-specific discord tool exposed to the agent.
channel: "discord".channels.discord.actions.* (some default off: roles, moderation, presence, channels).guildId, channelId, messageId, userId.accountId.<@USER_ID>.components) for rich UI; use legacy embeds only when you must.to: "channel:<id>" or to: "user:<id>".channelId: "<id>" (or to) + messageId: "<id>".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"
}
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.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"
}
<@USER_ID>.tools
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.
development
Spreadsheet operations: open, read, edit, create .xlsx/.xlsm/.csv/.tsv files. Use for financial models, data tables, formula-based spreadsheets, data cleaning, charting, or any Excel file task. Triggers on: any .xlsx/.csv filename, 'spreadsheet', 'Excel', 'workbook'. Use openpyxl for formulas/formatting, pandas for data analysis.
development
Test local web applications using Playwright. Use when: testing a running web app, checking UI behavior, automating browser interactions, verifying HTML artifacts, or doing visual regression checks.
tools
Search the web for information and fetch URL content. Use when user asks to search for recent information, look up websites, fetch web page content, or find online resources. No external tools required — uses built-in web_search and web_fetch capabilities.