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 balabalabalading/huuuuuuho-skills --skill ardot-usegit clone --depth 1 https://github.com/balabalabalading/huuuuuuho-skillsWrote 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/balabalabalading/huuuuuuho-skills/ardot-use)<a href="https://agentmods.dev/skills/balabalabalading/huuuuuuho-skills/ardot-use"><img src="https://agentmods.dev/badge/skills/balabalabalading/huuuuuuho-skills/ardot-use/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/balabalabalading/huuuuuuho-skills/ardot-use"><img src="https://agentmods.dev/badge/skills/balabalabalading/huuuuuuho-skills/ardot-use.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.00121 | $0.03053 |
| Opus 5.5 | $0.00048 | $0.01221 |
| Sonnet 5.5 | $0.00024 | $0.00611 |
| Haiku 4.5 | $0.00012 | $0.00305 |
Grade A, and why
ardot-use 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 — 218 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ardot-use — Ardot batch_edit DSL 技能
通过 batch_edit DSL 进行所有 Ardot 写操作的核心技能。提供关键规则、操作符参考、变量绑定模式、验证策略和错误恢复。
1. 关键规则
1. 每个 batch_edit 调用最多 25 个操作。 将较大的工作拆分为多个调用。建议保持在 20 个或更少以留出余量。
2. 绑定名称在每次 batch_edit 调用后过期。 在一次调用中分配的绑定名称(例如 btn1 = I(...))仅在同一调用内有效。在下一个 batch_edit 中,你必须使用真实节点 ID(例如 "3:544")— 绝不使用先前调用的绑定名称。
3. I() 中的 TEXT 节点仅支持 fill: "#HEX" 字符串格式。 在 I() 中创建 TEXT 节点时不能使用 fills: [{..., boundVariables: {...}}]。
解决方法:在 I() 中使用 fill: "#HEX" 创建 TEXT 节点,然后在后续的 batch_edit 调用中使用 U() 应用带有 boundVariables 的 fills。
4. updated: {} 不代表失败。 U() 操作通常返回 updated: {} 而不是 updated: {"nodeId": {...}}。操作可能已成功 — 通过立即运行 batch_read 验证节点,而不是信任返回值。
5. I() 必须指定父节点。 第一个参数可以是 page、frame 的真实 ID,或同一次调用中已创建的 binding;跨页面插入时使用目标 pageId。
6. M() 可以移动节点到新的父容器。 第二个参数应是有效的父节点 ID(page 或 frame),可选第三个参数用于指定 sibling index。移动后必须读取目标父节点验证层级。页面重排:MCP 无专用工具,用 M("pageId", "0:0", index) 把 PAGE 移回文件根 0:0(DOCUMENT)即可重排页面列表,index 实测为 1-based(详见 dsl-reference.md 的 Reordering pages)。
7. 不支持 cornerRadius 变量绑定。 Ardot 目前不支持 cornerRadius 的 boundVariables。使用硬编码数值代替(例如 cornerRadius: 6)。
8. 框架上的 variableModes 不可靠。 设置 variableModes: {"3:2": "3:3"} 来切换颜色模式可能不会生效。使用专门的页面来表示浅色/深色模式。
9. 始终 return 所有创建/修改的节点 ID。 每个 batch_edit 响应都包含绑定名称和节点 ID。记录这些 — 在后续调用中需要它们。
10. 增量构建。 先用占位符构建骨架,然后逐个区块填充细节。每个 batch_edit 调用失败都是原子性的 — 文件不会被修改。
11. 截图与编辑分离。 不要在 batch_edit 操作中混合 capture_screenshot 调用。截图作为单独的验证步骤。
2. DSL 操作符参考
| 操作符 | 语法 | 用途 | 关键说明 |
|---|---|---|---|
I |
I("parentId", {type, name, ...}) |
插入新节点 | parent 可以是 page、frame 或同批次 binding;reusable: true 用于组件 |
U |
U("nodeId", {props...}) |
更新现有节点 | 必须使用真实节点 ID,不能使用先前调用的绑定名称 |
M |
M("nodeId", "parentId", index?) |
移动节点 | 目标是新的父节点 ID,可选 index |
D |
D("nodeId") |
删除节点 | 删除父节点会级联到所有子节点 |
C |
C("componentId", "parentId", {props...}) |
创建组件实例 | 在指定父节点下创建组件实例,可在 copyNodeData 中设置尺寸、位置或 descendants |
G |
G("nodeId", "ai"|"stock", "prompt") |
为已有 frame/shape 应用图片填充 | 先创建承载节点,再调用 G() |
What ships with it
5 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 9314d58d9cfb
- 2mo ago First seen · 218 lines · 121 tokens per session scan A 9c5bc1a4f0b9
ardot-use is a skill published in the GitHub repository balabalabalading/huuuuuuho-skills (118 stars, last pushed 1mo ago), licensed MIT. It adds 121 tokens to every session and 3,053 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.
ardot-use compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| ardot-usebalabalabalading/huuuuuuho-skills | Skill | 118 | 1mo ago | MIT | A | 121 | Claude Code |
| visual-asset-designagentscope-ai/QwenPaw | Skill | 37k | yesterday | Apache-2.0 | A | 117 | Claude Code, Codex |
| web-design-engineerConardLi/garden-skills | Skill | 14k | 12d ago | MIT | A | 96 | Codex |
| yida-image-assetsopenyida/openyida | Skill | 231 | yesterday | MIT | A | 32 | Claude Code, Codex |
| yida-dashboardopenyida/openyida | Skill | 231 | yesterday | MIT | A | 108 | Claude Code, Codex |
| yida-nav-groupopenyida/openyida | Skill | 231 | yesterday | MIT | A | 36 | Claude Code, Codex |
| yida-cool-cardopenyida/openyida | Skill | 231 | yesterday | MIT | A | 141 | Claude Code, Codex |