用途:在 skill 发布前做黑盒验证,模拟新用户视角,检验 SKILL.md 是否可被独立读懂并完成需求,最终产出可用性报告。适用于任何带 SKILL.md 的 skill,不限于 esflow 化。
主要能力:一条命令跑完隔离验证流程。流程节点为 isolate_env(建工作目录与全新 venv)、copy_skill(复制 skill 到 work_dir/skill,不改源码)、install_deps(优先 requirements.txt,否则 frontmatter,日志落 install_deps.log)、preflight_target(验 SKILL.md 可读,有 scripts/run.py 则试跑 --schema)、agent_run(agent 读 SKILL.md 自行使用并写 run_record.json)、verify_artifact(事实落 verify_facts.json)、agent_report(写 skill_verify_report.md)。
使用方式:依赖 pip install esflow。用例 JSON 只写 skill_path 与 demand,不含 command 与 expect。首跑 python3 scripts/run.py case.json 到 agent_run 退出(exit 2),agent 读 brief 与 SKILL.md 自行跑 skill,把 artifacts(必填)及可选 steps/envelope 写入 run_record.json,再 python3 scripts/run.py --resume <job_dir> 到 agent_report 退出,写含可用性评分、卡壳点、文档问题、产物结论、改进建议的报告,最后再 resume 收尾。参数含 --resume、--keep、--schema;退出码 0 ok / 1 runtime / 2 to_agent / 3 validation。
限制:工作目录在 /tmp/skill-publish-verify/<job_id>,venv 不复用;非 --keep 时 end/error 后仅保留产物与报告,清理后无法再 resume;一 case 一 job,禁止一个 work_dir 跑多轮 demand;被验 skill 自带 TO_AGENT 时需在 agent_run 内自行消化内层 resume。无 scripts/run.py 时 envelope=null 属合法事实。