gitbyeos/open-part-skills · Archived

skill-publish-verify

发布前黑盒验证。隔离 venv + 路径,agent 以新用户身份读 SKILL.md 自行使用?

First seen Aug 7, 2026

Installation

$ npx skills add gitbyeos/open-part-skills --skill skill-publish-verify

Summary

发布前黑盒验证。隔离 venv + 路径,agent 以新用户身份读 SKILL.md 自行使用待验 skill,收集 run_record 与产物事实,再由 agent 写可用性报告。任意有 SKILL.md 的 skill 发布前都能跑一遍。用户提到「发布前验证」「skill 黑盒验证」时使用本 skill。

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from gitbyeos/open-part-skills · top by installs.

npx skills add gitbyeos/open-part-skills

Browse all from gitbyeos/open-part-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 40
License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.1.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,673 B
  • docs SUMMARY.md 337 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

发布前黑盒验证

任意有 SKILL.md 的 skill 发布前,用一条命令跑完新用户视角的隔离验证,产出 可用性报告。是否 esflow 化不限——envelope 契约是 esflow skill 的加成,缺失时 verifyfacts.envelope=null,agentreport 照常写。

依赖

pip install esflow

用例格式

{
  "skill_path": "<待验 skill 根目录>",
  "demand": "生成北京南→天津西 2026 抢票日历 HTML"
}

只写"验什么 skill + 要完成什么需求"。不含 command、不含 expect——命令由 agent 读 SKILL.md 自行构造,产物是否符合预期由 agent_report 综合判断 + 用户复核。 这是真黑盒,才能测出"新用户能否看懂 SKILL.md"。

Flow 结构

isolate_env → copy_skill → install_deps → preflight_target → agent_run → verify_artifact → agent_report
                                                    (TO_AGENT)                  (TO_AGENT)
节点 职责
isolate_env 建工作目录 + 全新 python venv
copy_skill copy skill 到 work_dir/skill,不动源码
install_deps 优先 skill/requirements.txt,否则 frontmatter;pip 全文落 install_deps.log
preflight_target 验 SKILL.md 可读;有 scripts/run.py 则试跑 --schema 喂给 brief,失败不 fatal
agent_run TOAGENT:agent 读 SKILL.md 自行用 skill,写 runrecord.json
verify_artifact 读 runrecord + workdir,全量事实落 verify_facts.json,artifact 存摘要
agent_report TOAGENT:agent 读 facts + SKILL.md 写 skillverify_report.md

Agent 介入(两次 --resume)

# 1. 首跑到 agent_run 退出(exit 2)
python3 scripts/run.py case.json

# 2. Agent 读 _agent_run_brief.json + skill_dir/SKILL.md,自行跑 skill,
#    把 artifacts(必填)+ steps/envelope(可选)写入 run_record.json

# 3. 续跑到 agent_report 退出(exit 2)
python3 scripts/run.py --resume <job_dir>

# 4. Agent 读 _agent_report_brief.json + verify_facts.json + run_record,
#    写 skill_verify_report.md(含:可用性评分/卡壳点/文档问题/产物结论/改进建议)

# 5. 续跑收尾,输出 envelope,极简清理 work_dir
python3 scripts/run.py --resume <job_dir>

agent_run brief 字段

workdir/agentrunbrief.json:

字段 说明
demand / workdir / venvdir / python / skill_dir 需求 + 隔离环境
installed / skipped / installdepslogpath / installdeps_source 依赖安装结果与日志
preflight {skillmdexists, hasrunpy, schemaexitcode, schemastdouthead}
runrecordfile / runrecordrequiredfields / runrecordoptionalfields / runrecordstep_fields 产物文件名 + 必填/可选字段 + steps 每步字段
artifactsmustunder artifacts 路径必须落在该目录,越界 deliver 失败
cwdmustbe / resume_cmd 执行工作目录 + 写完 run_record 后的续跑命令

runrecord.json 必填:artifacts(绝对路径列表,全部落在 artifactsmustunder 下, 框架核实路径合法性 + 存在性)。可选:steps(数组,每步含 command/exitcode/ stdout/stderr,agent 自报过程,框架不核实)、envelope(skill 最终 envelope)。 单步 skill 可只填 artifacts;多步 skill(如自带 TOAGENT 的 esflow skill)用 steps 逐步记录。agent 应主动用 --out workdir/out 之类参数把产物输出到 work_dir 内。

