关于 data-research
data-research 是一项可配置技能,可将邮件、网页和 API 来源整理为结构化研究跟踪表,适用于定期数据收集。七阶段流程包含原始来源归档、去重,并将跟踪条目链接回来源。
主要功能
- 01七阶段研究流程
- 02通过 YAML 配方配置来源
- 03优先用正则分类与提取
- 04归档原始来源并建立反向链接
- 05更新跟踪表前进行去重
适用场景
- 01跟踪投资者更新中的指标
- 02整理费用与收据数据
- 03收集邮件中的公司动态
- 04设置定期数据收集
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ garrytan/ gbrain --skill data-research安装后在 Claude Code 中输入/data-research确认已加载。
详细介绍
数据研究
结构化研究流水线:搜索来源、提取结构化数据、归档原始内容、去重、更新规范追踪表,并为实体添加反向链接。
约定
这是一个适用于任何“邮件到结构化数据”流水线的 Skill。跟踪投资人更新、支出和公司指标之间的唯一区别在于搜索查询、提取模式和追踪页面格式。三者都使用同一套 7 阶段流水线,并通过参数化配方实现。
使用场景
- 用户希望从邮件、网页或 API 来源跟踪结构化数据
- 用户说“research”“track”“extract from email”“build a tracker”(研究、跟踪、从邮件提取、建立追踪表)
- 用户提到投资人更新、捐赠、公司指标、文件申报
- 用户希望设置定期数据收集(附带 cron 配方)
阶段
阶段 1:定义研究配方
根据对话上下文、近期 brain 活动、进行中的任务(ops/tasks.md)以及记忆文件推断研究目标。如果请求含糊,则根据用户近期的工作内容给出最可能的理解。只有在上下文确实不足时才询问澄清。可选项:
- 选择内置配方:investor-updates、expense-tracker、company-updates
- 自定义配方,包括:来源查询、分类规则、提取模式、追踪页面路径、追踪格式
配方是位于 ~/.gbrain/recipes/{name}.yaml 的 YAML 文件。若要新建配方,请复制一个内置配方文件并编辑其字段。
阶段 2:搜索来源
先查 brain(也许我们已经有这些数据)。然后:
- 邮件:通过凭证网关进行分时段查询(按季度,若结果被截断则按月)
- 网页:通过搜索获取公开文件、新闻稿、监管数据
- API:配方所定义的任何结构化数据来源
- 附件:PDF 提取、HTML 去除标签
阶段 3:分类
优先使用确定性方法(配方中的正则模式),再回退到大模型。 记录每一次大模型回退,以便未来改进正则(fail-improve 循环)。 根据配方的分类规则跳过营销邮件、新闻简报和噪声内容。
阶段 4:提取结构化数据
提取完整性规则:
- 立即保存原始来源(在任何提取之前)
- 先用确定性正则提取字段,大模型作为回退
- 汇总批量处理结果时:从已保存的文件重新读取
- 批量处理之后,不要信任大模型的工作记忆
这可以防止一个已知的幻觉问题:批量处理的金额若直接取自大模型工作记忆,会全部错误(13/13 错误),而已保存的文件则是正确的。
阶段 5:归档原始来源
- 邮件正文、API 响应使用
put_raw_data - PDF 附件、文档使用
file_upload - 为存储中的大文件创建
.redirect.yaml指针 - 每条追踪记录都必须链接回其原始来源
阶段 6:去重
在加入追踪表之前:
- 完全匹配(关键字段相同)→ 跳过
- 模糊匹配(同一实体 + 日期 + 金额在容差范围内相近)→ 标记待审核
- 同一实体 + 日期但金额不同 → 添加并附注(可能是更正)
阶段 7:更新规范追踪表 + 反向链接
- 解析现有追踪页面(Markdown 表格)
- 在正确的章节中追加新条目(按年/季度/实体分组)
- 计算累计总额
- 为每个提及的实体添加反向链接(人员 → people/ 页面,公司 → companies/ 页面)
- 实体页面使用 enrichment 服务
内置配方
GBrain 附带三个示例配方(见 ~/.gbrain/recipes/):
- investor-updates:从投资人更新邮件中提取 MRR、ARR、增长、烧钱速度、跑道、员工人数
- expense-tracker:从收据邮件中提取金额、收款方、平台(订阅、服务、定期扣费)
- company-updates:从被投公司更新邮件中提取营收、用户数和关键指标
失败时如何处理
对于任何 gbrain 错误 code、退出码、[AGENT] 块或提示块,请遵循 Agent 操作员协议。本技能的具体情况如下:
- 如果路径位于允许的根目录之外(远程调用方被限制在该范围内),
file_upload会被拒绝:请用户从 brain 主机上传,或以内联方式传入内容。 put_page/add_timeline_entry返回revision_conflict或write_pending时:前者需重新读取并合并;后者需轮询gbrain write-request <request_id>。- 提取来源触发限流(
rate_limited)时:按提示的延迟时间退避,并保留游标;记录数据缺口,而不是猜测缺失的行。
反模式
- 批量处理后依赖 LLM 的工作记忆来计算金额(应使用提取完整性规则)
- 创建没有原始来源链接的跟踪条目
- 不做去重直接运行(会导致条目被重复计算)
- 在流水线代码中硬编码特定来源的模式(应使用 recipes)
输出格式
brain 页面位于 recipe 的 tracker_page 路径,使用 Markdown 表格:
### 2026
| Date | Company | MRR | ARR | Growth | Status |
|------|---------|-----|-----|--------|--------|
| 2026-04-01 | Example Co | $188K | $2.3M | +14.7% MoM | [Source](link) |
每个条目都链接到其原始来源。每个部分的底部给出累计汇总。
约定
引用 skills/conventions/quality.md 中关于引用和反向链接的规则。