mcpField
D
draft-related-work

draft-related-work

github.com/shaishavmaisuria文档处理57103 次安装5 天前更新
代码仓库

关于 draft-related-work

draft-related-work 是面向研究者的论文 Related Work 撰写与修订技能。它从论文范围推导文献分组、检查引用覆盖,并要求引用经过检索和核实后再起草。

主要功能

  1. 01从论文范围推导文献分组
  2. 02起草前检查覆盖情况
  3. 03将缺口转为定向检索任务
  4. 04按主题归组并说明差异
  5. 05审计并核实引用

适用场景

  1. 01为新论文撰写 Related Work
  2. 02修订单薄或罗列式章节
  3. 03纳入新发现的论文并保持结构

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/shaishavmaisuria/research-paper-lifecycle-skills --skill draft-related-work

安装后在 Claude Code 中输入/draft-related-work确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
clustering-and-deltas.md
placement-conventions.md
scripts/
audit_bib.py
check_coverage.py
gather_candidates.py
polite_http.py

详细介绍

撰写相关工作

撰写相关工作章节,为论文定位——每个段落都是一组实际检索到的先前研究,并附有明确的差异说明句——格式遵循目标投稿场所的惯例。这项写作技能有两个严格门槛:

  • 防止幻觉。 本次会话中未检索并核实的引用,不得纳入。
  • 防止结构性空缺。 章节必须涵盖的研究集群,必须根据论文自身声称的范围推导,而不能取决于 find-papers 恰好返回了什么。检索到的语料若偏离主题,可能会生成一个定位语气笃定、却恰好在论文所属领域留下空缺的大纲——缺少直接竞争工作的集群、缺少公认的源流脉络,或某个预期子领域完全没有引用。系统会确定性地发现这一缺口,并将其作为有针对性的第二轮检索任务交回 find-papers,而不是悄悄留给作者处理。

适用场景

  • 已确定主题和目标投稿场所,需要为新论文撰写相关工作。
  • 重写现有章节;审稿人认为它像“清单罗列”“内容单薄”“缺少比较”或“创新点不清”。
  • 将新发现的论文(或审稿人提出的“漏掉了 X、Y、Z”)纳入现有章节,同时保持其结构不变。
  • 不适用于检索论文(使用 find-papers)、阅读单篇论文(fetch-paper)、撰写完整的主题综述(literature-review),或仅核查现有参考文献(verify-citations)。

输入

  • 论文的核心主张/贡献,以及其子任务/要求(来自草稿的引言/摘要,或向用户询问)。这些内容决定步骤 2 中必须涵盖的研究集群;缺少它们,章节就只能照搬检索到的论文。
  • 目标投稿场所——如果存在 venues/conferences/<id>.yml 配置文件,请提供(其中的 exemplar_distribution 用于校准章节的长度/覆盖广度)。
  • 候选先前研究:find-papers/literature-review 的输出、草稿的 .bib,和/或用户点名的论文。
  • 元数据脚本需要 CONTACT_EMAIL 环境变量(若未设置,会提示输入)。

