Agent skill

Dingtalk Openapi Skill

by holon-run in holon-run/uxc

Operate DingTalk messaging APIs through UXC with a curated OpenAPI schema, app-token bearer auth, and robot/service-group guardrails.

MITAuto-check passedBackend & APIs

Install Dingtalk Openapi Skill

skills CLI
$ npx skills add holon-run/uxc --skill dingtalk-openapi-skill -a claude-code

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

GitHub CLI
$ gh skill install holon-run/uxc dingtalk-openapi-skill --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/holon-run/uxc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dingtalk-openapi-skill .claude/skills/dingtalk-openapi-skill && 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
dingtalk-openapi-skill
GitHub stars
115
Token cost
~1.6k tokens
SKILL.md length
513 words
Files
5 (incl. scripts, references)
Skills in repo
62
Repo updated
First seen
Licence
MIT

At a glance

Operate DingTalk messaging APIs through UXC with a curated OpenAPI schema, app-token bearer auth, and robot/service-group guardrails.

  • Works in 4 steps: Use the fixed link command by default → Inspect operation schema first → Prefer read/setup validation before writes → …
  • Tasks that involve OpenAPI specifications
  • SKILL.md covers Prerequisites, Scope, Subscribe / Stream Mode Status and API Surface Choice, plus 5 more sections
  • Runs Shell scripts from its folder; calls curl; reaches api.dingtalk.com; needs DINGTALK_APP_KEY and DINGTALK_APP_SECRET

What it does