agent_report brief 字段

workdir/agentreportbrief.json:skillmdpath / runrecordpath / verifyfactspath / verifysummary / reportfile / reportrequiredsections / resume_cmd。

skillverifyreport.md 必含章节:可用性评分、卡壳点、文档问题、产物结论、 改进建议。deliver 逐项检查章节标题,缺失判失败。

verify_facts.json

全量事实外置,字段:runrecord(steps/envelope,steps 为 agent 自报过程)、 envelopeok、artifacts([{path, exists, size, texthead}])、workdirtree。 节点 artifact 与最终 envelope 只带摘要(exitcode/envelopeok/artifactcount, exit_code 取 steps 末步,无 steps 则 null),避免多 job 时终端被单次 stdout/stderr 撑爆。

参数

参数 说明
case 用例 JSON 路径
--resume <job_dir> 续跑 TO_AGENT 节点
--keep 保留整个 job 目录供人工复核,默认 end/error 后极简清理
--schema 输出 JSON 契约

退出码:0 ok / 1 runtime / 2 to_agent / 3 validation

输出契约

成功时 stdout 一行 JSON envelope(清理后构造,只带仍存在的路径):

{
  "ok": true,
  "data": {
    "work_dir": "<job 目录>",
    "report_path": "<work_dir>/skill_verify_report.md",
    "artifacts": ["<work_dir>/out/xxx.html"],
    "verify": {"exit_code": 0, "envelope_ok": true, "artifact_count": 1}
  },
  "error": null,
  "meta": {"schema_version": "1.1.0", "tool": "skill-publish-verify", "elapsed_ms": 0}
}

artifacts 是清理后仍存在的产物绝对路径。verify 是摘要(全量事实已随 verify_facts.json 删除,如需保留用 --keep)。失败时 ok=false, error 含 {code, message, retryable},data 为 null。

隔离与生命周期

工作目录 /tmp/skill-publish-verify/<job_id>,venv 不复用(每次全新装依赖, 才能暴露 SKILL.md 依赖说明是否完整)。

时机 动作
to_agent 中断 不动,还要 --resume
end / error 且非 --keep 只保留 runrecord.artifacts 指向的产物 + skillverify_report.md,其余全删
--keep 整个 job 目录原样保留

清理后无法再 --resume 该 job,end/error 后验证已结束,复跑用新 job_id。

多场景约定

一 case 一 job,编排层循环,禁止一个 work_dir 跑多轮 demand:

for f in verify.cases/*.json; do
  python3 scripts/run.py "$f"   # 每次新 job_id、新 work_dir、新 venv
  # Agent 对该 job 完成两次 resume 后再跑下一个 f
done

仓库约定

待验 skill 在自己仓库下放 verify.cases/,每个 JSON 一个 case。Agent SOP 固定 四步:首跑 → 手跑 skill 写 run_record → resume 写报告 → resume 收尾;禁止 resume 别的 job 目录。

通用性边界

验任何有 SKILL.md 的 skill。有 scripts/run.py + --schema(esflow skill) 则 preflight 把 schema 摘要喂给 brief、verify 解析 envelope;否则 envelope=null 是合法事实,agent 按 SKILL.md 手工执行。不引入分支判断——null 本身就是事实。

被验 skill 若自带 TOAGENT 节点(如 esflow skill 的 agentreview),agent 须在 agentrun 阶段内完整跑通其全部 resume 步骤(首跑到该 skill 的 TOAGENT 退出 → 写该 skill 要求的产物 → resume 续跑),把最终结果记入 runrecord。即两层 TOAGENT 嵌套时,内层由 agent 自行消化,对 publish-verify 只暴露一次外层 resume。

Agent 使用指引

用户提到「发布前验证」「skill 黑盒验证」「发布前自检」时使用:确认待验 skill 路径 + demand → 写 case.json → 按"Agent 介入"章节两次 --resume 节奏介入 → 把 skillverifyreport.md 呈现给用户。