Community研究与数据分析github.com

研究规划

用于处理任何“研究和规划X”请求。首先对资源进行分类,仅基于实际阅读的内容进行规划,并生成plan.md以及一个按主题分类的源文件。在用户下载文件后重新运行以更新。

研究规划 是什么?

该技能(research-plan)是一个三技能套件的核心编排器,与source-triage和evidence-check协同工作。它专门用于将任何“研究和规划X”请求转化为结构化的输出:一份plan.md和一个按主题命名的源文件。它强制要求先对资源进行分类(包括可访问性、质量、完整性等级),之后再阅读——避免仅凭付费摘要构建规划。它支持auto(默认)、step、quick、deep和update五种模式,每种模式都有不同的深度和资源数量限制。该技能还会生成一个详细的分类资源文件(sources__<slug>__<date>.md),其中包含按访问类别(可读、免费但被屏蔽、付费、非论文、已排除)分组的条目,并带有可点击的锚点链接,用于与plan.md中的引用对应。在最后阶段,它会运行确定性检查脚本(research_checks.py)和可选的证据检查子技能,以验证所有声明是否都有原始文本中的直接引文支持,并检查锚点、标志和数量是否匹配。如果用户下载了PDF或文本文件,Phase 6允许更新现有规划,重新读取文件并使用引文替换之前带⚠标志的声明。该技能支持Claude Code等AI代理平台,并建议使用subagent进行并行搜索。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Pushkar1-GitHub/D2D_Meta_Skills/tree/HEAD/skills/research-plan

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

研究 → plan.md + 源文件

三技能套件的编排器:

  • source-triage:在阅读之前查找资源并对其访问性、可及性、完整性和等级进行分类。
  • research-plan(本技能):阅读可访问的资源,然后编写规划和源文件。
  • evidence-check:独立审计,确保每个声明都是真实的且有支持。

如果缺少同级技能,请根据以下摘要内联执行其步骤。确定性检查器包含在本技能中:python3 <本技能文件夹>/scripts/research_checks.py。它是标准库Python,在你的代码沙箱中运行(PDF文本需要pypdf;如果缺失,在那里pip install pypdf)。在需要确定性检查的地方使用它。仅在无法执行代码时,才手动进行这些检查并说明。

输出(固定名称)

research/<主题-slug>/plan.md
research/<主题-slug>/sources__<主题-slug>__<YYYY-MM-DD>.md   ← 人工视图
research/<主题-slug>/ledger.md                                ← 工作状态,边进行边写入
research/<主题-slug>/notes/<引用键>.md                       ← 每个资源笔记
research/<主题-slug>/notes/raw/<引用键>.txt                  ← 原始全文(API XML/PDF文本),支持逐字引用
research/<主题-slug>/claims.json                              ← 支持的声明 + 引文,用于检查
  • <主题-slug>:3-6个特定单词,小写连字符(淀粉-果聚糖-工程-植物)。
  • 永远不要覆盖之前的运行结果。同一主题:新的带日期的源文件 + 变更日志条目。新角度:新的slug。
  • 如果用户有连接文件夹,则在其下工作;否则,在工作目录工作。最后发送两个主文件。

模式

  • auto(默认):无暂停;在最后列出你的选择。step:在每个◆处停止。
  • quick:保留8-15个资源。最多完整阅读5个顶级资源;其他使用 sections:(摘要 + 结果 + 讨论)。反证:最多3次搜索。选择性滚雪球。
  • deep:25+个资源,滚雪球,并行探索,完整阅读所有A/B级资源。
  • update:用户下载了文件或要求刷新 → 第6阶段。
  • 请求中的硬约束(需要2个书章节、字数限制、必需数据库的评分标准)是要求,而非建议。使用经过验证的资源来满足它们,或者明确说明哪一个未满足。

第0阶段 — 框架

一条消息:

  • 规划的目标及其用途(代理 / 技能 / MCP / 报告 / 实验 / 决策);
  • 范围、年份、深度和模式;
  • 硬约束;
  • 2-6个 MECE轴(不重叠的子问题)。

