Skill Eval
Use this skill as an authoring-side preflight for OpenClaw skills.
It is not a full runtime evaluator. It helps a skill author move from "this skill exists" to "this skill is structured well enough for first-pass evaluation and later regression work."
Good Requests
This skill is a good fit for requests like:
- - "Set up eval files for this skill before I publish it."
- "Check whether this skill is ready for a first eval pass."
- "Review the description and tell me whether trigger coverage is clear enough."
- "Generate with-skill and without-skill static comparison artifacts for this skill."
Not A Good Fit
Do not rely on this skill alone for requests like:
- - large-scale live runtime benchmarking
- scoring response quality across many real conversations
- tool-call correctness or factuality audits
- end-to-end production regression testing
Use a deeper evaluator after this step when you need those capabilities.
Best Fit
Use this skill when you need to:
- - initialize
evals/ files for a new or existing skill - confirm a skill is ready for a first eval pass
- make positive and negative trigger coverage explicit
- catch placeholder content before sharing a skill
- write static run summaries and with-skill/without-skill comparison artifacts
Use a deeper evaluator after this step when you need live runtime experiments, tool-call quality checks, or richer output scoring.
Position In The Flow
Recommended sequence:
INLINECODE1
- -
skill-vetter answers: "Is this skill safe enough to inspect or install?" - INLINECODE3 answers: "Is this skill structured well enough to evaluate seriously?"
- a deeper evaluator answers: "How well does the skill perform in practice?"
Workflow
- 1. Confirm the target folder is a skill directory with
SKILL.md. - If the skill came from another repo or another person, do a safety review first.
- If
evals/ does not exist, initialize it with:
-
evals/evals.json
-
evals/triggers.json
-
evals/README.md
- 4. Replace placeholder prompts with realistic authoring examples.
- Run the readiness check before any deeper benchmarking.
- If readiness fails, fix the missing pieces first instead of forcing a run.
- Generate static run artifacts only after the inputs are usable.
Scripts
Initialize eval files:
CODEBLOCK0
Check readiness:
CODEBLOCK1
Run static eval checks:
CODEBLOCK2
Readiness Rules
A skill is ready for first-pass evaluation only when:
- -
SKILL.md exists - the frontmatter
description is real and not a placeholder - INLINECODE11 has at least one non-placeholder eval case
- INLINECODE12 has at least one positive and one negative non-placeholder trigger case
What This Skill Checks Well
- - missing or empty eval scaffolding
- placeholder prompts that would make an eval meaningless
- missing positive/negative trigger coverage
- empty or malformed INLINECODE13
- malformed optional
files declarations - static with-skill/without-skill run artifact organization
Current Limits
INLINECODE15 does not perform live trigger experiments against the OpenClaw runtime.
It does not score real outputs for quality, factuality, or tool correctness.
Today it performs static validation passes that:
- - verify trigger files exist
- verify cases are non-placeholder
- verify positive and negative sets are both populated
- verify eval cases have usable INLINECODE16
- verify declared
files entries are well-formed - write mode-specific run summaries for later comparison
Why Publish This Skill
This skill is for authors who do not yet need a full eval lab, but do need a clean starting point.
It is most useful as a lightweight preflight and scaffolding step before deeper evaluation.
Release Readiness Checklist
Before calling a skill "ready for release," aim for all of the following:
- - the description names concrete trigger scenarios
- positive and negative trigger cases both exist
- placeholder content is gone
- each eval case describes observable expected artifacts
- static run summaries can be generated without errors
Compare Runs
Use compare_runs.py after both modes exist in the same run-group.
It compares:
- - overall pass/fail
- per-check pass/fail
- mode-specific errors
- mode-specific notes
It writes comparison artifacts under the run-group root.
References
Read references/eval_format.md when you need the expected file formats and field meanings.
技能评估
将此技能用作 OpenClaw 技能的创作端预检。
它并非完整的运行时评估器。它帮助技能作者从这个技能存在过渡到这个技能结构良好,足以进行首次评估和后续回归工作。
适用请求
此技能适用于以下类型的请求:
- - 在我发布这个技能之前,为其设置评估文件。
- 检查这个技能是否准备好进行首次评估。
- 审查描述并告诉我触发覆盖是否足够清晰。
- 为此技能生成带技能和不带技能的静态对比产物。
不适用场景
请勿仅依赖此技能处理以下请求:
- - 大规模实时运行时基准测试
- 跨多个真实对话的响应质量评分
- 工具调用正确性或事实性审核
- 端到端生产回归测试
当您需要这些能力时,请在此步骤之后使用更深入的评估器。
最佳适用场景
在以下情况下使用此技能:
- - 为新技能或现有技能初始化 evals/ 文件
- 确认技能已准备好进行首次评估
- 明确正面和负面触发覆盖
- 在分享技能前捕获占位符内容
- 编写静态运行摘要以及带技能/不带技能的对比产物
当您需要实时运行时实验、工具调用质量检查或更丰富的输出评分时,请在此步骤之后使用更深入的评估器。
流程定位
推荐顺序:
技能审查器 -> 安装/审查 -> 技能评估 -> 更深入的运行时评估
- - 技能审查器 回答:这个技能是否足够安全以供检查或安装?
- 技能评估 回答:这个技能的结构是否足够好以进行认真评估?
- 更深入的评估器回答:该技能在实际中的表现如何?
工作流程
- 1. 确认目标文件夹是包含 SKILL.md 的技能目录。
- 如果技能来自其他仓库或其他人员,请先进行安全审查。
- 如果 evals/ 不存在,则使用以下文件初始化:
- evals/evals.json
- evals/triggers.json
- evals/README.md
- 4. 将占位符提示替换为真实的创作示例。
- 在任何更深入的基准测试之前运行就绪检查。
- 如果就绪检查失败,请先修复缺失的部分,而不是强制运行。
- 仅在输入可用后生成静态运行产物。
脚本
初始化评估文件:
bash
python3 scripts/init_eval.py /path/to/skill
检查就绪状态:
bash
python3 scripts/checkevalreadiness.py /path/to/skill
运行静态评估检查:
bash
python3 scripts/run_eval.py /path/to/skill
python3 scripts/run_eval.py /path/to/skill --check readiness
python3 scripts/run_eval.py /path/to/skill --check triggers
python3 scripts/run_eval.py /path/to/skill --check artifacts
python3 scripts/run_eval.py /path/to/skill --check files
python3 scripts/run_eval.py /path/to/skill --mode with-skill
python3 scripts/run_eval.py /path/to/skill --mode without-skill --run-group demo-baseline
python3 scripts/compare_runs.py /path/to/skill --run-group demo-baseline
就绪规则
只有当满足以下条件时,技能才准备好进行首次评估:
- - SKILL.md 存在
- 前置元数据中的 description 是真实的,而非占位符
- evals/evals.json 至少有一个非占位符的评估用例
- evals/triggers.json 至少有一个正面和一个负面非占位符触发用例
此技能擅长检查的内容
- - 缺失或空的评估脚手架
- 会使评估失去意义的占位符提示
- 缺失正面/负面触发覆盖
- 空或格式错误的 expected_artifacts
- 格式错误的可选 files 声明
- 静态的带技能/不带技能运行产物组织
当前限制
run_eval.py 不对 OpenClaw 运行时执行实时触发实验。
它不对真实输出的质量、事实性或工具正确性进行评分。
目前它执行静态验证,包括:
- - 验证触发文件存在
- 验证用例非占位符
- 验证正面和负面集合均已填充
- 验证评估用例具有可用的 expected_artifacts
- 验证声明的 files 条目格式正确
- 写入特定模式的运行摘要以供后续比较
为何发布此技能
此技能适用于尚不需要完整评估实验室,但需要清晰起点的作者。
它作为更深入评估之前的轻量级预检和脚手架步骤最为有用。
发布就绪检查清单
在将技能称为准备发布之前,请确保满足以下所有条件:
- - 描述中命名了具体的触发场景
- 正面和负面触发用例均存在
- 占位符内容已移除
- 每个评估用例描述了可观察的预期产物
- 静态运行摘要可以无错误生成
比较运行
在两个模式存在于同一 run-group 后,使用 compare_runs.py。
它比较:
- - 总体通过/失败
- 每项检查的通过/失败
- 特定模式的错误
- 特定模式的备注
它在运行组根目录下写入比较产物。
参考
当您需要了解预期的文件格式和字段含义时,请阅读 references/eval_format.md。