- 添加 scripts/dt_helper.sh 统一配置读取与 token 管理 - 将场景路由、身份标识、消息类型速查、典型场景等迁入 api.md - SKILL.md 仅保留策略指南:通道概览、工作流程、配置表、脚本模板、查阅索引
dingtalk-skills
中文 | English
Adapted for OpenClaw 🦞 — install from ClawHub with one click.
Let your AI Agent operate DingTalk directly — no manual API calls, no token management, just conversation.
Built on the Anthropic skills spec, with zero dependencies — only curl for HTTP requests, no Python, no SDK, nothing extra to install. Install with one command and your agent automatically understands when to call DingTalk APIs, which endpoint to use, and how to fill in the parameters — including automatic config management, and error handling.
Why use this
- Talk, don't code: "Add three records to the task table" → Agent handles it end-to-end, no API knowledge required
- Zero dependencies: Only
curlfor HTTP requests — no Python, no SDK, no extra languages to install - Configure once, use everywhere: On first run, the agent collects appKey/appSecret/operatorId in a single prompt, saves to
~/.dingtalk-skills/config, and reuses across all skills automatically
Long-term Goals
This project pursues two parallel long-term objectives:
1. Always only curl
No SDKs, no runtimes, no third-party dependencies — ever. If the system has curl, the skill runs. This guarantees maximum portability and zero-install operation in any agent environment.
2. Push token cost to the absolute minimum
Every task execution loads skill files into the agent's context window — the skill file itself is a cost. Our goal isn't just correctness; it's writing SKILL.md and references/api.md as concisely as possible while maintaining full accuracy. Strip every redundant explanation. Express complete semantics with the shortest possible instructions. Every token must earn its place.
Skills Overview
| Skill | Status | Description | Published On |
|---|---|---|---|
| dingtalk-document | ✅ Available | Knowledge base & document CRUD, directory browsing, member management | 🦞 ClawHub · |
| dingtalk-ai-table | ✅ Available | AI table sheet/field/record management | 🦞 ClawHub · |
| dingtalk-message | ✅ Available | Messages: Webhook robot, single/group chat, work notifications | 🦞 ClawHub · |
| dingtalk-todo | ✅ Available | Todo management: create, query, update, complete, delete | 🦞 ClawHub · |
| dingtalk-contact | ✅ Available | Directory: search users/departments, user details, department tree | 🦞 ClawHub · |
| dingtalk-ai-web-search | ✅ Available | Web search: keyword search, time filter, JSON output | 🦞 ClawHub · |
| dingtalk-calendar | ✅ Available | Calendar: CRUD, free/busy, video meetings, rooms, sign-in/out | 🦞 ClawHub · |
| dingtalk-approval | 🗓️ Planned | Approval workflow management | — |
| dingtalk-attendance | 🗓️ Planned | Attendance & check-in management | — |
| dingtalk-meeting | 🗓️ Planned | Video meeting management | — |
Quick Start
Prerequisites
- A DingTalk enterprise internal app on DingTalk Open Platform
- Relevant API permissions enabled (Knowledge Base / AI Table / Robot Message / Todo, etc.)
- Your
appKey,appSecret, and DingTalkuserId— the agent will walk you through the setup
Install a Skill
Each skill supports two installation methods:
1. ClawHub
clawhub install breath57/dingtalk-document
2. skills.sh (universal — works with Cursor, Claude, Copilot, OpenClaw, and almost any Agent)
npx skills add breath57/dingtalk-skills@dingtalk-document
Just Talk
On first run, the agent checks ~/.dingtalk-skills/config, asks for anything missing in one go, and saves it. Then:
"List my DingTalk knowledge bases"
"Add a record to the 'Backlog' sheet: title=Login fix, priority=High"
"Send a group message saying v2.1 is live, use Markdown format"
"Create a todo: finish competitive analysis by next Friday"
Skill Details
dingtalk-document — Knowledge Base & Documents
Install
# 1. ClawHub
clawhub install breath57/dingtalk-document
# 2. skills.sh (universal — works with Cursor / Claude / Copilot / OpenClaw and almost any Agent)
npx skills add breath57/dingtalk-skills@dingtalk-document
| Capability | Description |
|---|---|
| List workspaces | Get all knowledge bases the user can access |
| Get workspace info | Fetch workspace details by workspaceId |
| Browse directory | List document/folder nodes under a workspace |
| Get node info | Fetch node details by nodeId or document URL |
| Create document/folder | Create a new document or folder in a workspace |
| Read document content | Get document body as Block structure (headings, paragraphs, lists, tables, etc.) |
| Write document content | Replace document body with Block structure |
| Delete document | Remove a document from a workspace |
| Manage members | Add/remove collaborators and set permission levels |
Example: "Write this meeting summary into the '2026-03' folder under the 'Project Docs' workspace" → Agent finds the directory, creates the document, and writes the content.
dingtalk-ai-table — AI Table (Notable)
Install
# 1. ClawHub
clawhub install breath57/dingtalk-ai-table-only-curl
# 2. skills.sh (universal — works with Cursor / Claude / Copilot / OpenClaw and almost any Agent)
npx skills add breath57/dingtalk-skills@dingtalk-ai-table
| Capability | Description |
|---|---|
| List sheets | Get all sheets and IDs in an AI table |
| Get / create / delete sheet | Manage sheets within an AI table |
| List fields | Get all field names and types (text / number / date, etc.) |
| Create / update / delete field | Manage column definitions |
| Insert records | Batch-insert data rows into a sheet |
| List records | Paginated read of all records |
| Update record | Modify specific field values by recordId |
| Delete records | Batch-delete rows by recordId |
Example: "Show me all records in the task sheet where status is 'In Progress'" → Agent fetches field definitions, paginates through all records, and filters the results.
dingtalk-message — Message Sending
Install
# 1. ClawHub
clawhub install breath57/dingtalk-message
# 2. skills.sh (universal — works with Cursor / Claude / Copilot / OpenClaw and almost any Agent)
npx skills add breath57/dingtalk-skills@dingtalk-message
| Capability | Description |
|---|---|
| Webhook robot - text | Send plain text messages to a group |
| Webhook robot - Markdown | Send rich Markdown notifications to a group |
| Webhook robot - ActionCard | Send interactive cards with buttons (single/multi) |
| Webhook robot - Link/FeedCard | Send link messages and aggregated feed cards |
| Webhook signing | Support HMAC-SHA256 signature security mode |
| Robot single chat | Send messages to specific users via internal app robot |
| Robot group chat | Send messages to groups via robot |
| Message recall | Recall single-chat / group-chat robot messages |
| Read status query | Query read/unread status of single-chat messages |
| Work notification | Send work notifications to specific users via app |
| Work notification query/recall | Query send results and recall sent notifications |
Example: "Send a group message saying v2.1 is live today, use Markdown" → Agent constructs the message body and sends it.
dingtalk-todo — DingTalk Todo
Install
# 1. ClawHub
clawhub install breath57/dingtalk-todo
# 2. skills.sh (universal — works with Cursor / Claude / Copilot / OpenClaw and almost any Agent)
npx skills add breath57/dingtalk-skills@dingtalk-todo
| Capability | Description |
|---|---|
| Create todo | Create a task with title, description, due date, and priority |
| Get todo detail | Fetch task details by taskId |
| List todos / completed | Paginated list of undone or completed tasks |
| Update todo | Modify title, description, due date, priority, etc. |
| Mark done / reopen | Mark a task as complete or reopen it |
| Delete todo | Remove a specific todo task |
Example: "Create a todo: finish competitive analysis by next Friday" → Agent auto-sets the due date and creates the task.
dingtalk-contact — DingTalk Directory
Install
# 1. ClawHub
clawhub install breath57/dingtalk-contact
# 2. skills.sh (universal — works with Cursor / Claude / Copilot / OpenClaw and almost any Agent)
npx skills add breath57/dingtalk-skills@dingtalk-contact
| Capability | Description |
|---|---|
| Search users by keyword | Search by name/job number, returns userId list |
| Get full user details | Name, mobile, job number, title, department, unionId, etc. |
| unionId → userId lookup | Resolve userId from a given unionId |
| List department members | Paginated full member details for a department |
| List member userId list | Lightweight version — userId list only |
| Search departments by keyword | Search by name, returns deptId list |
| List sub-departments | Direct child departments with details |
| Get department details | Name, parent dept, member count, order, etc. |
| Get user's department path | Full deptId chain from leaf to root |
| Total employee count | Count all or active employees in the org |
Example: "Find Zhang San's mobile number and department" → Agent searches the user, fetches details, and returns the info.
dingtalk-ai-web-search — Web Search
🦞 ClawHub · dingtalk-ai-web-search
Install
# 1. ClawHub
clawhub install breath57/dingtalk-ai-web-search
# 2. skills.sh (universal — works with Cursor / Claude / Copilot / OpenClaw and almost any Agent)
npx skills add breath57/dingtalk-skills@dingtalk-ai-web-search
| Capability | Description |
|---|---|
| Keyword search | Search public web content, returns title, URL, and snippet |
| Time range filter | Limit results to: one day / one week / one month / one year |
| Custom result count | Specify number of results (default: 5) |
| JSON output | Structured output for programmatic processing |
Example: "Search for Python asyncio best practices" → Agent searches and returns the latest result summaries.
dingtalk-calendar — Calendar & Schedule
Install
# 1. ClawHub
clawhub install breath57/dingtalk-calendar-only-curl
# 2. skills.sh (universal — works with Cursor / Claude / Copilot / OpenClaw and almost any Agent)
npx skills add breath57/dingtalk-skills@dingtalk-calendar
| Capability | Description |
|---|---|
| Create / update / delete events | Events under primary calendar |
| Get event & list by time range | Single event by id; paginated list |
| Free/busy query | querySchedule for unionIds |
| Video meetings / meeting rooms | DingTalk video; room busy query; attach rooms to events |
| Sign-in / sign-out | Sign-in/out links; API sign-in/out |
| Recurrence | recurrence on create; subscribed calendars need extra permissions |
Example: "Add a 1h meeting tomorrow at 3pm titled Review" → Agent builds ISO8601 times and creates the event.
License
MIT