26.2.21openclaw-viking/skills/discord/SKILL.md
Discord ops via the message tool (channel=discord).
npx skillsauth add adoresever/agi_ananans 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>.testing
Simulate a strict academic reviewer and produce a manuscript risk report without editing the draft. Use when the user asks to act as a reviewer, find weaknesses before submission, inspect evidence gaps, check overclaims, evaluate manuscript readiness, combine advisor notes or meeting minutes into revision priorities, or generate a 审稿人模拟检查 report.
development
Build or reorganize an academic paper project workspace with clear folders and local instructions for literature, drafts, feedback, extracted text, and output reports. Use when the user wants to set up a论文工作台, organize mixed manuscript materials, create project rules, or prepare a stable workflow before citation checking, evidence matching, reviewer simulation, or manuscript revision.
testing
Match manuscript claims against user-provided literature and produce a traceable claim-evidence table. Use when the user asks to add references, check whether PDFs support manuscript statements, find supporting or opposing evidence from a literature folder, distinguish strong support from background support, or create a 论点-证据匹配 report for an academic draft.
development
Twitter/X data via the 6551 API. Supports user profiles, tweet search, user tweets, follower events, deleted tweets, and KOL followers.