liuchunming033/skill-doctor

AI-powered Skill health check tool — 9-dimension diagnostics, interactive optimization with cost estimation

¿Qué es skill-doctor?

skill-doctor is a Claude Code agent skill that aI-powered Skill health check tool — 9-dimension diagnostics, interactive optimization with cost estimation.

Compatible conClaude Code~Codex CLI~Cursor
npx skills add liuchunming033/skill-doctor

Installed? Explore more Investigación y análisis de datos skills: obra/superpowers, affaan-m/quarkus-verification, affaan-m/uspto-database · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Skill Doctor —— Skill 体检诊断工具

流程

  1. 读取指定 Skill 目录
  2. 检查核心文件是否存在(SKILL.md、gotchas.md 等)
  3. 调用脚本获取结构化报告python scripts/analyze_skill.py <skill_path> --output json,得到每个检查项的得分、问题和建议
  4. 针对每个低分项(<70分),在脚本报告基础上补充具体优化建议 + 预期提升分数 + 工作量评估
  5. 列出所有可优化项,让用户选择接受哪些
  6. 对用户接受的项目逐一优化(直接修改文件)
  7. 优化完成后再次调用脚本重新体检,输出前后对比报告

Agent 负责智能层(优化建议、用户交互、执行修改),脚本负责稳定层(评分计算、结构化输出)。脚本用法见 scripts/analyze_skill.py

九大体检项目

检查项检查内容通过标准
description检查是否写成触发条件,不是功能说明包含触发关键词,长度<100字符
gotchas检查是否有坑点记录gotchas.md存在且非空
文件组织检查是否按三分类标准组织根目录仅 SKILL.md + gotchas.md + examples.md,参考材料在 reference/,脚本在 scripts/,配置在 config/
过度约束检查是否过度约束路径没有"第一步第二步"等死板流程
已知知识检查是否重复Agent已知内容没有"什么是X"、"如何使用Y"等教程
内存配置检查是否有config.jsonconfig.json存在,有合理配置
脚本检查是否需要脚本但缺失如需稳定能力,有scripts目录
hooks检查hooks配置是否正确PreToolUse/PostToolUse格式正确
markdown格式检查格式是否规范YAML、表格、代码块格式正确

体检报告格式

{
  "skill_name": "xxx",
  "overall_score": 55,
  "grade": "D",
  "check_results": {
    "description": {"score": 50, "issues": ["写成功能说明"], "suggestions": ["改为触发条件句式"], "expected_gain": 40},
    "gotchas": {"score": 40, "issues": ["gotchas.md是空壳"], "suggestions": ["补充3个以上真实坑点"], "expected_gain": 50}
  },
  "optimization_options": [
    {"id": 1, "item": "description", "current_score": 50, "expected_score": 90, "gain": 40,
     "effort": "低", "action": "重写description为触发条件句式",
     "token_saved_per_call": 50, "time_saved_per_call_sec": 0},
    {"id": 2, "item": "gotchas", "current_score": 40, "expected_score": 90, "gain": 50,
     "effort": "中", "action": "补充真实坑点",
     "token_saved_per_call": 0, "time_saved_per_call_sec": 180}
  ],
  "overall_after_accept_all": 85,
  "total_benefits": {
    "token_saved_per_call": 200,
    "time_saved_per_call_sec": 300
  }
}

收益估算规则

优化类型Token节省(每次调用)时间节省(每次调用)说明
description缩短每条多余字符×1 token减少context加载量
gotchas补充每坑点2-5分钟避免重复踩坑调试
文件拆分(原行数-新行数)×3 tokens参考材料移入reference/,按需加载不进context
过度约束→决策框架每条死板步骤×20 tokens每步10-30秒减少无效步骤执行
删除已知知识教程段落长度 tokens不重复Agent已知内容
脚本封装每次1-3分钟避免Agent每次重写代码

收益为单次调用估算值,实际数值因Skill内容和使用方式而异。