创建一个任务列表:框架 → 分类 → 阅读 → 综合 → 编写 → 检查。如果没有任务工具,则将列表放在 research/<slug>/run-notes.md 顶部。 ◆ 检查点:轴 + 范围。

第1阶段 — 分类(运行 source-triage)

首先使用图书馆 → 发现 → 完整性(用于你将提到的任何内容)→ 访问 + 可及性 → 等级 / 角色 / ⭐。

边进行边写入分类账。 立即追加每次搜索和每个分类的资源;上下文可能在运行中丢失,而分类账文件是唯一保留的记录。

在deep模式下使用子代理时,为每个轴并行发送一个探索者。每个探索者:

  • 使用≤15次工具调用;
  • 编写 notes/<轴>.md,包含以下章节:要点 · 引用发现(含链接)· 推断 · 缺口;
  • 将其候选者追加到分类账。

没有子代理时,按顺序运行各轴。 ◆ 检查点:按访问类别计数的 ⭐ 候选名单。

第2阶段 — 阅读

  • 阅读可读/持有的资源,最高等级优先。优先使用原始路由(通过shell的Europe PMC XML、PDF文本)并将文本保存到 notes/raw/<引用键>.txt。
  • WebFetch阅读是 read: full (extracted)。用于理解,但基于它的声明会被标记为 ⚠ extracted,并且永远不是由引文“支持”的。
  • 对于长文本,分块阅读直到你到达参考文献列表。Quick模式允许 sections: 阅读;标记它们。
  • 在分类账每一行设置 read:full · sections:<哪些> · abstract · metadata。
  • 每个资源,notes/<引用键>.md 包含:
    • 为什么(问题);
    • 如何做(方法、数据);
    • 结果(发现:精确复制的数字,带有章节/页面定位符);
    • 限制,每个标记为 作者陈述(带定位符)或 我的推断。 没有全文时:限制:未评估(阅读:abstract)。
  • 当计划中的一个句子将承载声明时,从原始文本中复制一个≥40个字符的逐字引文到 claims.json:{"id","claim","source":"notes/raw/<引用键>.txt","quote","locator"}。
  • 永远不要凭记忆填写笔记。“在我读的部分中没有”是有效答案。

第3阶段 — 综合

  • 证据矩阵: 资源 × 主题(支持 / 矛盾 / 沉默)。按主题分组,永远不要逐个资源。
  • 收敛(≥3个一致)· 分歧(用方法、群体或时间解释)· 沉默(<2个资源:缺口)。
  • 独立计数: “4项研究(2项独立)”。共享数据集、队列、团队或试验只计一次。
  • 反证检查: 对于头条发现,搜索null结果、失败复现和批评。即使没有结果也要记录搜索词。Quick模式:最多3次搜索。
  • 否定声明(“没人做过X”)需要携带其背后的搜索,且限于搜索范围。
  • 贡献检查: 用户利用这个计划能做以前不能做的什么?哪个⭐下载最能改变它?
  • 魔鬼代言人检查: 最有力的反驳、选择性引用,以及一个未被质疑的前提。不要因为不便利就放弃一个反对意见。

第4阶段 — 编写文件