Dingtalk Openapi Skill is an agent skill from holon-run/uxc. Operate DingTalk messaging APIs through UXC with a curated OpenAPI schema, app-token bearer auth, and robot/service-group guardrails.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/dingtalk-messaging.openapi.json` and `references/usage-patterns.md`).

It sits in Backend & APIs, covering OpenAPI specifications and LLM guardrails. It works with OpenAPI. The repository describes itself as: A unified CLI for discovering and invoking tools across OpenAPI, MCP, GraphQL, gRPC, and JSON-RPC. The licence is MIT.

When your agent uses it

  • Tasks that involve OpenAPI specifications
  • Tasks that involve LLM guardrails

Example prompts

  • “/dingtalk-openapi-skill”

Requirements

  • A Bash shell
  • A credential in DINGTALK_APP_KEY
  • A credential in DINGTALK_APP_SECRET

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Use the fixed link command by default
  2. Inspect operation schema first
  3. Prefer read/setup validation before writes
  4. Execute with key/value or positional JSON

What it can do on your machine

Read from SKILL.md and the folder at commit 562d47c. 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 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • curl

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.dingtalk.com

    Also links to:

    • open.dingtalk.com

    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
    • DINGTALK_ACCESS_TOKEN

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

Context cost

Dingtalk Openapi Skill loads about 1.6k tokens when it runs, and up to ~3.8k if it reads all its reference files. Until then it costs about 39 tokens; SKILL.md has 513 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~39
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.8k

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 holon-run/uxc at commit 562d47c, republished under its MIT licence (© holon-run). 513 words, ~1,560 tokens.

Download SKILL.mdSave it as .claude/skills/dingtalk-openapi-skill/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
dingtalk-openapi-skill
description
Operate DingTalk messaging APIs through UXC with a curated OpenAPI schema, app-token bearer auth, and robot/service-group guardrails.

DingTalk Messaging Skill

Use this skill to run DingTalk messaging operations through uxc + OpenAPI.

Reuse the uxc skill for shared execution, auth, and error-handling guidance.

Prerequisites

  • uxc is installed and available in PATH.
  • Network access to https://api.dingtalk.com/v1.0.
  • Access to the curated OpenAPI schema URL:
    • https://raw.githubusercontent.com/holon-run/uxc/main/skills/dingtalk-openapi-skill/references/dingtalk-messaging.openapi.json
  • A DingTalk internal app or app suite with bot messaging permissions enabled.
  • A DingTalk app appKey + appSecret, or a current accessToken if you are using the manual fallback path.
  • Robot code, conversation identifiers, and user identifiers for the target send flows.

Scope

This skill covers a narrow IM-focused request/response surface:

  • one-to-one bot sends
  • group bot sends
  • service group sends
  • minimal user lookup by unionId

This skill does not cover:

  • approval, attendance, admin, or broader enterprise app workflows
  • old oapi.dingtalk.com endpoints
  • custom robot webhook token/signature flows
  • inbound callback or webhook receiver runtime

Subscribe / Stream Mode Status

DingTalk has event-delivery flows such as Stream Mode, but those flows are outside the current scope of this skill.

Current uxc subscribe status:

  • this skill is validated only for request/response messaging operations
  • DingTalk inbound event/message intake is not currently validated through uxc subscribe

Treat DingTalk as a possible future subscribe target via Stream Mode rather than a currently supported IM subscribe provider.

API Surface Choice

This skill is intentionally pinned to the newer DingTalk Open Platform host:

  • https://api.dingtalk.com/v1.0

The older oapi.dingtalk.com surface is intentionally excluded from v1 to keep auth and schema shape consistent.

Authentication

DingTalk v1 APIs use app accessToken credentials.

Preferred setup is to store appKey + appSecret as credential fields and let uxc auth bootstrap fetch and refresh the short-lived access token automatically.

Bootstrap-managed setup:

bash
uxc auth credential set dingtalk-app \
  --auth-type bearer \
  --field app_key=env:DINGTALK_APP_KEY \
  --field app_secret=env:DINGTALK_APP_SECRET

uxc auth bootstrap set dingtalk-app \
  --token-endpoint https://api.dingtalk.com/v1.0/oauth2/accessToken \
  --header 'Content-Type=application/json' \
  --request-json '{"appKey":"{{field:app_key}}","appSecret":"{{field:app_secret}}"}' \
  --access-token-pointer /accessToken \
  --expires-in-pointer /expireIn

uxc auth binding add \
  --id dingtalk-app \
  --host api.dingtalk.com \
  --path-prefix /v1.0 \
  --scheme https \
  --credential dingtalk-app \
  --priority 100

Manual fallback if you already have an app access token:

bash
curl -sS https://api.dingtalk.com/v1.0/oauth2/accessToken \
  -H 'Content-Type: application/json' \
  -d '{"appKey":"dingxxxx","appSecret":"xxxx"}'

Configure one bearer credential and bind it to the DingTalk API host:

bash
uxc auth credential set dingtalk-app \
  --auth-type bearer \
  --secret-env DINGTALK_ACCESS_TOKEN

uxc auth binding add \
  --id dingtalk-app \
  --host api.dingtalk.com \
  --path-prefix /v1.0 \
  --scheme https \
  --credential dingtalk-app \
  --priority 100

Validate the active mapping when auth looks wrong:

bash
uxc auth binding match https://api.dingtalk.com/v1.0
Show full SKILL.md (216 more words)Show less

Core Workflow

  1. Use the fixed link command by default:

    • command -v dingtalk-openapi-cli
    • If missing, create it: uxc link dingtalk-openapi-cli https://api.dingtalk.com/v1.0 --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/dingtalk-openapi-skill/references/dingtalk-messaging.openapi.json
    • dingtalk-openapi-cli -h
  2. Inspect operation schema first:

    • dingtalk-openapi-cli get:/contact/users/{unionId} -h
    • dingtalk-openapi-cli post:/robot/oToMessages/batchSend -h
    • dingtalk-openapi-cli post:/robot/groupMessages/send -h
  3. Prefer read/setup validation before writes:

    • dingtalk-openapi-cli get:/contact/users/{unionId} unionId=$DINGTALK_UNION_ID
    • dingtalk-openapi-cli post:/robot/oToMessages/batchSend -h
    • dingtalk-openapi-cli post:/serviceGroup/messages/send -h
  4. Execute with key/value or positional JSON:

    • key/value: dingtalk-openapi-cli get:/contact/users/{unionId} unionId=$DINGTALK_UNION_ID language=zh_CN
    • positional JSON: dingtalk-openapi-cli post:/robot/groupMessages/send '{"openConversationId":"cidxxxx","robotCode":"dingxxxx","msgKey":"sampleText","msgParam":"{\"content\":\"Hello from UXC\"}"}'

Operation Groups

User Lookup
  • get:/contact/users/{unionId}
Messaging
  • post:/robot/oToMessages/batchSend
  • post:/robot/groupMessages/send
  • post:/serviceGroup/messages/send

Guardrails

  • Keep automation on the JSON output envelope; do not use --text.
  • Parse stable fields first: ok, kind, protocol, data, error.
  • Prefer uxc auth bootstrap over manual token management. Manual accessToken setup is still supported as a fallback.
  • All three send operations are high-risk writes. Require explicit user confirmation before execution.
  • DingTalk msgParam is a JSON-encoded string payload, not a nested JSON object. Build and validate that string carefully before sending.
  • robotCode, openConversationId, coolAppCode, and target identifiers are all provider-specific routing fields. Missing any of them generally means the send will fail even if auth is valid.
  • This v1 wrapper does not include custom robot webhook token/sign flows; use app-based APIs only.
  • dingtalk-openapi-cli <operation> ... is equivalent to uxc https://api.dingtalk.com/v1.0 --schema-url <dingtalk_openapi_schema> <operation> ....

References

© holon-run, 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 4 other files (scripts, references) in skills/dingtalk-openapi-skill of holon-run/uxc.

  • SKILL.md
  • agents/openai.yaml
  • references/dingtalk-messaging.openapi.json
  • references/usage-patterns.md
  • scripts/validate.sh

Open the folder on GitHubat commit 562d47c

Compare with similar skills

Dingtalk Openapi Skill 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.

Dingtalk Openapi Skill compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dingtalk Openapi Skill this skillholon-run/uxc115—~1.6kAutomated safety check: PassMIT
Aliyun Green Moderationcinience/alicloud-skills397—~728Automated safety check: PassMIT
ToolJet Marketplace Plugin BuilderToolJet/ToolJet41k—~2.1kAutomated safety check: PassAGPL-3.0
Step Partsearthtojake/text-to-cad18k1 repos~1.5kAutomated safety check: PassMIT
API DesignerJeffallan/claude-skills12k2 repos~2kAutomated safety check: PassMIT
OpenAPI to MCP Servermcp-use/mcp-use11k—~5.2kAutomated safety check: PassApache-2.0

Similar skills

  • Aliyun Green Moderation

    cinience/alicloud-skills

    A skill your agent uses when managing Alibaba Cloud Content Moderation (Green) via OpenAPI/SDK, including the user needs content moderation resource and policy operations, including…

    397 GitHub stars~728 tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Turns an API description, such as an OpenAPI file or a Postman collection, into a connector plugin for ToolJet's marketplace and checks it with the repo's validator.

    41k GitHub stars~2.1k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Step Parts

    earthtojake/text-to-cad

    Find, evaluate, and download common purchasable CAD parts from step.parts, including named off-the-shelf actuators, servos, motors, electronics boards, connectors, screws, bolts, nuts, washers…

    18k GitHub starsUsed in 1 repo~1.5k tokens
    Backend & APIsAuto-check passed
  • API Designer

    Jeffallan/claude-skills

    Designs REST and GraphQL APIs from resource modeling to an OpenAPI 3.1 contract, with versioning, pagination and RFC 7807 error handling.

    12k GitHub starsUsed in 2 repos~2k tokens
    Backend & APIsAuto-check passed
  • OpenAPI to MCP Server

    mcp-use/mcp-use

    Turns an OpenAPI or Swagger spec into an MCP server with the mcp-use TypeScript SDK, mapping each operation to a tool, wiring auth, testing and deploying.

    11k GitHub stars~5.2k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Use Yaak

    mountain-loop/yaak

    A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…

    19k GitHub stars~1.9k tokensUpdated today
    Backend & APIsAuto-check passed

More from holon-run/uxc

All 62 skills in this repo
  • Context7 MCP Skill

    holon-run/uxc

    Query up-to-date library documentation and code examples using Context7 MCP.

    115 GitHub stars~564 tokensUpdated 22 days ago
    Auto-check passed
  • Deepwiki MCP Skill

    holon-run/uxc

    Ask questions and read documentation about any GitHub repository using DeepWiki MCP.

    115 GitHub stars~700 tokensUpdated 22 days ago
    Auto-check passed
  • Operate Linear workspace issues, projects, and teams through Linear GraphQL API using UXC.

    115 GitHub stars~1.8k tokensUpdated 22 days ago
    Auto-check passed
  • Operate Notion Public API through UXC with a curated OpenAPI schema for search, block traversal, page reads, content writes, and data source/database inspection.

    115 GitHub stars~2.3k tokensUpdated 22 days ago
    Auto-check passed
  • Operate Alchemy Prices API reads through UXC with a curated OpenAPI schema, path-templated API-key auth, and read-first guardrails.

    115 GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed
  • Uxc

    holon-run/uxc

    Discover and call remote schema-exposed interfaces with UXC.

    115 GitHub stars~1.8k tokensUpdated 22 days ago
    Auto-check passed

Works with

Categories

Questions about Dingtalk Openapi Skill

What does Dingtalk Openapi Skill do?

Operate DingTalk messaging APIs through UXC with a curated OpenAPI schema, app-token bearer auth, and robot/service-group guardrails. Dingtalk Openapi Skill is an agent skill from holon-run/uxc. Operate DingTalk messaging APIs through UXC with a curated OpenAPI schema, app-token bearer auth, and robot/service-group guardrails.

When should I use Dingtalk Openapi Skill?

Dingtalk Openapi Skill fits situations like: tasks that involve OpenAPI specifications; tasks that involve LLM guardrails.

How do I install Dingtalk Openapi Skill in Claude Code?

Run `npx skills add holon-run/uxc --skill dingtalk-openapi-skill -a claude-code`. Or copy the skill folder (skills/dingtalk-openapi-skill in holon-run/uxc) into .claude/skills/dingtalk-openapi-skill in your project. Claude Code loads it when a task matches its description.

How do I install Dingtalk Openapi Skill in Codex?

Run `npx skills add holon-run/uxc --skill dingtalk-openapi-skill -a codex`. Or copy the skill folder (skills/dingtalk-openapi-skill in holon-run/uxc) into .agents/skills/dingtalk-openapi-skill in your project. Codex loads it when a task matches its description.

Can I use Dingtalk Openapi Skill 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 holon-run/uxc --skill dingtalk-openapi-skill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dingtalk-openapi-skill, .gemini/skills/dingtalk-openapi-skill, .github/skills/dingtalk-openapi-skill and .opencode/skills/dingtalk-openapi-skill in your project.

What does Dingtalk Openapi Skill need to run?

Going by SKILL.md and its folder, Dingtalk Openapi Skill needs a shell for the scripts in its folder, the command-line tools its instructions call (curl) and credentials named DINGTALK_APP_KEY, DINGTALK_APP_SECRET and DINGTALK_ACCESS_TOKEN. Our summary lists: A Bash shell; A credential in DINGTALK_APP_KEY; A credential in DINGTALK_APP_SECRET.

Does Dingtalk Openapi Skill access the network?

SKILL.md names 2 domains. In commands or code: api.dingtalk.com; the agent is likely to contact it when it follows the instructions. As links in the text: open.dingtalk.com. This is read from the text; nothing was executed.

Is Dingtalk Openapi Skill 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 Dingtalk Openapi Skill use?

Dingtalk Openapi Skill 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 Dingtalk Openapi Skill use?

About 1.6k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.2k tokens, read only when the agent opens those files.

What are the alternatives to Dingtalk Openapi Skill?

Skills that share tags, products or a category with Dingtalk Openapi Skill: Aliyun Green Moderation (cinience/alicloud-skills, 397 stars), ToolJet Marketplace Plugin Builder (ToolJet/ToolJet, 41k stars), Step Parts (earthtojake/text-to-cad, 18k stars) and API Designer (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dingtalk Openapi Skill?

holon-run (a GitHub organization) maintains it in holon-run/uxc, which has 115 GitHub stars. The repository holds 62 skills in this directory. The repository was last updated on September 15, 2026.

Source: holon-run/uxc on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.