关于"耗时"的说明:报告中的"耗时"指设计缺陷产生的额外浪费,而非技能执行总时长。具体包括:

  • gotchas 缺失 → Agent 反复踩坑调试(每次 2-5 分钟)
  • 过度约束 → Agent 执行无意义的死板步骤(每步 10-30 秒)
  • 脚本缺失 → Agent 每次重新编写相同代码(每次 1-3 分钟)

对比逻辑:优化前的数值 = 这些浪费的总和;优化后浪费归零 → ~0;"节省" = 被消除的浪费量。优化后技能执行本身仍需要时间,但不再有这些额外损耗。

优化建议呈现

生成报告后,将可优化项以清单形式展示给用户,每项包含:

### 🔧 可优化项

| # | 检查项 | 当前分 | 预期分 | 提升 | 工作量 | Token/次 | 时间/次 | 操作 |
|---|-------|--------|--------|------|--------|---------|---------|------|
| 1 | description | 50 | 90 | +40 | 低 | ~50 | — | 重写为触发条件 |
| 2 | gotchas | 40 | 90 | +50 | 中 | — | ~3min | 补充真实坑点 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... |

**接受全部优化后**:55分(D) → 85分(B),提升30分

### 📈 综合收益(单次调用)
- Token 节省:~200/次
- 时间节省:~5分钟/次
- 踩坑规避:gotchas 补充后可避免常见错误

> **耗时统计口径**:此处"时间节省"指**设计缺陷导致的额外浪费**,非技能执行总时长:
> - gotchas 缺失 → Agent 反复踩坑调试(每次 2-5 分钟)
> - 过度约束 → Agent 执行无意义的死板步骤(每步 10-30 秒)
> - 脚本缺失 → Agent 每次重新编写相同代码(每次 1-3 分钟)
> - 优化前数值 = 浪费总和,优化后浪费归零,"节省" = 被消除的浪费量

请选择:
- **"全部接受"** — 一键优化所有项
- **"接受1,3"** — 只优化指定项
- **"跳过"** — 只看报告不做优化

用户确认后执行

  1. 用户选择后,逐项修改对应文件
  2. 每完成一项,标记状态
  3. 全部完成后,重新运行体检生成对比报告

前后对比报告格式

## 📊 优化前后对比

| 检查项 | 优化前 | 优化后 | 变化 |
|-------|--------|--------|------|
| description | 50 (功能说明) | 90 (触发条件) | +40 ⬆️ |
| gotchas | 40 (空壳) | 90 (充实) | +50 ⬆️ |
| ... | ... | ... | ... |
| **总分** | **55 (D)** | **85 (B)** | **+30 ⬆️** |

### 📈 综合收益(单次调用)
| 维度 | 优化前 | 优化后 | 节省 |
|------|--------|--------|---------|
| Token | ~800/次 | ~600/次 | ~200/次 |
| 耗时浪费 | ~5min | ~0 | ~5min |
| 主文件 | 466行 | 75行 | -84% |

> 耗时浪费 = 设计缺陷导致的额外开销(踩坑调试、冗余步骤等),非技能执行总时长。见 [收益估算规则](#收益估算规则)。

### 已修改文件
- `SKILL.md` — 重写 description
- `gotchas.md` — 补充 5 个真实坑点

完整交互示例

examples.md 示例9

评分等级

  • A(90-100分):优秀,遵循所有最佳实践
  • B(75-89分):良好,有少量优化空间
  • C(60-74分):合格,有明显改进点
  • D(<60分):不合格,需要重构

详细检查清单

checklists.md

常见坑点

gotchas.md

优化示例

examples.md

脚本

体检核心逻辑封装在 scripts/analyze_skill.py,Agent 通过调用它获取结构化评分:

python scripts/analyze_skill.py <skill_path> --output json    # 步骤3:获取评分报告
python scripts/analyze_skill.py <skill_path> --output markdown # 可选:生成人类可读报告

脚本负责:评分计算、问题检测、等级判定(稳定层) Agent 负责:优化建议生成、用户交互、文件修改执行(智能层)

Skills relacionados