dingtalk-skills

中文 | English


Adapted for OpenClaw 🦞 — install from ClawHub · Skills.sh 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 curl for 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 · Skills.sh
dingtalk-ai-table Available AI table sheet/field/record management 🦞 ClawHub · Skills.sh
dingtalk-message Available Messages: Webhook robot, single/group chat, work notifications 🦞 ClawHub · Skills.sh
dingtalk-todo Available Todo management: create, query, update, complete, delete 🦞 ClawHub · Skills.sh
dingtalk-contact Available Directory: search users/departments, user details, department tree 🦞 ClawHub · Skills.sh
dingtalk-ai-web-search Available Web search: keyword search, time filter, JSON output 🦞 ClawHub · Skills.sh
dingtalk-calendar Available Calendar: CRUD, free/busy, video meetings, rooms, sign-in/out 🦞 ClawHub · Skills.sh
dingtalk-approval 🗓️ Planned Approval workflow management
dingtalk-attendance 🗓️ Planned Attendance & check-in management
dingtalk-meeting 🗓️ Planned Video meeting management

Quick Start

Prerequisites

  1. A DingTalk enterprise internal app on DingTalk Open Platform
  2. Relevant API permissions enabled (Knowledge Base / AI Table / Robot Message / Todo, etc.)
  3. Your appKey, appSecret, and DingTalk userId — 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

Install all skills at once:

npx skills add breath57/dingtalk-skills \
  -s 'dingtalk-document,dingtalk-ai-table,dingtalk-message,dingtalk-todo,dingtalk-contact,dingtalk-ai-web-search,dingtalk-calendar'

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

🦞 ClawHub · dingtalk-document

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)

🦞 ClawHub · dingtalk-ai-table

Install

# 1. ClawHub
clawhub install breath57/dingtalk-ai-table

# 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

🦞 ClawHub · dingtalk-message

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

🦞 ClawHub · 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

🦞 ClawHub · dingtalk-contact

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.


🦞 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

🦞 ClawHub · dingtalk-calendar

Install

# 1. ClawHub
clawhub install breath57/dingtalk-calendar

# 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

S
Description
dingtalk-document: 钉钉知识库和文档管理操作。当用户提到"钉钉文档"、"知识库"、"新建文档"、"查看文档目录"、"读取文档内容"、"写入文档"、"更新文档"、"文档成员"、"dingtalk doc"、"knowledge…; dingtalk-message: 钉钉消息发送。当用户提到"钉钉消息"、"发消息"、"发通知"、"群通知"、"群消息"、"Webhook"、"机器人消息"、"机器人发消息"、"工作通知"、"单聊消息"、"群聊消息"、"撤回消息"、"消息已读"、"发送Markdown"、"发卡片消息"、"ActionCard"、"@某人"、"@员工"、"at某人"、"提…
Readme 415 KiB
Languages
Python 69.4%
Shell 20.9%
HTML 9.7%