plan.md

  • 标题: 目标 · 用途 · 范围 · 日期 · 指向源文件的链接 · 证据基础:N个完整(原始)· N个完整(提取)· N个章节 · N个摘要 · N个元数据。
  • 正文: 满足请求需要的所有内容。
  • 引用: <sup>[3](sources__<slug>__<date>.md#s3)</sup>,按首次出现顺序编号。
  • 引用后标志:
    • ⚠ abstract-only:仅阅读了摘要;
    • ⚠ metadata-only:仅知标题/出处;
    • ⚠ extracted:通过WebFetch阅读,因此无法进行逐字检查;
    • ⚠ preprint。
  • 结尾: 开放性问题 · ⭐下载将解锁的内容 · 未满足的约束(如果有)· 变更日志。

sources____.md

# 源文件 — <可读主题标题>(<date>)
计划:[plan.md](./plan.md) · 问题:<一行> · 模式:<quick|deep> · 搜索:<数据库 + 日期>
计数:N 总共 · ⭐ X · 可读 R · 免费但被屏蔽 B · 付费 P · 非论文 W · 已排除 E     (总计 = 每个分类账行)
证据基础:<与plan.md相同的细分>

## ⭐ 1. 下载这些以获取本地上下文
| # | 源文件 | 类型 | 等级 | 访问 · 许可证 | 为什么它对<正在构建的内容>重要 | 如何获取 | 保存为 | 可重新分发 |

## 2. 开放且可读(已提炼到计划中)
### <主题A>
<a id="s1"></a>**[1]** 作者(年份)。[标题](URL)。*期刊 / 书名,页码*。[DOI](https://doi.org/…) — `gold · CC-BY` · `readable:europepmc-xml` · read: full · 等级 A · 证据
(preprint会在这行添加一个 `` `preprint` `` 标签;然后检查器要求其引用带有`⚠ preprint`)
- WHY … · HOW … · WHAT … · LIMITS …

## 3. 免费但对AI代理被屏蔽(请自行打开)
条目 + 观察到的屏蔽 + 直接链接 + 任何绿色副本。

## 4. 付费
条目 + 绿色副本链接或“未找到” + 使用的摘要级别要点(如果已使用)。

## 5. 非论文资源
按类型,等级 T1–T5。灰色文献:URL + 访问日期 + 快照链接。

## 6. 已排除(及原因)
每个排除记录一个项目符号,以 **已排除:** <原因> 开头。

## 7. 搜索日志与访问路由报告

规则:

  • 每个条目都有一个与计划中编号匹配的 <a id="sN"> 锚点。
  • 每个URL都是一个 [文本](url) 链接,包括标题行中的。
  • ⭐行指向主条目编号。
  • 按访问类别分组,然后按主题分组。

第5阶段 — 检查,然后交付

  1. 确定性检查: 运行 python3 <本技能文件夹>/scripts/research_checks.py all research/<slug>/。修复每个错误(缺少锚点、缺少⚠标志、计数不匹配、词汇、引文不在源文件中)并重新运行直到通过。
  2. 证据检查: 运行 evidence-check。
    • 使用子代理: 在一个全新的代理中,仅提供文件。
    • 没有: 同会话检查,从磁盘重新读取每个文件,且不保留编写它们时的记忆。标记为 same-session (not independent),并建议用户在新对话中运行证据检查后再依赖它。
  3. 抽查打开 每个访问类别3个链接。来自出版商的403/429错误不能证明什么;说明这一点。

交付两个文件,并附带一行说明:

  • 计划的头条;
  • ⭐计数;
  • 需要手动下载的资源数量;
  • 未满足的约束。

在auto模式下,同时列出你的选择(轴、年份、数据库、过滤器、上限)。

第6阶段 — 更新(用户下载后)

  1. 将文件夹中的文件与保存名称匹配。
  2. 验证它们(python3 <本技能文件夹>/scripts/research_checks.py pdf <files>)。
  3. 阅读每个文件,保存其原始文本,并设置 held: user 和 read: full。
  4. 重新评级,移除临时的 ? 等级。
  5. 将⚠标志转换为带有引文支持的声明,或重写新文本矛盾的声明。
  6. 对更改的部分重新运行第5阶段。
  7. 编写一个新的带日期源文件并添加变更日志条目。

红旗

想法现实
“我读完后再检查访问权限”先分类,否则付费摘要会悄悄影响计划。
“它是OA,所以我可以阅读”测试路由。OA文章在测试中被屏蔽过。
“WebFetch给了我文本”它给的是模型的提取。用于阅读,绝不用作引文。
“我知道这篇论文/章节”试验产生了错误标题、错误书籍和基于记忆的不存在论文。先查证。
“DOI可解析,所以章节正确”也检查书名和页码。
“被屏蔽,我试试镜像”绝不。找到合法的绿色副本,否则将其列出给用户。
“我最后再写分类账”上下文重置会抹掉它。边进行边写。
“三项研究一致”计算独立研究;搜索那些结果相反的研究。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能