| name | skill-optimizer |
| description | Optimize coordinator skills and multi-agent team skills for AI readability. Use when a skill file is too long, confusing, or hard for AI to parse; when the user says "优化这个skill", "精简skill", "skill太难读了", "检查skill规范"; or when you notice a skill has emoji overload, mixed numbering, repeated content, broken cross-references, or non-standard directory structures. Also use proactively after making significant changes to a skill to verify it remains clean and spec-compliant. |
Skill Optimizer — 协调器 Skill AI 可读性优化
优化多智能体团队协调器 skill 的结构、格式和内容,使其更易于 AI 理解和执行。
优化流程
按以下四步执行,每步完成后向用户汇报发现。
第一步:结构审计
通读 skill 文件,逐项检查:
格式噪音:
- emoji 是否语义过载(同一 emoji 在不同上下文表达不同含义)
- 标题编号是否混用多种体系(emoji数字、中文数字、阿拉伯数字)
- 是否同时使用 YAML / JSON / Markdown表格 / ASCII流程图表达同类信息
信息冗余:
- 同一规则是否在原则章、Phase描述、prompt模板中重复出现 3 次以上
- 是否存在两段几乎相同的流程描述(仅参数不同)
- 每个 Phase prompt 末尾是否有重复的固定结尾语
引用完整性:
- 原则编号是否连续(无跳跃)
- 正文交叉引用是否指向存在的章节
- 是否存在对已删除内容的引用
目录规范(对照 skill-creator 标准):
- 子目录是否仅使用
scripts/、references/、assets/ 三种
SKILL.md(或 skill.md)文件名是否正确
- 是否有非标准目录名(如
prompts/、templates/)
Coordinator-Agent 边界(多智能体协调器专属检查):
- prompt 模板中是否硬编码了 agent 自身已定义的子文件结构
- 硬编码的结构是否与 agent 定义文件中的结构一致
- 如不一致 → 标记为潜在冲突,需删除硬编码、改为引用 agent 规范
审计完成后,向用户列出每项问题的数量和严重程度(严重/中等/轻微)。
第二步:制定优化方案
基于审计结果,按照以下优先级排序:
- 严重:引用断裂(会导致执行错误)、Coordinator-Agent 结构冲突
- 中等:信息冗余 >30%、非标准目录名
- 轻微:emoji 噪音、格式混用
与用户确认方案后进入第三步。
第三步:执行优化
执行标准操作:
原则重编号:
- 若编号有跳跃(如 0→1→2→3→4→7→8→9),重新连续编号
- 全文搜索并替换所有旧编号引用
冗余合并:
- 同一规则在原则章和 Phase 描述中重复 → 原则章保留完整版,Phase 处改为简短引用(如"遵守原则X")
- 两个几乎相同的核对流程 → 提取为通用模板,仅保留参数差异
- 每个 Phase prompt 末尾的重复固定语 → 提取为一条独立原则,各 prompt 删除此行
格式统一:
- 标题层级:
##=章, ###=节, ####=子节,不再使用 emoji 标题
- 删除无区分度的 emoji(如 🟡🟢),保留有语义价值的(✅❌用于正反示例)
- 同类信息使用同一种格式表达(如所有 Phase 描述统一用表格或统一用列表)
目录修复:
- 非标准目录
prompts/ → 重命名为 references/
- 更新 skill 文件中所有路径引用
Coordinator-Agent 边界修复:
- 扫描所有 prompt 模板,找到硬编码的子文件结构
- 对照对应 agent 的定义文件(
agents/design-interrogator-*.md)检查一致性
- 若一致且简洁 → 可保留(最小化原则)
- 若不一致或冗余 → 删除硬编码结构,替换为"按你的内部子文件规范创建子文件并更新各级 INDEX"
- 理由:agent 定义文件才是输出结构的权威来源,coordinator 只需告知目标文件夹路径
prompt 模板外置(可选,当 skill 主体超过 500 行时建议):
- 将冗长的 YAML prompt 模板提取到
references/ 目录
- skill 主体中每个 Phase 只保留:目标、输入依赖、输出路径、模板引用
- 引用格式:
**prompt 模板**: references/phase-Xx-expert.md``
第四步:验证
优化完成后执行:
- 行数检查:
wc -l skill.md,目标缩减 30-50%
- 引用检查:grep 旧编号/旧路径,确认无残留
- 结构检查:确认
references/ 下文件与 skill 中引用一一对应
- 逻辑检查:通读一遍确认无遗漏内容
向用户汇报变更摘要:行数变化、消除的冗余项数、修复的引用断裂数。
常见问题模式速查
| 症状 | 诊断 | 修复 |
|---|
| 原则编号 0→1→2→3→4→7→8→9 | 合并原则时未重编号 | 连续重编号,全文替换引用 |
| 正文引用"原则6检查清单"但原则6不存在 | 旧引用残留 | grep 删除所有无效引用 |
| 同一段话在 5+ 处出现 | 规则被复制粘贴到每个 Phase | 原则章保留一处,其余改为引用 |
prompts/ 目录 | 非 skill-creator 标准 | 重命名为 references/ |
| prompt 中写死了子文件列表 | Coordinator 越界定义 Agent 内部结构 | 删除,改为"按内部规范" |
YAML 块中出现 description: "xxx" with special chars | 未正确引号包裹 | 确保 YAML 字符串值用双引号 |
标题同时使用 ### 1️⃣ 和 ### 一、 | 编号体系混乱 | 统一为中文数字章+阿拉伯数字节 |
| skill.md 超过 1000 行 | 未做渐进披露 | 外置 prompt 模板到 references/ |
关键原则
不要过度优化:删掉的是重复和噪音,不是功能。每个被删的段落必须在别处有等效覆盖。
Agent 定义是权威来源:coordinator 的 prompt 模板永远不要试图重新定义 agent 的输出结构。Agent 自己知道怎么写文件——coordinator 只需告诉它写到哪里。
引用优于复制:当同一信息需要出现在多处时,用简短引用("见原则X")替代完整复制。一处修改,全局生效。
格式统一降低认知负担:AI 阅读时在 5 种格式间切换比在 1 种格式内扫描消耗更多注意力。为同类信息选定一种格式。