agentleFS
themusecatcherthemusecatcher/ai-coding-kit/skills/research-doc/SKILL.md

research-doc

Skill2 starsChanged 58 days agoMITView on GitHub

外网资料搜索与文档生成工具。根据用户指定的主题进行外网搜索、整理汇总,生成 PPT、PDF、Word、Excel 等格式的文档。触发场景包括但不限于:(1)调研/搜索/查找资料/分析/对比+主题;(2)给出/列出/梳理/整理+专业内容+并生成文档;(3)生成报告/做个PPT/导出Word/导出Excel;(4)针对XX产品/技术/领域+给出/总结+方法/标准/规范+生成文档。核心判断:只要任务涉及"信息搜集/知识整理"且最终需要"输出为文档文件",即应触发。

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Files
SKILL.md

Research & Document Generation

外网资料搜索与文档生成一体化工作流。根据用户指定主题搜索外网资料,整理汇总后生成指定格式的文档。


触发规则

核心判断原则

只要任务同时满足以下两个条件,即触发本 Skill:

  1. 信息搜集/知识整理:需要搜索外网资料、整理专业知识、梳理标准法规等
  2. 文档文件输出:最终需要生成 Word/PPT/PDF/Excel 等文档文件

显式触发

含 research-doc / 调研文档 / 调研报告 关键词。

隐式触发

满足以下任一条件:

信号模式示例
调研/分析/对比 + 主题"帮我调研下 XX"、"对比 A 和 B"
搜索/查找 + 主题 + 文档需求"搜索 XX 资料整理成文档"、"查找 XX 相关内容"
生成文档 + 格式关键词"做个 PPT"、"生成 Excel 报告"、"导出 Word"
总结/汇总 + 输出要求"把这些整理成文档"、"汇总成报告"
给出/列出/梳理/整理 + 专业内容 + 生成文档"给出测试方法和标准,并生成 Word 文档"
针对 XX + 给出/总结 + 方法/标准/规范/要求 + 文档"针对 XX 产品…给出检测标准…生成 Word"
非代码主题 + 文档格式关键词(word/ppt/pdf/excel/docx/pptx/xlsx)"血管塞检测项目…生成 word 文档"
专业领域知识 + 文件输出需求"XX 的法律法规和接收标准,导出为 PDF"

文档格式关键词(触发辅助信号)

以下关键词出现在非代码语境中,视为文档输出需求: word / Word / docx / ppt / PPT / pptx / pdf / PDF / excel / Excel / xlsx / 报告 / 文档

不触发

  • 纯代码开发任务(由 dev-flow 处理)
  • 单次问答无文档输出需求(如"XX 是什么?")
  • 内部/文档平台 搜索需求
  • 代码文件中出现上述关键词(如代码注释中的 "word")

工作流

┌──────────────────────────────────────────────────┐
│  Phase 1: CLARIFY(明确需求)                      │
│  - 确认搜索主题和目标                               │
│  - 确认输出格式(PPT/PDF/Word/Excel)               │
│  - 确认输出目录                                    │
│  - 确认深度(快速概览 / 深度分析)                    │
├──────────────────────────────────────────────────┤
│  Phase 2: RESEARCH(外网搜索)                      │
│  ┌──────────────┐ ┌──────────────┐                │
│  │  web_search  │ │  web_fetch   │                │
│  │  关键词搜索   │ │  页面抓取     │                │
│  └──────────────┘ └──────────────┘                │
├──────────────────────────────────────────────────┤
│  Phase 3: ANALYZE(整理分析)                       │
│  - 信息去重、分类、结构化                            │
│  - 提炼关键结论和建议                               │
│  - 构建文档大纲                                    │
├──────────────────────────────────────────────────┤
│  Phase 4: GENERATE(生成文档)                      │
│  - 根据格式选择最优生成方案                          │
│  - 执行生成脚本                                    │
│  - 验证输出文件可打开                               │
├──────────────────────────────────────────────────┤
│  Phase 5: DELIVER(交付)                          │
│  - 展示文档预览或摘要                               │
│  - 调用 open_result_view 呈现结果                   │
└──────────────────────────────────────────────────┘

Phase 1: CLARIFY

开始前必须确认以下信息,不确定时主动询问:

项目说明默认值
搜索主题用户指定的搜索内容无(必填,由用户每次告知)
输出格式PPT / PDF / Word / Excel / MarkdownMarkdown
输出目录文件保存位置~/docs-output/
调研深度快速(10 min)/ 深度(30 min)快速

输出目录规则:所有生成的文件统一保存到 ~/docs-output/,按主题创建子文件夹。如:~/docs-output/20260309_XXX主题/report.pptx。


Phase 2: RESEARCH

搜索策略

仅使用外网搜索,不使用项目代码搜索、内网搜索或 文档平台 搜索。

