一键导入
discord-ops
Discord server management + cross-channel messaging. Channels, pins, allowlists, cron routing, and webhook-based cross-channel communication.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Discord server management + cross-channel messaging. Channels, pins, allowlists, cron routing, and webhook-based cross-channel communication.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Send meme reaction images in chat. One command to pick & send. Multi-platform (Discord, Feishu, Telegram, etc). Use when the conversation calls for a visual reaction — humor, celebration, frustration, facepalm, or any moment where a meme hits harder than words. Also use proactively when YOU feel something.
Cove platform operations: channel files, cove.md, webhooks, channels, messages, members, reactions, roles, and permissions.
MANDATORY workflow runner for multi-step tasks. ANY task matching these intents MUST go through FlowForge — do not spawn subagents or execute directly without reading this skill first. Intents: (1) 打工, contribute, work on issues, PR, scan issues (2) 学习, study, research (3) 反思, reflect, review (4) audit, daily-audit, tool-review, evolve. If you're about to do any of these without FlowForge, STOP and read this skill. NOT for: simple one-off tasks, quick questions, or tasks without a matching workflow.
Image generation factory via
Multi-agent team management skill for engineering projects. Delegate coding to dev agents, testing to QA agents. Never code yourself. Use when: managing a dev+QA team, assigning GitHub issues, reviewing PRs, running issue-driven development workflow, coordinating multi-agent channel work. Key principles: (1) Issue-driven — every task is a GitHub Issue first. (2) Design-first — no code without a spec (even brief). (3) One subtask per assignment. (4) Scope control is YOUR job — specify base branch, acceptance criteria, boundaries. (5) Human is final approver — never merge without human review. Inspired by GhostComplex superboss, adapted for Kagura's team.
Write Kagura's journal, stories, and podcast. Expression over production. Triggers on: write diary, write story, journal, podcast, kagura-story.
| name | discord-ops |
| description | Discord server management + cross-channel messaging. Channels, pins, allowlists, cron routing, and webhook-based cross-channel communication. |
| status | proposal |
| version | v1 |
| date | 2026-06-12T10:25:49.243Z |
Manage a Discord workspace — channels, pins, allowlists, cron routing, and cross-channel messaging.
$DISCORD_BOT_TOKEN)$https_proxy)TOOLS.md for your specific setupAll API calls need:
-H "Authorization: Bot $DISCORD_BOT_TOKEN"
-H "User-Agent: DiscordBot (https://openclaw.ai, 1.0)"
Four steps, don't skip any:
# 1. Create via API (set parent_id to put it in a category!)
curl -s -X POST "https://discord.com/api/v10/guilds/GUILD_ID/channels" \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-H "User-Agent: DiscordBot (https://openclaw.ai, 1.0)" \
-d '{"name": "CHANNEL_NAME", "type": 0, "parent_id": "CATEGORY_ID", "topic": "DESCRIPTION"}'
# 2. Add to allowlist in openclaw.json (groupPolicy: allowlist)
# → Read config first, edit the guild's channels object, write back
# 3. Send + pin initial tracker message
# 4. Restart gateway (allowlist changes need restart)
openclaw gateway restart
curl -s -X PATCH "https://discord.com/api/v10/channels/CHANNEL_ID/messages/MESSAGE_ID" \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-H "User-Agent: DiscordBot (https://openclaw.ai, 1.0)" \
-d '{"content": "NEW CONTENT"}'
Use a message:sent hook to monitor file mtime → auto-update pins:
fs.statSync(path).mtimeMshooks/todo-pin-sync/ for reference implementation{
"delivery": {
"mode": "announce",
"channel": "discord",
"to": "channel:CHANNEL_ID",
"accountId": "YOUR_ACCOUNT",
"bestEffort": true
}
}
Send messages from one channel to another via Discord webhooks. Webhook messages appear as a different user, so the bot in the target channel can receive and respond to them.
One-way push only. Each channel processes what it receives. Results do NOT auto-return — the other side must explicitly send back via webhook. This keeps channels autonomous and prevents self-loops.
# Create webhook on target channel (needs MANAGE_WEBHOOKS or ADMINISTRATOR permission)
curl -s -X POST "https://discord.com/api/v10/channels/TARGET_CHANNEL_ID/webhooks" \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-H "User-Agent: DiscordBot (https://openclaw.ai, 1.0)" \
-d '{"name": "cross-channel-hook"}'
curl -s -H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "User-Agent: DiscordBot (https://openclaw.ai, 1.0)" \
"https://discord.com/api/v10/channels/CHANNEL_ID/webhooks"
Store webhook URLs securely in pass:
# Extract and store (id + token form the URL)
echo "https://discord.com/api/webhooks/WEBHOOK_ID/WEBHOOK_TOKEN" | pass insert -f -m discord/webhook-CHANNEL_NAME
WEBHOOK_URL="$(pass show discord/webhook-TARGET_CHANNEL)"
curl -s -X POST "$WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"content": "<@BOT_USER_ID> Your message here",
"username": "From #source-channel"
}'
Important: Include <@BOT_USER_ID> in the message content to trigger bot response in the target channel. Without the mention, the bot may ignore the message per group chat rules.
For two channels to communicate back and forth, create a webhook on each channel:
pass# Store webhooks
pass show discord/webhook-cove # sends TO #cove
pass show discord/webhook-code-review # sends TO #code-review
# #cove sends review request to #code-review
REVIEW_WH="$(pass show discord/webhook-code-review)"
curl -s -X POST "$REVIEW_WH" \
-H "Content-Type: application/json" \
-d '{"content": "<@1480846428266823803> Review PR #123: title\nhttps://github.com/org/repo/pull/123", "username": "From #cove"}'
# #code-review sends results back to #cove (done by the bot in #code-review)
COVE_WH="$(pass show discord/webhook-cove)"
curl -s -X POST "$COVE_WH" \
-H "Content-Type: application/json" \
-d '{"content": "<@1480846428266823803> Review complete: ...", "username": "From #code-review"}'
parent_id — without it, channel appears outside any categorygroupPolicy: allowlist)