对已存在的 skill 进行全方位改进,支持三种改进来源协同工作,形成"发现问题 → 沉淀经验 → 持续改进"的进化闭环。
| 来源 | 触发方式 | 说明 |
|------|----------|------|
| 用户需求 | 用户指定具体改进方向 | 根据用户想要优化的内容进行针对性改进 |
| 运营沉淀 | 执行过程中自动记录 BUG 和临时修复 | 从历史问题中学习,实现自修复闭环 |
| 联网搜索 | 用户说"自动优化"或未指定方向 | 自动搜索外部最佳实践,分析后提出改进方案 |
三种来源可单独使用,也可组合使用。例如"自动优化并修复已知 BUG"同时触发联网搜索和运营沉淀修复。
~/.workbuddy/skills//SKILL.md
.workbuddy/skills//SKILL.md
builtin/skill-name/
SKILL.md 文件
references/ 下的文件,根据需要读取关键文件内容
BUG_LOG.md,筛选目标 skill 的未修复 BUG 记录
根据用户指令和当前状态,选择并执行对应的改进模式。可按需组合多个模式。
当用户指定了具体改进方向时执行。
A1. 诊断分析
从以下维度系统评估目标 skill:
| 维度 | 检查项 | 关注点 |
|------|--------|--------|
| 元数据 | name / description / metadata | 命名规范、触发条件完整性、关键词覆盖 |
| 指令质量 | 结构 / 清晰度 / 覆盖面 / 边界 / 示例 | 是否可执行、有无歧义、是否遗漏场景 |
| 资源组织 | 长度 / 引用 / 分层 / 冗余 | ≤500行、引用完整、无重复信息 |
| 用户体验 | 触发精准度 / 执行流畅度 / 输出质量 | 是否符合用户预期 |
详细优化技巧参见 references/improvement-guide.md。
A2. 输出诊断报告
修改前先输出结构化报告:
A3. 确认改进范围
A4. 执行改进
按照"第五步:执行改进"的通用规范执行。
当 BUG_LOG.md 中存在目标 skill 的未修复记录,或用户提到 BUG 时触发。
B1. 读取并分析 BUG 日志
读取 BUG_LOG.md,筛选目标 skill 的 [待修复] 条目,按严重程度排序:
B2. 逐一修复
对每个 BUG 执行:
[已修复],记录修复日期
B3. 添加预防性指令
修复后,考虑在目标 skill 中添加防御性指令防止同类问题复发:
## 注意事项
- [具体预防措施]
B4. 输出修复报告
当用户说"自动优化"、未指定方向,或需要外部灵感时执行。
C1. 提取 Skill 特征
从目标 skill 的 SKILL.md 中提取:
C2. 构造搜索查询
根据 skill 特征构造 3-5 个搜索查询,覆盖不同优化维度:
| 维度 | 查询构造方式 |
|------|--------------|
| Prompt 质量 | "[skill 功能] prompt engineering best practices" |
| Agent 设计模式 | "AI agent [skill 领域] workflow design patterns" |
| 错误处理与健壮性 | "prompt error handling edge cases [skill 功能]" |
| 领域前沿实践 | "[skill 领域] best practices [当前年份]" |
使用 web_search 对每个查询执行搜索,收集 3-5 条最相关的结果。
C3. 评估搜索结果
对每条建议按以下标准评估:
| 评估项 | 评分 | 说明 |
|--------|------|------|
| 适用性 | 1-5 | 与当前 skill 的相关程度 |
| 可实施性 | 1-5 | 能否通过修改 SKILL.md 实现 |
| 风险等级 | 低/中/高 | 是否可能引入新问题 |
| 影响力 | 1-5 | 对 skill 效果的改善幅度 |
分类规则:
C4. 展示改进方案
向用户展示分类后的方案:
## 自动改进方案:[skill-name]
### 直接采纳的建议
1. **[标题]** — 来源概要 / 具体改动 / 预期效果
### 需要确认的建议
1. **[标题]** — 来源概要 / 不确定原因 / 选项(A采纳/B跳过/C部分采纳)
### 已过滤的建议
1. **[标题]** — 过滤原因
C5. 交互确认后执行
对于模式 B 和模式 C,在执行改进前可额外运行模式 A 的诊断分析,发现用户未提及的问题,一并列出供用户决定是否一并改进。
无论哪种模式,执行过程中发现目标 skill 的新问题时,将记录追加到 BUG_LOG.md:
记录时机:
记录规范:
[BUG-YYYYMMDD-NN]
详细记录格式参见 BUG_LOG.md 头部的模板说明。
无论哪种模式,修改 skill 时遵循以下规范:
| 操作 | 场景 | 方法 |
|------|------|------|
| 修改 frontmatter | 优化 description/name/metadata | replace_in_file 替换 YAML 字段 |
| 重写段落 | 指令不清晰、有缺陷 | replace_in_file 精准替换 |
| 补充内容 | 缺少步骤、示例、边界说明 | 在合适位置插入新段落 |
| 删除冗余 | 重复信息、过时内容 | 删除冗余段落 |
| 拆分长文件 | SKILL.md 超 500 行 | 内容移至 references/ |
| 新建文件 | 需要补充参考或脚本 | 在对应目录创建 |
完成修改后逐项检查:
输出改进结果摘要:
## 改进完成:[skill-name]
### 已执行的修改
1. [修改内容简述]
### 改进效果
- [预期改进说明]
### 新发现的问题(已记录到 BUG_LOG.md)
- [如有]
### 后续建议
- [如需要后续跟进的建议]
references/improvement-guide.md
BUG_LOG.md
用户:帮我改进 company-guide 这个 skill,它的触发不太准确
流程:加载 skill → 模式 A 诊断 → 发现 description 关键词不够丰富 → 输出报告 → 用户确认 → 优化 description → 验证
用户:自动优化一下 finance-writer
流程:加载 skill → 模式 C 搜索最佳实践 → 分析结果分类 → 展示方案 → 用户确认 → 执行改进 → 验证
用户:修复 invoice-ocr 的已知 BUG
流程:读取 BUG_LOG.md → 模式 B 找到 2 个待修复 BUG → 逐一修复 → 更新日志状态 → 输出修复报告
用户:自动优化 skill-optimizer 并修复已知问题
流程:同时执行模式 B(BUG 修复)+ 模式 C(联网搜索)→ 合并改进方案 → 统一执行 → 验证
共 1 个版本