ding
SKILL: ding
ding is a skill for quickly locating and contacting other Agents (demo1, demo2, etc.) within DingTalk group chats.
Usage
/ding <Agent名称>
Core Resolution Rules (No Hardcoded agentId)
-
Match Agent — From the OpenClaw
agents.listconfiguration, match the user's input againstidentity.name:- Input "demo1" → match
nameoridentity.namecontaining "demo1" → resolveagentId - Input "demo2" → match
identity.namecontaining "demo2" → resolveagentId
- Input "demo1" → match
-
Find Binding — From
bindings, find theaccountIdandchannelfor the matchedagentId:- e.g.,
agentId: "demo-agent-1"→accountId: "demo-bot-1",channel: "dingtalk-connector"
- e.g.,
-
Compose Session Key — Derive from current session info:
agent:<agentId>:<channel>:group:<当前群ID>:<当前发送者ID> -
Attempt Contact — Use
sessions_sendto the target session:- Success → return result
- Failure → prompt "需要在钉钉群中 @<Agent名称>"
Security Guidelines
- Do not hardcode
agentId,accountId, or session keys into any file. - All agent resolution is done dynamically from the OpenClaw configuration at runtime.
- Do not expose internal session details (accountId, channel, session key) in user-facing chat output.
- Self-contact prevention: If the resolved session key belongs to the current agent (same agentId), refuse to send and prompt the user: "你正在尝试联系自己,请确认目标 Agent 名称。"
- Contact failures are handled gracefully with user-friendly prompts.
How to Execute
- First invocation only — read
${CLAUDE_SKILL_DIR}/docs/setup.mdfor configuration and runtime detection. - Match the action from the table below.
- Read the corresponding doc file for detailed steps.
- If no arguments or unrecognized action, show the help table below.
- If the user asks about ding (what it is, how to use it) — read
${CLAUDE_SKILL_DIR}/docs/help.mdand follow the instructions there.
Actions
| Action | Description | Details |
|---|---|---|
send |
发送消息给指定 Agent | docs/actions-contact.md |
list |
列出所有可用 Agent | docs/actions-query.md |
info |
显示当前会话信息 | docs/actions-query.md |
sessions |
列出指定 Agent 的会话 | docs/actions-query.md |
help |
常见问题解答 | docs/help.md |
help (or no arguments) — Show available actions
| Action | Usage | Description |
|---|---|---|
send |
/ding send <Agent名称> <消息> |
发消息给指定 Agent |
list |
/ding list |
列出在线 Agent |
info |
/ding info |
当前会话信息 |
sessions |
/ding sessions <Agent名称> |
查某人的会话列表 |
help |
/ding help <问题> |
回答相关问题 |
More from tnnevol/skills
memos
Assistant for Memos (https://github.com/usememos/memos), an open-source self-hosted memo/note tool. Use when the user asks about Memos, creating/listing/updating/deleting memos, managing tags, or securely interacting with a Memos instance via API.
13pnpm
Node.js 包管理器,具有严格的依赖解析。在运行 pnpm 特定命令、配置工作区或使用目录、补丁或覆盖管理依赖项时使用。
8vue
Vue 3 组合式 API、script setup 宏、响应式系统和内置组件。在编写 Vue SFC、defineProps/defineEmits/defineModel、监视器或使用 Transition/Teleport/Suspense/KeepAlive 时使用。
6vitepress
VitePress static site generator powered by Vite and Vue. Use when building documentation sites, configuring themes, or writing Markdown with Vue components.
6tsdown
Bundle TypeScript and JavaScript libraries with blazing-fast speed powered by Rolldown. Use when building libraries, generating type declarations, bundling for multiple formats, or migrating from tsup.
6vitest
Vitest fast unit testing framework powered by Vite with Jest-compatible API. Use when writing tests, mocking, configuring coverage, or working with test filtering and fixtures.
6