用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/xinyuehtx/doc-cli-evals --skill eval-report命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | eval-report |
| description | 报告管理,包括从运行数据生成 HTML 报告、推送到 storage backend、从 storage backend 下载报告 |
| disable-model-invocation | false |
| context | fork |
管理 CLI 评测报告的完整生命周期:本地生成、上传到 storage backend、从 storage backend 下载。
生成指定运行的报告:
# 第一步:输出运行数据为 JSON
evals report data "$1" > report-data.json
# 支持 --run-dir 指定运行目录
evals report data "$1" --run-dir <path> > report-data.json
# 第二步:使用 Skill 读取 report-data.json 和模板生成 HTML
# (由 Skill 自动完成,读取模板并填充数据)
运行目录默认在
~/.doc-cli-evals/eval-runs/<run_id>;如需指定其他位置,用--run-dir <path>。evals report data也会自动把 JSON 落盘到<run_dir>/report/report-data.json。
打开已生成的报告:
evals report open "$1"
列出所有可用的本地报告:
evals report list
推送指定运行的报告到 storage backend(支持 Markdown 报告、截图附件和 trace 链接):
evals report push "$1"
列出 storage backend 中的远程报告:
evals report list-remote
从 storage backend 删除远程报告:
evals report delete "$1"
从 storage backend 下载报告:
evals report pull "$@"
下载最新的报告:
evals report latest "$@"
evals report data <run_id> 输出包含所有运行数据的 JSONskills/eval-report/references/report-template.html{{RUN_ID}} - 运行 ID{{DATASET_NAME}} - 数据集名称{{GENERATED_AT}} - 生成时间{{TOTAL_CASES}} - 总用例数stats.perCli[<cli>],按参与对比的 CLI 动态渲染{{CASE_SECTIONS}} - 用例详情区块(见下方「用例区块结构」,逐用例逐 CLI 渲染){{FRAMEWORK_VERSION}} - 框架版本注意(CLI 动态化):模板中的 CLI 面板(示例中为 DWS / Feishu)不再硬编码。渲染时应遍历
stats.perCli与cases[<case>]下的实际 CLI 键名,为每个 CLI 生成一个面板/一列。模板中的两栏布局仅为参考样式,实际 CLI 数量以manifest.clis/ 运行数据为准。
{{CASE_SECTIONS}})完整 HTML 结构示例见模板 report-template.html 中 {{CASE_SECTIONS}} 下方的注释块。生成时严格复用模板中的类名,勿自造新类名(CSS 仅为这些类名提供样式,自造会导致布局错乱)。填充要点:
.case-block,其内每个 CLI 一个 .cli-panel(顺序按 cases[<case>] 的 CLI 键遍历)。.rubric-table 列为 类别 | 评分标准(0-5 分级) | 得分 | 理由;评分标准列合并标准名与 refinedRubrics[case][kind][criterion].standards 的 0-5 分级,实际得分档(rubricScores 的 score)对应 .std-level 加 .active 高亮。score-green、≥3.5 score-yellow、否则 score-red;加权总分徽章同理映射 score-high/mid/low。cases[case][cli].docUrl 渲染 .doc-link(无则省略)。<case>/<cli>/screenshots/*.png 转 base64,doc.png 优先,其余按页码排序。report.htmlevals report open <run_id>
推送的报告使用 Markdown 格式,包括摘要、详细结果、Traces 链接。
截图以附件形式上传到 storage backend 的 Media API,在 metadata 中引用。
evals report pull <item_id> [output_dir]
这会下载:
report.md - Markdown 报告metadata.json - 元数据screenshot-ids.txt - 截图 ID 列表(如果有)screenshots/ - 原始截图文件(如果有)使用 skills/eval-report/references/report-template.html 模板,读取下载的 Markdown 和截图,生成完整的 HTML 报告。
report-<run-id>/
├── report.md # Markdown 报告(由 CLI 下载)
├── report.html # 完整的 HTML 报告(由 Skill 生成)
├── metadata.json # 元数据
├── screenshot-ids.txt # 截图 ID 列表
└── screenshots/ # 原始截图文件
evals report data 输出的 JSON 结构(CLI 键名均为动态):
{
"meta": { "runId": "...", "datasetName": "...", "...": "..." },
"stats": {
"totalCases": 10,
"perCli": {
"<cli_name>": { "passed": 8, "avgScore": 4.2, "scored": 10 }
}
},
"cases": {
"<case_name>": {
"<cli_name>": { "status": "completed", "rubricScores"
字段说明:
stats.perCli[<cli>]— 每个 CLI 的通过数 / 平均分 / 已评分数(按实际参与的 CLI 动态生成)。cases[case][cli].docUrl— 文档链接;若 status 中无 docUrl,则由对应 CLI 插件从 docId/nodeId 解析,无法确定时省略。cases[case][cli].rubricScores— 该 CLI 的评分结果(来自rubric-scores.json)。refinedRubrics[case]— case 级共享的 0-5 分细化评分标准(来自shared-refined-rubrics.json)。
/eval-run 已完成(本地报告生成)rubric-scores.json(评分由 eval-run 中的 subAgent 自动完成)/eval-config 已配置 storage backend(上传/下载)