[ PROMPT_NODE_23224 ]
Excalidraw 说明文档
[ SKILL_DOCUMENTATION ]
# Excalidraw 技能
这是一个 Claude Code 技能,旨在通过智能子智能体委派,高效处理 Excalidraw 图表文件。
## 目的
此技能提供了一种处理 Excalidraw 文件(*.excalidraw, *.excalidraw.json)的模式,而不会耗尽主智能体的上下文预算。Excalidraw JSON 文件极其冗长(每个文件 4k-22k token),但信息密度低,非常适合进行子智能体委派。
## 何时使用
在以下情况使用此技能:
- 处理以 `.excalidraw` 或 `.excalidraw.json` 结尾的文件
- 用户请求图表操作时:“解释图表”、“更新流程图”、“创建架构可视化”
- 用户提到:“流程图”、“架构图”、“Excalidraw 文件”
- 执行涉及视觉产物的架构/设计文档任务
**重要:** 即使在以下情况也应使用委派:
- “小”文件(最小的文件也有 4k token)
- “快速检查”(即使只是为了检查组件名称也会加载完整 JSON)
- 单文件操作(隔离可防止上下文污染)
- 修改(主上下文不需要完全理解格式)
## 此技能解决的问题
Excalidraw 文件的信噪比极低:
- 每个形状都有 20 多个属性(x, y, 宽度, 高度, 描边颜色, 种子, 版本等)
- 大多数属性是视觉元数据(定位、样式、粗糙度)
- 实际有用的内容:文本标签和元素关系(文件内容的 <10%)
- **Token 成本**:单个文件在 4k-22k token 之间
- **上下文耗尽**:读取 7 个图表 = 67k token(占 200k 预算的 33%)
### 实际案例
- 14 个元素的图表:596 行,16K,约 4k token
- 79 个元素的图表:2,916 行,88K,约 22k token(超过读取限制)
## 工作原理
### 核心原则
**主智能体永远不要直接读取 Excalidraw 文件。始终委派给子智能体。**
### 委派模式
1. 主智能体收到涉及 Excalidraw 文件的请求
2. 主智能体为子智能体创建任务描述
3. 子智能体在隔离环境中读取/修改 Excalidraw JSON
4. 子智能体返回纯文本摘要(而非原始 JSON)
5. 主智能体上下文保持整洁
### 主智能体永远不应该做的事
- 对 *.excalidraw 文件使用读取工具
- 在主上下文中解析 Excalidraw JSON
- 加载多个图表进行比较
- 检查文件以“了解格式”
### 主智能体应该始终做的事
- 将所有 Excalidraw 操作委派给子智能体
- 为子智能体提供清晰的任务描述
- 请求纯文本摘要