mcpField
R
research-report

research-report

github.com/julianobarbosa文档处理1457 次安装3 天前更新
代码仓库

关于 research-report

research-report 根据 `/research-deep` 生成的 JSON 文件,产出包含目录和条目摘要的 Markdown 报告,供研究流程整理结果。它会检查可用字段并询问哪些指标显示在目录中,再按报告规范生成脚本。

主要功能

  1. 01读取研究输出目录中的 JSON
  2. 02发现可用于目录的摘要字段
  3. 03询问目录中展示的指标
  4. 04生成并运行报告脚本
  5. 05输出 Markdown 汇总报告

适用场景

  1. 01汇总深度研究阶段的结果
  2. 02为研究条目添加选定指标
  3. 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_stars
  • google_scholar_cites
  • swe_bench_score
  • user_scale
  • valuation
  • release_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 尚未运行,或尚未完成任何条目。不要生成空报告——应向用户说明当前状态。

评论

支持 Markdown