关于 research-report
research-report 根据 `/research-deep` 生成的 JSON 文件,产出包含目录和条目摘要的 Markdown 报告,供研究流程整理结果。它会检查可用字段并询问哪些指标显示在目录中,再按报告规范生成脚本。
主要功能
- 01读取研究输出目录中的 JSON
- 02发现可用于目录的摘要字段
- 03询问目录中展示的指标
- 04生成并运行报告脚本
- 05输出 Markdown 汇总报告
适用场景
- 01汇总深度研究阶段的结果
- 02为研究条目添加选定指标
- 03将 JSON 研究数据整理为 Markdown
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ julianobarbosa/ claude-code-skills --skill research-report安装后在 Claude Code 中输入/research-report确认已加载。
附带文件references/report-generation-spec.md
详细介绍
研究报告 — 摘要报告
读取 /research-deep 生成的 JSON 文件,并在 {topic}/report.md 中输出一份 Markdown 报告。
触发方式
/research-report
工作流位置
/research-outline → /research-add-* → /research-deep → ► /research-report ◄
工作流
步骤 1 — 定位结果目录
在当前工作目录中用 Glob 查找 */outline.yaml。用 Read 读取文件,获取 topic 和 execution.output_dir。
步骤 2 — 扫描可选摘要字段
用 Read 读取 output_dir 下的所有 JSON 文件。收集适合作为目录表格列的候选字段——短字段、数值或标量指标。常见候选字段包括:
github_starsgoogle_scholar_citesswe_bench_scoreuser_scalevaluationrelease_date
AskUserQuestion:“你希望在目录中的每个条目旁显示哪些摘要字段?”——列出你在本次运行的 JSON 文件中实际找到的动态字段。
AskUserQuestion 每个问题最多只能有四个选项。 如果找到的候选字段超过四个,可以分组询问两次,或自行选出看起来最有参考价值的四个字段,再请用户确认或修改。
步骤 3 — 生成报告脚本
编写 {topic}/generate_report.py。脚本行为见 references/report-generation-spec.md 中的说明——编写脚本前请先阅读该文件。该文件涵盖 JSON 结构兼容性、类别名称的多语言映射、复杂值格式化、额外字段收集、不确定值跳过以及目录格式。
每次运行都重新生成脚本,而不是直接使用随项目打包的脚本,原因是:每个主题的字段类别和值形态略有不同。让模型每次运行时编写脚本,可以根据 JSON 中的实际内容调整格式,同时规范确保所有脚本都满足相同的最低要求。
步骤 4 — 执行脚本
运行 python {topic}/generate_report.py。检查生成的 {topic}/report.md 是否存在且非空,并将路径告知用户。
输出
{topic}/generate_report.py— 本次运行的转换脚本{topic}/report.md— 摘要报告
注意事项
CATEGORY_MAPPING位于两个地方:生成的generate_report.py和~/.claude/skills/research-outline/validate_json.py。两者必须保持一致,否则报告会跳过验证器刚刚接受的类别。如果在fields.yaml中新增类别,也要更新这两个文件(规范映射见references/report-generation-spec.md)。AskUserQuestion最多只能提供四个选项。 如果步骤 2 找到的摘要字段候选项超过四个,你需要将问题拆分为多轮询问,或在提问前自行筛选列表。不要悄悄截断为四个选项——用户需要知道哪些字段未被列出。- 值中包含
[uncertain]和值出现在uncertain数组中,都会触发跳过条件,任一条件单独成立就足够。不要用 AND 连接它们。 - 锚点 slug 应遵循 Markdown 的自动生成规则,而不是使用自定义的 slug 生成器。 确保目录链接
#xxx与 Markdown 渲染器根据## Item Name标题生成的内容一致——转换为小写、空格替换为连字符,并删除大部分标点。如果条目名称包含特殊字符,请使用已知安全的标题文本来渲染该章节。 output_dir为空意味着/research-deep尚未运行,或尚未完成任何条目。不要生成空报告——应向用户说明当前状态。