关于 research-report
将 JSON 研究结果整理为 Markdown 汇总报告的 Skill。它读取主题配置和字段定义,生成目录与分类详情,并排除不确定值。
主要功能
- 01读取结果 JSON 和字段定义
- 02允许选择目录展示指标
- 03生成 Python 报告脚本
- 04格式化嵌套及复杂值
- 05排除不确定或空值
适用场景
- 01汇总目录中的研究结果
- 02在报告目录展示选定指标
- 03生成分类 Markdown 详情
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ weizhena/ deep-research-skills --skill research-report安装后在 Claude Code 中输入/research-report确认已加载。
详细介绍
研究报告 - 汇总报告
触发方式
/research-report
工作流
步骤 1:定位结果目录
在当前工作目录中查找 */outline.yaml,读取 topic 和 output_dir 配置。
步骤 2:扫描可选汇总字段
读取所有 JSON 结果,提取适合在目录中显示的字段(数值型、简短指标),例如:
- github_stars
- google_scholar_cites
- swe_bench_score
- user_scale
- valuation
- release_date
使用 request_user_input 询问用户:
- 除了条目名称,目录中还要显示哪些字段?
- 提供动态选项列表(基于 JSON 中的实际字段)
步骤 3:生成 Python 转换脚本
在 {topic}/ 目录中生成 generate_report.py,脚本要求:
- 从 output_dir 读取所有 JSON
- 读取 fields.yaml 获取字段结构
- 覆盖每个 JSON 中的所有字段值
- 跳过值中包含 [uncertain] 的字段
- 跳过 uncertain 数组中列出的字段
- 生成 Markdown 报告格式:目录(包含锚点链接和用户选择的汇总字段)+ 详细内容(按字段类别)
- 保存到
{topic}/report.md
目录格式要求:
- 必须包含每个条目
- 每个条目显示:编号、名称(锚点链接)、用户选择的汇总字段
- 示例:
1. [GitHub Copilot](#github-copilot) - Stars: 10k | Score: 85%
脚本技术要求(必须遵守)
1. JSON 结构兼容性 支持两种 JSON 结构:
- 扁平结构:字段直接位于顶层
{"name": "xxx", "release_date": "xxx"} - 嵌套结构:字段位于类别子字典中
{"basic_info": {"name": "xxx"}, "technical_features": {...}}
字段查找顺序:顶层 -> 类别映射键 -> 遍历所有嵌套字典
2. 类别多语言映射 fields.yaml 中的类别名称和 JSON 键可以是任意组合(CN-CN、CN-EN、EN-CN、EN-EN)。必须建立双向映射:
CATEGORY_MAPPING = {
"Basic Info": ["basic_info", "Basic Info"],
"Technical Features": ["technical_features", "technical_characteristics", "Technical Features"],
"Performance Metrics": ["performance_metrics", "performance", "Performance Metrics"],
"Milestone Significance": ["milestone_significance", "milestones", "Milestone Significance"],
"Business Info": ["business_info", "commercial_info", "Business Info"],
"Competition & Ecosystem": ["competition_ecosystem", "competition", "Competition & Ecosystem"],
"History": ["history", "History"],
"Market Positioning": ["market_positioning", "market", "Market Positioning"],
}
3. 复杂值格式化
- 字典列表(例如 key_events、funding_history):将每个字典格式化为一行,键值对之间用
|分隔 - 普通列表:短列表用逗号连接,长列表用换行显示
- 嵌套字典:递归格式化,用分号或换行显示
- 长文本字符串(超过 100 个字符):添加换行
<br>,或使用引用块格式以提高可读性
4. 额外字段收集 收集 JSON 中存在但 fields.yaml 未定义的字段,并放入“其他信息”类别。过滤时注意:
- 内部字段:
_source_file、uncertain - 嵌套结构的顶层键:
basic_info、technical_features等 uncertain数组:每个字段名称单独显示一行,不要压缩成一行
5. 不确定值跳过规则 跳过条件:
- 字段值包含
[uncertain]字符串 - 字段名称位于
uncertain数组中 - 字段值为 None 或空字符串
步骤 4:执行脚本
运行 python {topic}/generate_report.py
输出
{topic}/generate_report.py- 转换脚本{topic}/report.md- 汇总报告
评论
支持 Markdown