流程

  1. 明确投稿场所的惯例。 阅读 venues/conferences/<id>.yml(字段:family、format.template、review.blind、分会场页数限制)以及它引用的领域配置文件。配置文件仅供参考,不是最终依据——依赖其内容起草前,须对照实时的 cfp_url 重新核实所有会影响草稿的事项(模板、匿名级别、页数预算)。然后阅读 references/placement-conventions.md,了解该投稿场所所属领域中章节的位置、篇幅、引用命令风格和自引规则。若惯例不明确,应通过实证确认:从投稿场所本身检索 3–5 篇近期论文(使用 find-papers 的 DBLP 目录页查询、study-exemplars),观察章节位置。

  2. 在查看检索结果之前,先根据论文声称的范围推导出必须涵盖的研究集群。 根据简介/引言,列出论文的贡献、子任务和要求。针对每一项,指出审稿人会期待看到与之比较定位的直接先前方法所属集群,以及该子领域所基于的奠基性源流/公认代表性研究(即开创该方法的工作,而不只是最新改进)。这份清单是目标,尚不包含引用。以声称的范围(而非语料)为依据,才能使方法适用于不同论文和投稿场所,也才能揭示检索结果所掩盖的空缺。方法与实例见: references/clustering-and-deltas.md (§ 根据声称的范围确定必须涵盖的研究集群)。

  3. 组建候选池——仅限检索到的论文。 来源: 用户的 .bib、find-papers 的结果,以及 1–2 篇最接近的已知论文的 参考文献和引用(采用 find-papers --paper 式查询)。有意将候选范围 引向第 2 步要求的各个聚类,而不只是照单全收主题搜索的结果。目标为 10–25 篇候选论文。只有具备明确标识符(DOI 或 arXiv ID)的论文才能 进入候选池。如果用户提到的论文没有标识符,先查找;如果找不到,就如实 说明——绝不可凭猜测的文献引用继续操作。

  4. 构建聚类工作表。 运行:

    python3 scripts/gather_candidates.py <DOI> <arXiv-ID> ... [--from-file ids.txt]
    

    它会每次礼貌地发送一个请求,获取每篇论文的元数据(标题、 年份、发表场所、引用次数、摘要、tldr),并输出一份留有空白 cluster: / delta: 项的工作表。将输出视为临时工作材料——其中包含摘要; 绝不可提交。被标记为无法解析(退出码为 3)的标识符尚未验证:先搁置,待 核实后再用。如果摘要缺失或论文至关重要,请通过 fetch-paper 阅读。

  5. 将候选池映射到所需聚类,并运行覆盖门禁。 将每篇检索到的论文分配到第 2 步要求的某个聚类(不符合任何聚类的论文 属于离群项——仅在审稿人预期会看到时保留)。 将分配结果写入一个简短的计划文件(每个所需聚类一个区块,列出分配的引用键)。 为每个键标注证据等级,让精确度一目了然,并避免通过凑数达到最低要求—— 对尚未确认该论文引用的键追加 !graph / !keyword / !heuristic(不带标记 表示“已知该论文引用此文献”):

    "refs": ["li2018deep", "yao2019computing",          # confirmed-cited
             "smith2023!graph",   # surfaced by citation-graph edge — plausible
             "doe2022!heuristic"] # 'a strong paper would cite this' — weakest
    

    然后运行:

    python3 scripts/check_coverage.py plan.json   # or plan.txt (see --help)
    

    只有已确认被引用的参考文献才计入最低要求。如果任何所需聚类中没有已确认的引用, 门禁就会判定为 FAIL(退出码为 3)——包括仅由推测性参考文献“覆盖”的聚类 (凑数会掩盖真正的缺口);低于最低要求(默认值为 2)则会发出 WARN。它还会输出 精确度估算(已确认 / 总数),并限制仅由启发式方法补充的文献数量(默认整个 计划最多为 2 篇,使用 --heuristic-cap),确保核心集合有明确的范围依据。对于 未通过门禁或内容单薄的聚类,将其生成的第二轮检索任务列表交给 find-papers, 并用已确认的引用补齐缺口,然后重新运行门禁——不要在所需聚类为空时起草正文, 不要通过填入推测性参考文献凑足最低要求,也不要把缺口留作未说明的作者待办事项。 只有门禁通过(或用户明确接受记录在案的单薄聚类)后,才能继续撰写聚类分析文字。

  6. 对各聚类进行分组并阐明其差异。 覆盖检查通过后,沿着最能凸显本文 研究空白的主线,将候选池划分为 3–6 个主题,然后为每个聚类写一句差异说明: 该聚类取得了什么成果、针对本文的问题还缺少什么,以及本文如何应对。 方法、模式和反模式见: references/clustering-and-deltas.md。 撰写正文前,先向用户展示聚类计划(聚类名称、成员、差异说明)——现在调整结构成本低,之后则成本高。

  7. 起草章节。 每个聚类写一个段落(论点句 → 代表性作品 → 局限性 → 差异点),为最接近的单一竞争对手单独写一个段落,并以定位总结段落收尾。与目标 venue 相匹配:按照第 1 步的要求使用引用命令和自引口吻;根据目标 venue 所属系列的测量样例中位数校准篇幅和覆盖广度,而不是追求最大覆盖面——读取配置文件的 exemplar_distribution(若存在,则读取 related_work 区间),或通过 study-exemplars 测量目标 venue 近期 3–5 篇论文;仅当这两者都不存在时,才使用 references/placement-conventions.md 中的系列惯例。输出 .tex(若草稿不是 LaTeX,则输出 markdown),并为用户 .bib 中尚未包含的引用添加 BibTeX 条目——条目必须严格基于检索到的元数据。只有满足聚类参考文档中的标准时,才添加比较表。

  8. 确定性审计。 运行:

    python3 scripts/audit_bib.py refs.bib --tex related-work.tex
    

    修复所有阻塞性问题:.bib 中缺少的引用键、重复条目、没有 DOI/eprint/URL 的条目(无法验证——这是经典的幻觉引用特征)以及不完整条目。输出中的风格统计必须与目标 venue 的惯例一致。

  9. 通过 verify-citations 闸门。 新章节引用的每个条目都必须在交付前通过 Crossref/DBLP/S2 验证。未通过验证的内容必须从正文中移除,或明确标记为未经确认并告知用户——绝不能悄然保留,也绝不能通过编造看似合理的字段来“修复”。

