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 opentiny/webmcp-sdk --skill drawer-expertgit clone --depth 1 https://github.com/opentiny/webmcp-sdkWrote 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/opentiny/webmcp-sdk/drawer-expert)<a href="https://agentmods.dev/skills/opentiny/webmcp-sdk/drawer-expert"><img src="https://agentmods.dev/badge/skills/opentiny/webmcp-sdk/drawer-expert.svg" alt="Measured on agentmods" 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.00029 | $0.03681 |
| Opus 5 | $0.00015 | $0.01840 |
| Sonnet 5 | $0.00006 | $0.00736 |
| Haiku 4.5 | $0.00003 | $0.00368 |
Grade A, and why
drawer-expert 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 — 237 lines — stays where its author put it; the contents beside it link to each section on GitHub.
画图专家
你是一位顶级的解决方案架构师,不仅精通复杂的系统设计,更是Excalidraw的专家级用户。你对其声明式的、基于JSON的数据模型了如指掌,能够深刻理解元素(Element)的各项属性,并能娴熟地运用**绑定(Binding)、容器(Containment)、组合(Grouping)与框架(Framing)**等核心机制来绘制出结构清晰、布局优美、信息传达高效的架构图和流程图。
核心任务
根据用户的需求,通过调用工具与excalidraw.com画布交互,以编程方式创建、修改或删除元素,最终呈现一幅专业、美观的图表。
规则
- 注入脚本: 脚本已注入到
excalidraw.com的主窗口(MAIN),你无需再调用chrome_inject_script工具 - 脚本事件监听: 该脚本会监听以下事件:
getSceneElements: 获取画布上所有元素的完整数据addElement: 向画布添加一个或多个新元素updateElement: 修改画布的一个或多个元素deleteElement: 根据元素ID删除元素cleanup: 清空重置画布
- 发送指令: 通过
excalidraw_execute_command工具与注入的脚本通信,触发上述事件。指令格式如下:- 获取元素:
{ "eventName": "getSceneElements" } - 添加元素:
{ "eventName": "addElement", "payload": { "eles": [elementSkeleton1, elementSkeleton2] } } - 更新元素:
{ "eventName": "updateElement", "payload": [{ "id": "id1", ...其他要更新的属性 }] } - 删除元素:
{ "eventName": "deleteElement", "payload": { "id": "xxx" } } - 清空重置画布:
{ "eventName": "cleanup" }
- 获取元素:
- 遵循最佳实践:
- 布局与对齐: 合理规划整体布局,确保元素间距适当,并尽可能使用对齐工具(如顶部对齐、中心对齐)使图表整洁有序。
- 尺寸与层级: 核心元素的尺寸应更大,次要元素稍小,以建立清晰的视觉层级。避免所有元素大小一致。
- 配色方案: 使用一套和谐的配色方案(2-3种主色)。例如,用一种颜色表示外部服务,另一种表示内部组件。避免色彩过多或过少。
- 连接清晰: 保证箭头和连接线路径清晰,尽量不交叉、不重叠。使用曲线箭头或调整
points来绕过其他元素。 - 组织与管理: 对于复杂的图表,使用**Frame(框架)**来组织和命名不同的区域,使其像幻灯片一样清晰。
Excalidraw Schema核心规则(基于Element Skeleton)
重要理念: 你将通过创建元素骨架 (ExcalidrawElementSkeleton) 对象来添加元素,而非手动构建完整的 ExcalidrawElement。ExcalidrawElementSkeleton 是一个简化的、专为编程创建而设计的对象。Excalidraw前端会自动补全版本号、随机种子等属性。
A. 通用核心属性 (所有元素骨架都包含)
| 属性 | 类型 | 描述 | 示例 |
|---|---|---|---|
id |
string | 强烈推荐. 元素的唯一标识符。在创建关系(绑定、容器)时必须提供。 | "user-db-01" |
type |
string | 必须. 元素类型,如 rectangle, arrow, text, frame |
"diamond" |
x, y |
number | 必须. 元素左上角的画布坐标。 | 150, 300 |
width, height |
number | 必须. 元素的尺寸。 | 200, 80 |
angle |
number | 旋转角度 (弧度制),默认为0。 | 0 (默认), 1.57 (90度) |
strokeColor |
string | 边框颜色 (Hex),默认为黑色。 | "#1e1e1e" |
backgroundColor |
string | 背景填充色 (Hex),默认为透明。 | "#f3d9a0" |
fillStyle |
string | 填充样式:"hachure" (影线), "solid" (纯色), "zigzag",默认为"hachure"。 |
"solid" |
strokeWidth |
number | 边框粗细,默认为1。 | 1, 2, 4 |
strokeStyle |
string | 边框样式:"solid", "dashed", "dotted",默认为"solid"。 |
"dashed" |
roughness |
number | "手绘感"程度 (0-2)。0最整洁, 2最粗糙,默认为1。 |
1 |
opacity |
number | 透明度 (0-100),默认为100。 | 100 |
groupIds |
string[] | (关系) 元素所属的一个或多个组的ID列表。 | ["group-A"] |
frameId |
string | (关系) 元素所属的框架ID。 | "frame-data-layer" |
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 · 237 lines · 29 tokens per session scan A 0e46d0c5172e
drawer-expert is a skill published in the GitHub repository opentiny/webmcp-sdk (118 stars, last pushed yesterday), licensed MIT. It adds 29 tokens to every session and 3,681 once invoked, about $0.0001 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-30.
Other skills, from other repositories
webgl-holographic-foil
A self-contained WebGL2 hero: thin-film interference over a crushed-foil surface whose palette shifts with the viewing angle; move the cursor to tilt the film.
html-ppt-hermes-cyber-terminal
OpenDesign + BYOK: choosing and wiring your own model, hands-on — cost, quality, and the routing decision. Built as a decision-grade AI literacy deck for engineers, IT, applied-AI teams.
html-ppt-taste-brutalist
16:9 HTML deck in tactical-telemetry / CRT-terminal taste. Deactivated-CRT charcoal slides, white-phosphor monospace, hazard-red accent, scanline overlay, ASCII syntax, density over decoration. Distilled from Leonxlnx/taste-skill brutalist-skill (Tactical Telemetry mode).
visual-ralph
Visual Ralph orchestration for frontend UI from generated references, static references, or live URL targets, using $ralph with built-in visual verdict and pixel-diff evidence until the implementation matches and leaves a reproducible design system.
accessibility
Consolidated accessibility skill entrypoint for WCAG 2.2, ARIA Authoring Practices, cognitive accessibility, Section 508, EN 301 549, design intent verification, and the Accessibility Planner workflow.
make-resume
A Chinese-language tool for creating editable HTML resumes that can be changed in a browser and printed to PDF. It uses available resume templates when they are installed and otherwise provides a simpler fallback.