Agent skill

Ding Skills

by LeoYeAI in LeoYeAI/openclaw-master-skills

钉钉操作助手(DingTalk)。当用户通过钉钉对话、或提到以下任何场景时必须使用此技能:查人(查下某某、搜一下某人、找一下谁谁)、查部门、查手机号、查工号、约会议(预约会议、创建会议、安排会议、开个会)、发消息(给某人发消息、群里发个通知)、查审批(我的审批、待审批、审批状态)、发起审批、同意/拒绝审批、查日程、创建日程、查员工数、查离职、开视频会议、钉钉知识库(查钉钉知识库、在钉钉创建文档、…

MITAuto-check passedKnowledge Management

Install Ding Skills

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill ding-skills -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills ding-skills --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ding-skills .claude/skills/ding-skills && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ding-skills
GitHub stars
2.2k
Token cost
~3.6k tokens
SKILL.md length
318 words
Files
51 (incl. scripts)
Skills in repo
1,235
Repo updated
First seen
Licence
MIT

At a glance

钉钉操作助手(DingTalk)。当用户通过钉钉对话、或提到以下任何场景时必须使用此技能:查人(查下某某、搜一下某人、找一下谁谁)、查部门、查手机号、查工号、约会议(预约会议、创建会议、安排会议、开个会)、发消息(给某人发消息、群里发个通知)、查审批(我的审批、待审批、审批状态)、发起审批、同意/拒绝审批、查日程、创建日程、查员工数、查离职、开视频会议、钉钉知识库(查钉钉知识库、在钉钉创建文档、…

  • Works in 12 steps: 搜索用户 (search-user) → 查询用户详情 (get-user) → 根据手机号查询用户 (get-user-by-mobile) → …
  • User mentions anything about DingTalk
  • SKILL.md covers 前置要求, 环境变量配置, 重要:常用工作流(必读) and 功能列表
  • Runs Python scripts from its folder; calls python; needs DINGTALK_APP_KEY and DINGTALK_APP_SECRET

What it does

Ding Skills is an agent skill from LeoYeAI/openclaw-master-skills. 钉钉操作助手(DingTalk)。当用户通过钉钉对话、或提到以下任何场景时必须使用此技能:查人(查下某某、搜一下某人、找一下谁谁)、查部门、查手机号、查工号、约会议(预约会议、创建会议、安排会议、开个会)、发消息(给某人发消息、群里发个通知)、查审批(我的审批、待审批、审批状态)、发起审批、同意/拒绝审批、查日程、创建日程、查员工数、查离职、开视频会议、钉钉知识库(查钉钉知识库、在钉钉创建文档、搜索钉钉文档、覆写钉钉文档)。注意:当用户从钉钉渠道发送消息时,"知识库"默认指钉钉知识库,不是飞书知识库。Use when user mentions anything about DingTalk or when the message comes from a DingTalk channel: looking up people, searching users/departments, scheduling meetings, creating conferences, sending messages, managing approvals, checking calendar events, querying…

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 51 other files, including scripts (for example `CLAUDE.md`, `README.md` and `_meta.json`).

It sits in Knowledge Management, covering Messaging and chat bots and Knowledge bases. It works with Feishu (Lark). The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • User mentions anything about DingTalk
  • The message comes from a DingTalk channel: looking up people
  • Searching users/departments
  • Scheduling meetings

Example prompts

  • “/ding-skills”

Requirements

  • Python 3
  • A credential in DINGTALK_APP_KEY
  • A credential in DINGTALK_APP_SECRET

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. 搜索用户 (search-user)
  2. 查询用户详情 (get-user)
  3. 根据手机号查询用户 (get-user-by-mobile)
  4. 根据 unionid 查询用户 (get-user-by-unionid)
  5. 获取员工人数 (get-user-count)
  6. 获取用户待审批数量 (get-user-todo-count)
  7. 获取未登录用户列表 (list-inactive-users)
  8. 查询离职记录列表 (list-resigned-users)
  9. 搜索部门 (search-department)
  10. 获取部门详情 (get-department)
  11. 获取子部门列表 (list-sub-departments)
  12. 获取部门用户列表 (list-department-users)

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 14 files in scripts/ (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • DINGTALK_APP_KEY
    • DINGTALK_APP_SECRET
    • MISSING_CREDENTIALS

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ding Skills loads about 3.6k tokens when it runs. Until then it costs about 178 tokens; SKILL.md has 318 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~178
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 318 words, ~3,620 tokens.

Download SKILL.mdSave it as .claude/skills/ding-skills/SKILL.md (or your agent's skills folder). This skill also uses 50 other files; get the full folder from GitHub.
name
ding-skills
description
钉钉操作助手(DingTalk)。当用户通过钉钉对话、或提到以下任何场景时必须使用此技能:查人(查下某某、搜一下某人、找一下谁谁)、查部门、查手机号、查工号、约会议(预约会议、创建会议、安排会议、开个会)、发消息(给某人发消息、群里发个通知)、查审批(我的审批、待审批、审批状态)、发起审批、同意/拒绝审批、查日程、创建日程、查员工数、查离职、开视频会议、钉钉知识库(查钉钉知识库、在钉钉创建文档、搜索钉钉文档、覆写钉钉文档)。注意:当用户从钉钉渠道发送消息时,"知识库"默认指钉钉知识库,不是飞书知识库。Use when user mentions anything about DingTalk or when the message comes from a DingTalk channel: looking up people, searching users/departments, scheduling meetings, creating conferences, sending messages, managing approvals, checking calendar events, querying employee info, DingTalk knowledge base operations (list workspaces, create/search/overwrite documents). When user is on DingTalk channel, "知识库" means DingTalk knowledge base, NOT Feishu.

Ding Skills

钉钉全功能技能集:用户管理、部门管理、消息发送、OA审批、视频会议、日程管理。

前置要求

  • 已设置环境变量 DINGTALK_APP_KEY 和 DINGTALK_APP_SECRET
  • 钉钉应用已创建并拥有相应 API 权限

环境变量配置

bash
export DINGTALK_APP_KEY="<your-app-key>"
export DINGTALK_APP_SECRET="<your-app-secret>"
export DINGTALK_ROBOT_CODE="<your-robot-code>"  # 可选,发消息时使用

重要:常用工作流(必读)

大部分钉钉 API 需要 userId 或 unionId,但用户通常只会说人名。遇到人名时,必须先查人再执行操作。

工作流1:按人名预约会议 / 创建视频会议

当用户说"帮我和张三、李四开个会"或"预约一个会议,参会人:张三、李四"时:

步骤1: python scripts/search_user.py "张三"  → 得到 userId
步骤2: python scripts/get_user.py "<userId>"  → 得到 unionId
步骤3: 对每个参会人重复步骤1-2
步骤4: python scripts/create_schedule_conference.py "<主题>" "<发起人unionId>" "<开始时间>" "<结束时间>" "<参会人unionId1,unionId2>" "[会议地点]"
工作流2:按人名发消息

当用户说"给张三发个消息"时:

步骤1: python scripts/search_user.py "张三"  → 得到 userId
步骤2: python scripts/send_user_message.py "<userId>" "<消息内容>"

注意:robotCode 自动从环境变量 DINGTALK_ROBOT_CODE 读取,也可作为第3个参数手动传入。

工作流3:按人名查审批

当用户说"查下张三的待审批"时:

步骤1: python scripts/search_user.py "张三"  → 得到 userId
步骤2: python scripts/list_user_todo_approvals.py "<userId>"
工作流4:按人名查日程

当用户说"查下张三今天的日程"时:

步骤1: python scripts/search_user.py "张三"  → 得到 userId
步骤2: python scripts/get_user.py "<userId>"  → 得到 unionId
步骤3: python scripts/list_events.py "<unionId>" "[开始时间]" "[结束时间]"
工作流5:在知识库中创建文档

当用户说"在知识库里创建一个文档"时:

步骤1: python scripts/search_user.py "张三"  → 得到 userId
步骤2: python scripts/get_user.py "<userId>"  → 得到 unionId
步骤3: python scripts/list_workspaces.py "<unionId>"  → 得到 workspaceId
步骤4: python scripts/create_doc.py "<workspaceId>" "<文档名>" "<unionId>"
工作流6:搜索知识库文档获取链接

当用户说"帮我找一下知识库里的《周报》"时:

步骤1: python scripts/search_user.py "张三"  → 得到 userId
步骤2: python scripts/get_user.py "<userId>"  → 得到 unionId
步骤3: python scripts/search_doc.py "<unionId>" "周报"  → 得到文档链接
通用规则
  • 用户说人名 → 必须先调用 search_user.py 获取 userId
  • 需要 unionId 的 API(日历、会议相关) → 再调用 get_user.py 从 userId 获取 unionId
  • 需要 userId 的 API(消息、审批、部门相关) → search_user.py 的结果可直接使用
  • 可以并行查询多个用户以提高效率

功能列表

1. 搜索用户 (search-user)

根据姓名搜索用户,返回匹配的 UserId 列表。

bash
python scripts/search_user.py "<搜索关键词>"

输出:

json
{
  "success": true,
  "keyword": "张三",
  "totalCount": 3,
  "hasMore": false,
  "userIds": ["123456789", "987654321"]
}
2. 查询用户详情 (get-user)

获取指定用户的详细信息。

bash
python scripts/get_user.py "<userId>"

输出:

json
{
  "success": true,
  "user": {
    "userid": "user001",
    "name": "张三",
    "mobile": "138****1234",
    "dept_id_list": [12345],
    "unionid": "xxxxx"
  }
}
3. 根据手机号查询用户 (get-user-by-mobile)
bash
python scripts/get_user_by_mobile.py "<手机号>"

输出:

json
{ "success": true, "mobile": "13800138000", "userId": "user001" }
4. 根据 unionid 查询用户 (get-user-by-unionid)
bash
python scripts/get_user_by_unionid.py "<unionid>"

输出:

json
{ "success": true, "unionid": "xxxxx", "userId": "user001" }
5. 获取员工人数 (get-user-count)
bash
python scripts/get_user_count.py [--onlyActive]

输出:

json
{ "success": true, "onlyActive": false, "count": 150 }
6. 获取用户待审批数量 (get-user-todo-count)
bash
python scripts/get_user_todo_count.py "<userId>"

输出:

json
{ "success": true, "userId": "user001", "count": 5 }
7. 获取未登录用户列表 (list-inactive-users)
bash
python scripts/list_inactive_users.py "<queryDate>" [--deptIds "id1,id2"] [--offset 0] [--size 100]

queryDate 格式: yyyyMMdd

输出:

json
{ "success": true, "queryDate": "20240115", "userIds": ["user001"], "hasMore": false }
8. 查询离职记录列表 (list-resigned-users)
bash
python scripts/list_resigned_users.py "<startTime>" ["<endTime>"] [--nextToken "xxx"] [--maxResults 100]

startTime/endTime 格式: ISO8601

输出:

json
{
  "success": true,
  "startTime": "2024-01-01T00:00:00+08:00",
  "records": [{ "userId": "user001", "name": "张三", "leaveTime": "2024-01-15T10:00:00Z" }]
}
9. 搜索部门 (search-department)
bash
python scripts/search_department.py "<搜索关键词>"

输出:

json
{ "success": true, "keyword": "技术部", "totalCount": 2, "departmentIds": [12345, 67890] }
10. 获取部门详情 (get-department)
bash
python scripts/get_department.py "<deptId>"

输出:

json
{ "success": true, "department": { "deptId": 12345, "name": "技术部", "parentId": 1 } }
11. 获取子部门列表 (list-sub-departments)

根部门 deptId = 1。

bash
python scripts/list_sub_departments.py "<deptId>"

输出:

json
{ "success": true, "deptId": 1, "subDepartmentIds": [12345, 67890] }
12. 获取部门用户列表 (list-department-users)

自动分页获取所有用户(简略信息)。

bash
python scripts/list_department_users.py "<deptId>"

输出:

json
{
  "success": true,
  "deptId": 12345,
  "users": [{ "userId": "user001", "name": "张三" }, { "userId": "user002", "name": "李四" }]
}
13. 获取部门用户详情 (list-department-user-details)

分页获取,支持 cursor 和 size。

bash
python scripts/list_department_user_details.py "<deptId>" [--cursor 0] [--size 100]

输出:

json
{ "success": true, "deptId": 12345, "users": [...], "hasMore": true, "nextCursor": 100 }
14. 获取部门用户 ID 列表 (list-department-user-ids)
bash
python scripts/list_department_user_ids.py "<deptId>"

输出:

json
{ "success": true, "deptId": 12345, "userIds": ["user001", "user002"] }
15. 获取部门父部门链 (list-department-parents)
bash
python scripts/list_department_parents.py "<deptId>"

输出:

json
{ "success": true, "deptId": 12345, "parentIdList": [12345, 67890, 1] }
16. 获取用户所属部门父部门链 (list-user-parent-departments)
bash
python scripts/list_user_parent_departments.py "<userId>"

输出:

json
{ "success": true, "userId": "user001", "parentIdList": [12345, 1] }
17. 获取群内机器人列表 (get-bot-list)
bash
python scripts/get_bot_list.py "<openConversationId>"

输出:

json
{
  "success": true,
  "openConversationId": "cid",
  "botList": [{ "robotCode": "code", "robotName": "name" }]
}
18. 机器人发送群消息 (send-group-message)

robotCode 自动从环境变量 DINGTALK_ROBOT_CODE 读取,也可作为第3个参数手动传入。

bash
python scripts/send_group_message.py "<openConversationId>" "<消息内容>" ["<robotCode>"]

输出:

json
{ "success": true, "openConversationId": "cid", "robotCode": "code", "processQueryKey": "key", "message": "消息内容" }
19. 机器人发送单聊消息 (send-user-message)

robotCode 自动从环境变量 DINGTALK_ROBOT_CODE 读取,也可作为第3个参数手动传入。

bash
python scripts/send_user_message.py "<userId>" "<消息内容>" ["<robotCode>"]

输出:

json
{ "success": true, "userId": "user001", "robotCode": "code", "processQueryKey": "key", "message": "消息内容" }
20. 获取审批实例 ID 列表 (list-approval-instance-ids)
bash
python scripts/list_approval_instance_ids.py "<processCode>" --startTime <timestamp> --endTime <timestamp> [--size 20] [--nextToken "xxx"]

输出:

json
{ "success": true, "processCode": "PROC-XXX", "instanceIds": ["id1", "id2"], "totalCount": 2, "hasMore": false }
21. 获取审批实例详情 (get-approval-instance)
bash
python scripts/get_approval_instance.py "<instanceId>"

输出:

json
{
  "success": true,
  "instanceId": "xxx-123",
  "instance": {
    "processInstanceId": "xxx-123",
    "title": "请假申请",
    "status": "COMPLETED",
    "formComponentValues": [...],
    "tasks": [...]
  }
}
22. 查询用户发起的审批 (list-user-initiated-approvals)
bash
python scripts/list_user_initiated_approvals.py "<userId>" [--startTime <ts>] [--endTime <ts>] [--maxResults 20]

输出:

json
{ "success": true, "userId": "user001", "instances": [...], "totalCount": 5, "hasMore": false }
23. 查询用户抄送的审批 (list-user-cc-approvals)
bash
python scripts/list_user_cc_approvals.py "<userId>" [--startTime <ts>] [--endTime <ts>] [--maxResults 20]
24. 查询用户待审批实例 (list-user-todo-approvals)
bash
python scripts/list_user_todo_approvals.py "<userId>" [--maxResults 20]

输出:

json
{ "success": true, "userId": "user001", "instances": [...], "totalCount": 3, "hasMore": false }
25. 查询用户已审批实例 (list-user-done-approvals)
bash
python scripts/list_user_done_approvals.py "<userId>" [--startTime <ts>] [--endTime <ts>] [--maxResults 20]
26. 发起审批实例 (create-approval-instance)
bash
python scripts/create_approval_instance.py "<processCode>" "<originatorUserId>" "<deptId>" '<formValuesJson>' [--ccList "user1,user2"]

formValuesJson 示例: '[{"name":"标题","value":"请假申请"}]'

输出:

json
{ "success": true, "processCode": "PROC-XXX", "originatorUserId": "user001", "instanceId": "xxx-new" }
27. 撤销审批实例 (terminate-approval-instance)
bash
python scripts/terminate_approval_instance.py "<instanceId>" "<operatingUserId>" ["<remark>"]

输出:

json
{ "success": true, "instanceId": "xxx-123", "message": "审批实例已撤销" }
28. 执行审批任务 (execute-approval-task)

同意或拒绝审批任务。

bash
python scripts/execute_approval_task.py "<instanceId>" "<userId>" "<agree|refuse>" [--taskId "xxx"] [--remark "审批意见"]

输出:

json
{ "success": true, "instanceId": "xxx-123", "userId": "user001", "action": "agree", "message": "已同意审批" }
29. 转交审批任务 (transfer-approval-task)
bash
python scripts/transfer_approval_task.py "<instanceId>" "<userId>" "<transferToUserId>" [--taskId "xxx"] [--remark "转交原因"]

输出:

json
{ "success": true, "instanceId": "xxx-123", "userId": "user001", "transferToUserId": "user002", "message": "审批任务已转交" }
30. 添加审批评论 (add-approval-comment)
bash
python scripts/add_approval_comment.py "<instanceId>" "<commentUserId>" "<评论内容>"

输出:

json
{ "success": true, "instanceId": "xxx-123", "userId": "user001", "message": "评论已添加" }
31. 创建即时视频会议 (create-video-conference)

立即创建视频会议并邀请参会人。

bash
python scripts/create_video_conference.py "<会议主题>" "<发起人unionId>" "[邀请人unionId1,unionId2]"

输出:

json
{ "success": true, "title": "测试会议", "conferenceId": "xxx", "conferencePassword": "123456" }
32. 关闭视频会议 (close-video-conference)
bash
python scripts/close_video_conference.py "<conferenceId>" "<操作人unionId>"

输出:

json
{ "success": true, "conferenceId": "xxx", "message": "视频会议已关闭" }
33. 创建预约会议 (create-schedule-conference)

通过日历 API 创建预约会议,自动关联钉钉视频会议,日程会出现在钉钉日历中。

bash
python scripts/create_schedule_conference.py "<会议主题>" "<创建人unionId>" "<开始时间>" "<结束时间>" "[参会人unionId1,unionId2]" "[会议地点]"

时间格式: "2026-03-16 14:00" 或 ISO 8601

输出:

json
{
  "success": true,
  "title": "周会",
  "eventId": "NXZCUEtxOGZMN3JpcDQ3ZE45UVRFdz09",
  "onlineMeetingUrl": "dingtalk://...",
  "conferenceId": "xxx",
  "startTime": "2026-03-16T14:00:00+08:00",
  "endTime": "2026-03-16T15:00:00+08:00",
  "attendeeCount": 2
}
34. 取消预约会议 (cancel-schedule-conference)
bash
python scripts/cancel_schedule_conference.py "<scheduleConferenceId>" "<创建人unionId>"

输出:

json
{ "success": true, "scheduleConferenceId": "xxx", "message": "预约会议已取消" }
35. 查询日程列表 (list-events)
bash
python scripts/list_events.py "<用户unionId>" [--time-min "2026-03-01 00:00"] [--time-max "2026-03-31 23:59"]

输出:

json
{
  "success": true,
  "totalCount": 5,
  "events": [{ "id": "eventId", "summary": "周会", "start": {...}, "end": {...} }]
}
36. 查询日程详情 (get-event)
bash
python scripts/get_event.py "<用户unionId>" "<eventId>"

输出:

json
{
  "success": true,
  "event": { "id": "eventId", "summary": "周会", "attendees": [...], "onlineMeetingInfo": {...} }
}
37. 删除日程 (delete-event)
bash
python scripts/delete_event.py "<用户unionId>" "<eventId>" [--push-notification]

输出:

json
{ "success": true, "eventId": "xxx", "message": "日程已删除" }
38. 添加日程参与者 (add-event-attendee)
bash
python scripts/add_event_attendee.py "<用户unionId>" "<eventId>" "<参与者unionId1,unionId2>"

输出:

json
{ "success": true, "eventId": "xxx", "addedCount": 2, "message": "已添加 2 位参与者" }
39. 移除日程参与者 (remove-event-attendee)
bash
python scripts/remove_event_attendee.py "<用户unionId>" "<eventId>" "<参与者unionId1,unionId2>"

输出:

json
{ "success": true, "eventId": "xxx", "removedCount": 1, "message": "已移除 1 位参与者" }
40. 获取知识库列表 (list-workspaces)

获取用户能访问的所有知识库。

bash
python scripts/list_workspaces.py "<操作人unionId>"

输出:

json
{
  "success": true,
  "totalCount": 2,
  "workspaces": [
    { "workspaceId": "xxx", "name": "技术部知识库", "type": "TEAM", "url": "https://...", "rootNodeId": "yyy" }
  ]
}
41. 创建知识库文档 (create-doc)

在指定知识库中创建新文档。

bash
python scripts/create_doc.py "<workspaceId>" "<文档名>" "<操作人unionId>" ["<docType>"]

docType 可选值:alidoc(钉钉文档,默认)、alisheet(表格)、alinote(笔记)

输出:

json
{
  "success": true,
  "name": "周报",
  "docType": "alidoc",
  "workspaceId": "xxx",
  "nodeId": "yyy",
  "docKey": "zzz",
  "url": "https://..."
}
42. 搜索知识库文档 (search-doc)

根据文档名关键词搜索知识库文档,返回文档链接。

bash
python scripts/search_doc.py "<操作人unionId>" "<文档名关键词>" ["<workspaceId>"]

不指定 workspaceId 时搜索所有知识库。

输出:

json
{
  "success": true,
  "keyword": "周报",
  "totalCount": 3,
  "documents": [
    { "name": "3月第2周周报", "nodeId": "xxx", "url": "https://...", "category": "ALIDOC", "workspaceName": "技术部知识库" }
  ]
}
43. 覆写文档内容 (overwrite-doc)

覆写知识库文档的全部内容(全量替换,非追加)。

bash
python scripts/overwrite_doc.py "<workspaceId>" "<nodeId>" "<操作人unionId>" "<内容>"

输出:

json
{ "success": true, "workspaceId": "xxx", "nodeId": "yyy", "message": "文档内容已覆写" }

错误处理

所有脚本在错误时返回统一格式:

json
{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "错误描述"
  }
}

常见错误码:

  • MISSING_CREDENTIALS - 未设置环境变量
  • INVALID_ARGS - 参数不足
  • UNKNOWN_ERROR - API 调用异常

重要说明

  • userId 是企业内部用户 ID,unionId 是全局唯一标识
  • 会议、日程、知识库相关的 API 使用 unionId,可通过 get-user 查询获取
  • 根部门 deptId 为 1
  • 知识库 workspaceId 通过 list-workspaces 获取,nodeId 通过 search-doc 获取

© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 50 other files (scripts) in skills/ding-skills of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • CLAUDE.md
  • README.md
  • _meta.json
  • package.json
  • requirements.txt
  • scripts/__init__.py
  • scripts/add_approval_comment.py
  • scripts/add_event_attendee.py
  • scripts/cancel_schedule_conference.py
  • scripts/close_video_conference.py
  • scripts/create_approval_instance.py
  • scripts/create_doc.py
  • scripts/create_schedule_conference.py
  • scripts/create_video_conference.py
  • scripts/delete_event.py
  • scripts/dingtalk_client.py
  • scripts/execute_approval_task.py
  • scripts/get_approval_instance.py
  • scripts/get_bot_list.py
  • … and 31 more

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Ding Skills next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ding Skills compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ding Skills this skillLeoYeAI/openclaw-master-skills2.2k—~3.6kAutomated safety check: PassMIT
Feishu Wikiraucvr/Group-Goki1123 repos~549Automated safety check: PassMIT
Feishu Wikiopenclaw/openclaw392k—~344Automated safety check: PassMIT
Video Transcript Doc Writerdragon-hh/ai-boshu-crawler106—~695Automated safety check: PassNone
Kb Guide0xranx/golembot322—~612Automated safety check: PassMIT
Larksnap FetchAmbroseX/larksnap291—~923Automated safety check: PassApache-2.0

Similar skills

  • Feishu Wiki

    raucvr/Group-Goki

    Feishu knowledge base navigation. An agent skill from raucvr/Group-Goki.

    112 GitHub starsUsed in 3 repos~549 tokens
    Knowledge ManagementAuto-check passed
  • Feishu Wiki

    openclaw/openclaw

    Feishu knowledge-base navigation workflows. An agent skill from openclaw/openclaw.

    392k GitHub stars~344 tokensUpdated today
    Knowledge ManagementAuto-check passed
  • Video Transcript Doc Writer

    dragon-hh/ai-boshu-crawler

    为 AI博主爬取 项目生成智能体辅助整理的可读口播稿章节。用于创建 publishtranscriptdocstofeishu.py 所需的 curation JSON,或在需要读取本地视频转写稿并在保持原意的前提下,重写成中文标题、段落和保守 ASR 修正的结构化可读稿时使用。

    106 GitHub stars~695 tokensUpdated 2 mo ago
    Knowledge ManagementAuto-check passed
  • Kb Guide

    0xranx/golembot

    Search, read, create, and update knowledge base entries via MCP-connected KB tools.

    322 GitHub stars~612 tokensUpdated 12 days ago
    Knowledge ManagementAuto-check passed
  • Larksnap Fetch

    AmbroseX/larksnap

    把飞书/Lark 文档或普通网页抓取并保存到本地,也能编辑用户有权限的飞书文档,并用已登录浏览器执行一次网页搜索。用户要求下载、导出、抓取、写入飞书文档,或联网搜索资料/参考链接时使用本技能,即使没有提到 larksnap。底层通过技能自带 daemon 桥接已登录的 larksnap 浏览器扩展;arXiv 使用独立脚本。

    291 GitHub stars~923 tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Tech Distiller

    yaofeino1/tech-distiller

    Collects technical documents from URLs, files, wikis or APIs, filters them by role or technical direction, and writes a structured report on architecture, algorithms and design decisions.

    144 GitHub stars~1.2k tokensUpdated 6 mo ago
    Knowledge ManagementAuto-check passed

More from LeoYeAI/openclaw-master-skills

All 1,200 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Ding Skills

What does Ding Skills do?

钉钉操作助手(DingTalk)。当用户通过钉钉对话、或提到以下任何场景时必须使用此技能:查人(查下某某、搜一下某人、找一下谁谁)、查部门、查手机号、查工号、约会议(预约会议、创建会议、安排会议、开个会)、发消息(给某人发消息、群里发个通知)、查审批(我的审批、待审批、审批状态)、发起审批、同意/拒绝审批、查日程、创建日程、查员工数、查离职、开视频会议、钉钉知识库(查钉钉知识库、在钉钉创建文档、…. Ding Skills is an agent skill from LeoYeAI/openclaw-master-skills.

When should I use Ding Skills?

Ding Skills fits situations like: user mentions anything about DingTalk; the message comes from a DingTalk channel: looking up people; searching users/departments; scheduling meetings.

How do I install Ding Skills in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill ding-skills -a claude-code`. Or copy the skill folder (skills/ding-skills in LeoYeAI/openclaw-master-skills) into .claude/skills/ding-skills in your project. Claude Code loads it when a task matches its description.

How do I install Ding Skills in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill ding-skills -a codex`. Or copy the skill folder (skills/ding-skills in LeoYeAI/openclaw-master-skills) into .agents/skills/ding-skills in your project. Codex loads it when a task matches its description.

Can I use Ding Skills in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill ding-skills -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ding-skills, .gemini/skills/ding-skills, .github/skills/ding-skills and .opencode/skills/ding-skills in your project.

What does Ding Skills need to run?

Going by SKILL.md and its folder, Ding Skills needs Python for the scripts in its folder, the command-line tools its instructions call (python) and credentials named DINGTALK_APP_KEY, DINGTALK_APP_SECRET and MISSING_CREDENTIALS. Our summary lists: Python 3; A credential in DINGTALK_APP_KEY; A credential in DINGTALK_APP_SECRET.

Does Ding Skills access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Ding Skills safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Ding Skills use?

Ding Skills is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ding Skills use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ding Skills?

Skills that share tags, products or a category with Ding Skills: Feishu Wiki (raucvr/Group-Goki, 112 stars), Feishu Wiki (openclaw/openclaw, 392k stars), Video Transcript Doc Writer (dragon-hh/ai-boshu-crawler, 106 stars) and Kb Guide (0xranx/golembot, 322 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ding Skills?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.