Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add baixinghao/intent-gate-service --skill dingtalk-escalationgit clone --depth 1 https://github.com/baixinghao/intent-gate-serviceWrote 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/baixinghao/intent-gate-service/dingtalk-escalation)<a href="https://agentmods.dev/skills/baixinghao/intent-gate-service/dingtalk-escalation"><img src="https://agentmods.dev/badge/skills/baixinghao/intent-gate-service/dingtalk-escalation/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/baixinghao/intent-gate-service/dingtalk-escalation"><img src="https://agentmods.dev/badge/skills/baixinghao/intent-gate-service/dingtalk-escalation.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00088 | $0.00961 |
| Opus 5 | $0.00044 | $0.00481 |
| Sonnet 5 | $0.00018 | $0.00192 |
| Haiku 4.5 | $0.00009 | $0.00096 |
Grade A, and why
dingtalk-escalation 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 8d 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 — 73 lines — stays where its author put it; the contents beside it link to each section on GitHub.
DingTalk Escalation Protocol(姊妹篇 intent-gate-service 专用)
本 skill 随钉钉交互剥离至 intent-gate-service-service。intent-gate 主插件默认 single 通道(对话框兜底),不碰钉钉;装了 intent-gate-service MCP 后本规程生效。
When to Use
Use the blocking gate (ask_human) or group-channel alignment (group_dispatch)
when a decision needs a human who is reachable in the DingTalk group — not for
things code evidence can settle, and never as a substitute for thinking.
Reply Protocol
Every escalated question carries a correlation token [HG-XXXX]:
- The group message states the question, numbered candidate options, and the reply
format:
@robot [HG-XXXX] <answer>. - Humans reply by @-mentioning the robot with the token. Gate answers return to you
as
HUMAN_REPLY[who]: answer; alignment answers land in the requirement's_review/inbox/and are collected via intent-gate'scollect_answers. - With exactly one pending gate, the token may be omitted
(
HG_ALLOW_IMPLICIT_SINGLE_MATCH). With several pending, a token-less reply is rejected — never assume it matched. - Alignment questions are non-blocking and have no timeout: no answer means
not urgent. Reconcile on session resume via intent-gate-service's
group_rebroadcast(or intent-gate'srebroadcast_pendingfor the file-level checklist). Blocking gates returnNO_REPLYon timeout — treat that as an explicit instruction to take the conservative path, never to improvise.
Tool Split(两个服务各管一段,文件契约衔接)
| 工具 | 所在服务 | 用途 |
|---|---|---|
ask_human / list_pending / cancel_gate |
intent-gate-service | 编码期阻塞式决策闸门(红灯人工升级) |
group_dispatch / group_rebroadcast |
intent-gate-service | 意图对齐发题到群 / 未决题催单 |
collect_answers / resolve_question / list_pending_questions |
intent-gate | 答案领取、核销写流水、就绪自检(单一事实源) |
🔴 答案的注入与核销永远在 intent-gate 侧:intent-gate-service 只做分发与递送, 改图/补分支是宿主的活,文件账本不依赖钉钉存活。
Security Model (fail-closed)
- The whitelist (
HG_ALLOWED_SENDERS) empty = nobody can answer. Do not broaden it to "make things work" — an empty whitelist blocking answers is the system working as designed. - Only whitelisted staffIds can settle a gate; answers are attributed to the sender and recorded verbatim in the alignment log (accountability is a feature).
- HTTP callback mode verifies DingTalk signatures and decrypts AES payloads; per-sender rate limiting applies.
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.
- 8d ago First seen · 73 lines · 88 tokens per session scan A 73a3d9351013
dingtalk-escalation is a skill published in the GitHub repository baixinghao/intent-gate-service (2 stars, last pushed 27d ago), licensed MIT. It adds 88 tokens to every session and 961 once invoked, about $0.0004 per session on Opus 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-31.
Other skills, from other repositories
dingtalk-ai-table
Read and manage DingTalk AI table records through the DingTalk AI Table MCP. Use this skill when the user explicitly refers to a DingTalk AI table, fields, or records.
openprd-harness
A workflow guide for OpenPrd, a workspace for turning unclear product ideas into clarified requirements and a handoff for implementation. It helps choose and run each stage, from questions through final handoff.
openprd-shared
A shared set of rules for working with OpenPrd, a workspace for turning product ideas into documented requirements and plans.
openprd-requirement-intake
A requirement-intake skill for sorting product requests, feature changes, bug fixes, and process changes before planning the work.
openprd-discovery-loop
A routing guide for long, thorough OpenPrd discovery work. It helps inspect an existing project, study a reference project, or refine a product idea into requirements, specifications, and tasks.
openprd-router
An entry guide for OpenPrd that decides which product-planning workflow should handle a request.