AGENT SKILL

dingtalk

DingTalk channel skill. When $dingtalk appears in message context, return your response as text and the framework will deliver it. For programmatic sends (e.g. progress updates), use dingtalk_send.

License 许可
Apache-2.0
最近更新
2026-11-11
Stars
★ 19
Forks
23

01 前言 Front Matter

name
dingtalk
metadata
{ "channel": "dingtalk" }
description
DingTalk channel skill. When $dingtalk appears in message context, return your response as text and the framework will deliver it. For programmatic sends (e.g. progress updates), use dingtalk_send.

02 资源文件 13

03 SKILL.md 正文

DingTalk Skill

When the message context contains $dingtalk and chat_id, you are in a DingTalk conversation.

Primary: Return Your Response Directly

To reply to a DingTalk user, simply return your response as text. The framework will automatically deliver it to the correct conversation. No script call is required.

  • The chat_id from the message context is used automatically.
  • Just write your answer and end the turn. The user will receive it.

Example: User asks "What is 2+2?" → You return "4" → The framework sends "4" to DingTalk.

When to Use the Script

Use dingtalk_send only when you need to send from within a tool (e.g. a progress update during a long-running task, or a status message triggered by another tool).

uv run ./scripts/dingtalk_send.py --chat-id <CHAT_ID> --content "<TEXT>"

Get chat_id from the message context JSON (the chat_id field). For group chats it is group:<openConversationId>, for 1:1 it is the user's staff_id.

Context Fields

When $dingtalk is in scope, the message context typically includes:

  • channel: $dingtalk — identifies this as a DingTalk conversation
  • chat_id: target for sending (e.g. 204818006723348842 for 1:1, or group:xxx for groups)

Response Policy

  • Direct answers: Return your response. The framework delivers it.
  • Long-running tasks: Return a short acknowledgment first (e.g. "Working on it..."), then continue. When done, return the final result.
  • Errors: Return an error message so the user sees it immediately.

Script Reference (for programmatic use)

uv run ./scripts/dingtalk_send.py \
  --chat-id <CHAT_ID> \
  --content "<TEXT>" \
  [--title "<TITLE>"]
  • --chat-id, -c: required
  • --content, -m: required
  • --title, -t: optional, default "Bub Reply"

04 同仓库更多 Skills

bubbuild
bubbuild/bub-contrib

tape-dataset-share-review

Export, filter, scan, and review shareable tape datasets produced by `tape-dataset-opendal`. Use when Codex needs to prepare Bub-generated tape data for public sharing, Hugging Face upload, external research handoff, or any review-sensitive export that must run CEL filtering, TruffleHog secret scanning on the staged artifact, and a final conservative LLM audit.

★ 19
bubbuild
bubbuild/bub-contrib

wecom

WeCom channel skill. Return normal replies directly. For proactive sends such as scheduled jobs, use the packaged wecom_send.py script.

★ 19
bubbuild
bubbuild/bub-contrib

slack

Slack skill for proactive outbound Slack communication: posting a message to a channel or thread, editing an existing bot message, or adding an emoji reaction. Use when the bot needs to: (1) post a message somewhere OTHER than the current reply (e.g. a different channel, or a side note in the same thread), (2) edit a previously-sent bot message (e.g. a progress placeholder), or (3) acknowledge a message with a non-verbal emoji reaction. NOTE: normal replies to the current message are posted AUTOMATICALLY by the runtime — just answer as text. Reach for this skill only for proactive / out-of-band sends and message edits.

邮件与沟通
★ 19
bubbuild
bubbuild/bub-contrib

qq

QQ C2C and group channel skill. Use when Bub is handling a QQ conversation. In the default tool reply mode, reply by calling qq.send (text or media) and stay silent by not calling it. In direct reply mode, return the reply text; output exactly <no_reply/> to stay silent.

★ 19
bubbuild
bubbuild/bub-contrib

feishu

Use this skill to respond to messages from feishu channel.

★ 19
bubbuild
bubbuild/bub-contrib

discord

Discord Bot integration for sending messages, managing channels, and responding to events. Use when Bub needs to: (1) Send messages to Discord channels, (2) Create Discord bot with discord.py, (3) Handle Discord events (on_message, on_member_join, etc.), (4) Work with Discord webhooks, or (5) Any Discord-related functionality.

★ 19