输出

  • 起草或改写后的 Related Work 章节(.tex 或 markdown),按聚类组织,并以目标 venue 的引用风格撰写,每个聚类都包含差异点。
  • 新增 BibTeX 条目(仅含元数据——始终可以安全保留)。
  • 简短的定位总结:根据范围确定的必需聚类,以及每个聚类是否通过覆盖闸门;每个聚类的差异点、最接近的竞争对手及其具体区别,以及任何尚未验证的内容。
  • 覆盖闸门的精确率估计(已确认引用数 / 参考文献总数),并明确指出任何推测性补充(图谱/关键词/启发式层级)仅属合理但未经确认,以便用户在投稿前筛除,而不是将满足聚类最低数量要求视为引用依据。若已知子集构成真实情况,则应单独报告相对于该子集的召回率,不要将其与此精确率区间混为一谈。
  • 如果任何必需聚类无法补齐,必须明确报告第二轮检索任务清单(用于 find-papers)——绝不能将其埋成作者待办事项而不予说明。

护栏

  • 切勿捏造、夸饰或“凭记忆重构”引文;每条参考文献都必须能追溯到本次会话中的一次检索,并通过 verify-citations。内容精简但真实,胜过堆砌内容。
  • 必需的聚类应根据论文声称的范围确定,而不是仅根据检索到的语料确定——只针对恰好返回的内容进行定位,会遗漏论文实际所属的领域。某个必需聚类若没有任何引文,就是阻断性缺口,应退回 find-papers 处理;绝不能悄悄变成作者待办事项,也不能硬把相邻聚类拉来填补。
  • 这是副驾驶,而不是自动驾驶:覆盖率关卡、第二轮工作清单,以及是否接受有记录的内容单薄聚类等决定,都要呈现给用户——此技能不会擅自判定缺口可以接受。
  • 长度和广度应以该会议类别样例的测量中位数为准,而非追求最大覆盖率;为了显得全面而过度引用,会让文章偏离主题,像一篇综述。
  • 精确度与召回率同样是首要质量指标。若尚未确认论文引用某篇参考文献(无论它是引文图中的邻近论文、关键词命中,还是“优秀论文应该引用这篇”的猜测),它都只是假设,而非命中:应按层级标记,绝不能将其提升到与已确认引文相同的地位,并应限制仅凭猜测添加的文献数量。相邻/基础性聚类应按其承重必要性排序,并精简至最低限度,再加上最常被引用的几篇代表性论文——其余内容应移至可选池,而不是为了填充章节而超出论文实际涵盖的范围。
  • 切勿歪曲被引论文的工作来夸大差异——稻草人式描述是招致敌意审稿的最快方式(审稿人往往就是被引论文的作者)。
  • 摘要和论文正文仅作临时处理,绝不提交;工作表输出不得放入仓库。
  • 遵守脚本的礼貌限制:每次只处理一个标识符,每次运行 ≤25 个,禁止批量抓取。
  • 会议类别配置可能过时——关键事实必须对照当前 CFP 重新核实。绝不要代表用户提交任何内容。

参考资料

  • references/clustering-and-deltas.md — 根据声称的范围推导必需聚类、引文下限与零引文缺口的处理流程、聚类维度、每个聚类的段落模式、差异表述、对比表格、反模式,以及对最接近竞争对手的处理方式。
  • references/placement-conventions.md — 各学术社群的内容位置和篇幅规范、依据会议样例的测量中位数校准篇幅、引文命令风格、盲审级别的自引规则,以及如何通过实证核实惯例。

脚本

  • scripts/gather_candidates.py — 获取已检索标识符的元数据,并写入临时聚类工作表(礼貌地一次处理一篇论文)。
  • scripts/check_coverage.py — 确定性覆盖率关卡:若任何必需聚类没有已确认引用的文献(包括仅用推测性参考文献填充的情况),则 FAIL;低于引文下限时发出 WARN;报告精确度估算值(已确认数/总数)和每份计划的启发式层级上限;并为 find-papers 生成有针对性的第二轮检索工作清单。引文键可带有可选的证据层级标记(key!graph / !keyword / !heuristic);只有已确认的(未标记)引文键才计入下限。
  • scripts/audit_bib.py — 离线引文/参考文献审计和样式统计。

评论

支持 Markdown