DingTalk Workspace CLI is a cross-platform command-line tool that brings DingTalk’s product capabilities into one interface. It serves human users and AI agents working with DingTalk enterprise data, with administrator authorization required. Its catalogue add-ons provide agent skills for using the CLI’s product areas.
Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/DingTalk-Real-AI/dingtalk-workspace-clinpx agentmods add skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-calendarWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-calendar)<a href="https://agentmods.dev/skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-calendar"><img src="https://agentmods.dev/badge/skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-calendar/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-calendar"><img src="https://agentmods.dev/badge/skills/dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-calendar.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00114 | $0.03808 |
| Opus 5.5 | $0.00046 | $0.01523 |
| Sonnet 5.5 | $0.00023 | $0.00762 |
| Haiku 4.5 | $0.00011 | $0.00381 |
Grade A, and why
dingtalk-calendar scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 138 lines — stays where its author put it; the contents beside it link to each section on GitHub.
钉钉日历 Skill
前置条件 — 执行操作前必读
**CRITICAL — 执行任何
dws操作前,MUST 先用 Read 工具完整读取dingtalk-shared。**该轻量文件包含全局执行契约、安全底线及 shared references 的按需加载导航;不要预加载其全部 references。
常用路径直接按本文件执行,不要预读大而全的 calendar.md。仅在循环日程、响应邀请、共享/ACL、附件、日历本或低频参数无法由本文件定位时按需读取对应小节;订会议室的范围与失败收束才读取 03-meeting.md。
Shortcuts(无专用脚本/recipe 时优先)
以下 shortcut 同时进入公开 catalog 与 Runtime Schema。按本 skill/recipe 路由,命中时 Shortcut 优先于原子命令。参数只查 dws schema --cli-path "calendar +<shortcut>" --compact --jq '{cli_path,parameters,constraints,confirmation}' -f json;仅需且已发布 result 时查 --jq '{cli_path,outcomes:.result.outcomes,pagination}',字段级再查 data_schema;缺失不以 Help/样例推断。Schema 不可用才读一次已知 leaf Help;unknown flag 用同 leaf Help 修正一次。unknown command 禁 Help:错误 suggestion → 已加载 Skill/reference 明确入口;均无则报漂移。禁全 Catalog/root/parent/product Help;仅映射、接口或 provenance 审计省略 --compact。现有路由和 reference 均无法定位低频能力时,才用 dws shortcut list --service calendar --format json 发现。
| Shortcut | 风险 | 适用场景 |
|---|---|---|
dws calendar +agenda |
read | 查询日程列表(不传时间默认查询今天) |
dws calendar +attendee-list |
read | 查看日程参会人 |
dws calendar +book |
write | 创建日程,并可按姓名邀请参会人(自动解析 userId,失败自动回滚删除日程) |
dws calendar +book-list |
read | 查询用户的日历本列表 |
dws calendar +book-search |
read | 按名称模糊搜索日历本 |
dws calendar +cancel-event |
high-risk-write | 取消(删除)一个已有日程(删除前先确认它真实存在) |
dws calendar +conflicts |
read | 检测我某天日程的时间冲突(重叠/双重预订,默认今天) |
dws calendar +free |
read | 按姓名查询某人在指定时间段内的忙闲状态(自动解析 userId) |
dws calendar +free-slots |
read | 找我某天工作时段内的空闲时间段(默认今天 09:00-18:00) |
dws calendar +freebusy |
read | 查询用户 / 会议室闲忙状态(--users 与 --rooms 至少其一) |
dws calendar +invite |
write | 按姓名把参会人加入已有日程(自动解析 userId 后批量添加) |
dws calendar +my-free |
read | 查我自己在某时间段的忙闲(默认今天,无需输入姓名) |
dws calendar +next-event |
read | 查看接下来最近的一个日程(默认扫描未来 7 天) |
dws calendar +reschedule |
write | 改一个已有日程的时间(只动开始/结束时间,其他字段不变) |
dws calendar +room-find |
read | 按时间段搜索可用会议室(不传时间默认当前起 1 小时) |
dws calendar +room-groups |
read | 会议室分组列表 |
dws calendar +room-search |
read | 按名称模糊搜索会议室(不检查可用性) |
dws calendar +suggest-time |
read | 按姓名解析多位参与者,推荐大家都有空的可开会时间段(自动解析 userId) |
dws calendar +today |
read | 列出我今天的日程(自动计算今天的起止时间,无需手动填时间范围) |
dws calendar +tomorrow |
read | 列出我明天的日程(自动计算明天的起止时间,无需手动填时间范围) |
dws calendar +week |
read | 列出我本周的日程(自动按周一为周首计算本周起止时间,无需手动填时间范围) |
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed f42f6fe64336
- 1mo ago First seen · 138 lines · 114 tokens per session scan A 8b765dea7f39
dingtalk-calendar is a skill published in the GitHub repository DingTalk-Real-AI/dingtalk-workspace-cli (3,788 stars, last pushed 2d ago), licensed Apache-2.0. It adds 114 tokens to every session and 3,808 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
story-readiness
Checks whether a story is ready to implement: clear acceptance criteria, no open questions, valid ADR and dependencies. Use when the user asks if a story, or the sprint's stories, are ready to start or build.
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
qa-project-bootstrap
Onboard a new QA engineer to an existing codebase, or audit an existing test architecture. Produces a 30-day ramp plan: codebase orientation, framework walkthrough, test architecture audit, mentorship pairing, and first-test guidance. Use when: "QA onboarding," "new tester," "ramp up," "test architecture audit,"…
handle-linkedin-connection-request-signal
Use this skill when someone sends a team member an inbound LinkedIn connection request. An inbound request is a deliberate, ACTIVE first-party intent signal — meaningfully stronger than a passive profile view — and it deserves different scoring rules. The skill resolves and enriches the requester, gates them through…