根据用户指定的主题,并行使用 web_search + web_fetch 进行多轮搜索:

搜索工具:
- web_search:关键词搜索,获取搜索结果列表
- web_fetch:抓取特定页面的详细内容

搜索策略:
- 第 1 轮:用主题关键词直接搜索,获取全局概览
- 第 2 轮:根据第 1 轮结果,细化关键词深入搜索
- 第 3 轮:补充搜索遗漏角度或交叉验证关键信息

关键词构造示例:
- 综述类:"{主题} 综述 2025/2026" / "{topic} overview"
- 对比类:"{A} vs {B} comparison" / "{A} 和 {B} 区别"
- 实践类:"{主题} best practices" / "{主题} 实践经验"
- 趋势类:"{主题} trends 2026" / "{主题} 最新进展"

搜索质量要求

  • 至少使用 3 种不同关键词 搜索同一主题
  • 搜索结果优先取 最近 1 年 的内容
  • 关键数据和结论必须 交叉验证(至少 2 个独立来源)
  • 对重要页面使用 web_fetch 抓取完整内容,不仅依赖搜索摘要

Phase 3: ANALYZE

信息整理模板

## 调研结论

### 核心发现
1. {发现 1}
2. {发现 2}
3. {发现 3}

### 对比矩阵(适用于方案对比)
| 维度 | 方案 A | 方案 B | 方案 C |
|------|--------|--------|--------|
| 功能完整度 | | | |
| 性能 | | | |
| 维护成本 | | | |
| 社区生态 | | | |
| 学习曲线 | | | |

### 建议
- 推荐:{方案} — 原因:{理由}
- 备选:{方案} — 适用场景:{场景}

Phase 4: GENERATE

格式选择决策树

需要生成文档?
├── PPT → 执行 scripts/gen_pptx.py
├── Word → 执行 scripts/gen_docx.py
├── Excel → 执行 scripts/gen_xlsx.py
├── PDF → 先生成 Markdown,再通过脚本转换
│   ├── 有 weasyprint → scripts/gen_pdf.py(HTML→PDF)
│   └── 无 weasyprint → 生成 Markdown 文件,建议用户手动转换
└── Markdown → 直接写入文件

生成脚本使用

所有脚本位于 scripts/ 目录,接受 JSON 格式的内容参数:

# PPT 生成
python3 {skill_dir}/scripts/gen_pptx.py --input content.json --output report.pptx

# Word 生成
python3 {skill_dir}/scripts/gen_docx.py --input content.json --output report.docx

# Excel 生成
python3 {skill_dir}/scripts/gen_xlsx.py --input content.json --output report.xlsx

# PDF 生成(通过 HTML 中间格式)
python3 {skill_dir}/scripts/gen_pdf.py --input content.json --output report.pdf

内容 JSON 格式

生成脚本统一接受以下 JSON 结构:

{
  "title": "调研报告标题",
  "subtitle": "副标题(可选)",
  "author": "作者(可选)",
  "date": "2026-03-09",
  "sections": [
    {
      "title": "章节标题",
      "content": "章节内容(支持 Markdown)",
      "type": "text | table | chart | bullet",
      "data": {}
    }
  ]
}

依赖检查

生成文档前,检查所需库是否已安装。缺失时执行:

bash {skill_dir}/scripts/setup.sh

Phase 5: DELIVER

  1. 验证生成的文件存在且大小 > 0
  2. 在对话中输出文档摘要(标题 + 章节列表 + 页数/行数)
  3. 调用 open_result_view 展示结果文件

文档设计原则

PPT 设计规范

原则说明
字体标题 28pt+,正文 18pt+,使用系统安全字体
配色主色 + 辅色 + 强调色,不超过 4 种
布局标题页 + 目录页 + 内容页 + 总结页
每页内容一页一个核心观点,避免信息过载
图表优先数据用图表展示,避免大段文字

Word 设计规范

原则说明
结构标题层级清晰(H1→H2→H3)
目录超过 3 页必须生成目录
表格对比信息用表格而非文字
页眉页脚包含标题和页码

Excel 设计规范

原则说明
Sheet 命名有意义的中文名称
表头加粗 + 背景色 + 冻结首行
列宽自动适配内容宽度
公式使用 Excel 公式而非硬编码值
数据验证关键列添加数据验证

反模式

反模式正确做法
不确认输出目录就生成文件先确认目录位置
只搜索一次就下结论至少 3 种关键词交叉验证
仅依赖搜索摘要对重要页面用 web_fetch 获取完整内容
使用内部/文档平台/项目代码搜索仅使用外网搜索(web_search + web_fetch)
PPT 塞满文字一页一观点,图表优先
Excel 写死数值使用 Excel 公式
跳过文件验证生成后必须验证可打开
忽略用户偏好输出格式和深度都要确认

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.