用途:技能描述是技能唯一的发现机制。若描述含糊、重叠或缺少关键词,智能体可能不触发该技能,或触发错误技能。Tool Description Optimizer 分析每个已安装技能描述的可触发质量,并给出具体改写建议。
主要能力:按五个维度打分(各0–10分):清晰度(单一明确用途,权重2x)、具体性(动作动词与具体名词,2x)、关键词密度(每句触发相关关键词,1.5x)、唯一性(与其他已安装描述重叠低,1.5x)、长度(最佳15–40词,1x)。综合得分对应等级:A 8.0–10.0、B 6.0–7.9、C 4.0–5.9、D 2.0–3.9、F 0.0–1.9。唯一性用 Jaccard 相似度对比其他描述;长度按以25词为中心的钟形曲线评分。
使用方式: python3 optimize.py --scan python3 optimize.py --scan --grade C python3 optimize.py --skill <name> python3 optimize.py --suggest <name> python3 optimize.py --compare "desc A" "desc B" python3 optimize.py --status python3 optimize.py --format json 流程:先全量扫描,关注 C 及以下等级;对低分技能生成2–3条改写建议及预测分数提升;用 --compare 对比原描述与建议;最后把选中的改写应用到技能 SKILL.md 的 frontmatter description 字段。
适用场景:安装新技能后检查描述是否可触发;技能未按预期触发时诊断描述问题;定期审计描述质量漂移;发布技能前优化可发现性。
限制:不修改任何技能文件,仅分析与建议;改写建议基于启发式规则而非 LLM 生成,确定且快速;扫描结果与各技能分数存于 ~/.openclaw/skill-state/tool-description-optimizer/state.yaml,字段含 last_scan_at、skill_scores、scan_history。含糊词如 helps、manages、handles、various、things 等在具体性上得0分;强触发关键词如 scans、detects、validates、generates、audits 等。