用途:OpenClaw 通过将用户消息与技能的 description 字段匹配来映射意图。描述过弱会导致技能从不触发,过宽则会在无关提示上误触发。Skill Trigger Tester 帮助在发布前验证技能描述的触发质量。
主要能力:输入待测试的 description 字符串、一组“应触发”提示(真阳性)和一组“不应触发”提示(真阴性),输出精确率、召回率、F1 以及整体触发质量评级(A–F),并给出可操作建议。评分采用关键词加语义重叠的启发式方法。评级阈值:A 为 F1 ≥ 0.85,B ≥ 0.70,C ≥ 0.55,D ≥ 0.40,F < 0.40。
使用方式:命令行运行,例如 python3 test.py --description "Diagnoses skill discovery failures" --should-fire "why isn't my skill loading" "my skill disappeared from the registry" "check if my skills are healthy" --should-not-fire "write a skill" "install superpowers" "review my code"。也可用 python3 test.py --file skill-spec.yaml 从 YAML 加载测试用例,或用 python3 test.py --format json 输出机器可读结果。测试规格文件包含 description、should_fire、should_not_fire 字段。
适用场景:发布新技能到 ClawHub 前;预期触发但未触发的技能;频繁在无关提示上触发的技能;create-skill 工作流的第 5 步验证。建议每个技能准备 3–5 条应触发和 3–5 条不应触发的提示,如实覆盖边界情况。
限制与常见错误:评分基于启发式,非真实运行时行为;描述过于笼统、使用用户不会说的技术术语、只写动作加对象、缺少同义词都会降低触发质量。评级 C 属临界,需增加具体关键词或收窄措辞;D/F 需重写并重测。可用 --compare 并排比较不同描述。建议将 trigger-tests.yaml 随技能一起提交,便于后续贡献者验证触发质量未回退。