mcpField
S
study-exemplars

study-exemplars

github.com/shaishavmaisuria生产力57103 次安装5 天前更新
代码仓库

关于 study-exemplars

study-exemplars 面向研究论文作者,分析目标 venue 的获奖论文与高引用论文,并整理原创的风格和结构简报。它仅使用合法开放获取的论文,不保留或复述论文正文。

主要功能

  1. 01筛选获奖与高引用论文
  2. 02分析论文结构与呈现方式
  3. 03归纳 venue 写作惯例
  4. 04生成单篇分析卡片
  5. 05缓存实测 venue 统计数据

适用场景

  1. 01写作前了解 venue 的论文惯例
  2. 02比较范例论文的贡献表述方式
  3. 03为写作技能准备风格指引

安装

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

$npx skills add https://github.com/shaishavmaisuria/research-paper-lifecycle-skills --skill study-exemplars

安装后在 Claude Code 中输入/study-exemplars确认已加载。

包含的文件

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

references/
analysis-rubric.md
finding-exemplars.md
scripts/
build_exemplar_bundle.py
lookup_exemplar.py
polite_http.py
rank_top_cited.py

详细介绍

研究范例

将目标会议中最优秀的论文——最佳论文奖获奖作品和引用量最高的作品——整理成一份原创的风格与结构简报,供用户写作时参考:该会议的获奖论文如何设计章节、阐述贡献、设计评估,以及使用图表。按需从合法的开放获取来源获取论文,并进行临时处理。交付内容仅包含元数据和原创分析——绝不包含论文原文。此技能位于 select-venue/parse-cfp(选择目标会议)与写作技能(write-abstract、draft-related-work、tailor-to-venue)之间。

适用场景

  • “ 的最佳论文是什么样的?”/“分析获奖作品”
  • “展示 引用量最高的论文,并说明它们的结构”
  • “我首次向 投稿——成功的论文如何阐述贡献/开展评估/安排章节?”
  • 起草前:构建一份供其他写作技能使用的会议风格简报
  • 不适用于查找某个主题的论文(find-papers),也不适用于梳理文献内容(literature-review)——此技能研究的是形式

输入

  • 目标会议,最好有配置文件 venues/conferences/<id>.yml (架构:venues/schema.yml);否则按 references/finding-exemplars.md 解析别名
  • 可选:年份范围(默认:最近 3–4 个已结束的会议论文集年份)、范例数量(默认 5–8 篇)、用户的论文类型(研究论文/短论文/演示论文),以便针对相应赛道进行分析
  • CONTACT_EMAIL 环境变量——每个脚本都必需(礼貌请求身份标识); 未设置时,脚本会交互式提示输入,或退出并显示操作说明
  • 可选:S2_API_KEY 环境变量,用于可靠地访问 Semantic Scholar

流程

1. 解析会议并锁定目标
  • 如果存在会议配置文件,则读取该文件。从其 aliases: 区块中获取 aliases.s2_venue 和 aliases.dblp_key;记录用户将采用的赛道、页数限制和模板。
  • 用户依赖这些关键信息前,务必根据最新的 cfp_url 重新核实——简报会说明格式规范(页数预算、模板、必需章节),而配置文件可能已过时。如果配置文件中的 verified.date 早于当前 CFP 周期,则先获取 CFP 并核对。
  • 没有配置文件?在执行任何查询前,通过 find-papers 技能的会议别名表或实时 DBLP 会议搜索解析别名——错误的 S2 会议字符串会导致静默返回零篇论文。
2. 构建范例集(两份互补列表)

最佳论文奖获奖作品(会议自身的质量信号):

  • 在线查找获奖页面——会议/SIG 奖项页面、各年份网站的新闻帖,或 jeffhuang.com 汇总页。来源索引和核实流程见: references/finding-exemplars.md。

  • 奖项信息没有任何 API。绝不要凭记忆断言获奖者。每项获奖声明都必须有 (a) 本次会话中获取的来源 URL,以及 (b) 与 DBLP 元数据的匹配:

    python3 scripts/lookup_exemplar.py --title "Exact Title From The Award Page"
    

    缺少其中任何一项时,都应舍弃该论文,或明确标注为未经核实。

引用量最高的论文(学界的质量信号):

# S2 venue string from the profile aliases — NOT the acronym
python3 scripts/rank_top_cited.py --venue "SIGSPATIAL/GIS" --year 2020-2023 --top 10
# or read the alias straight from a profile:
python3 scripts/rank_top_cited.py \
    --venue-profile venues/conferences/sigspatial-2026.yml --year 2020-2023 --top 10

通过一次礼貌请求,按引用次数对整个会议年份范围排序。 将范围设为截至 2–3 年前——当前年份的引用次数接近零,没有意义。其他筛选注意事项(综述论文导致的引用膨胀、具有影响力的引用、DBLP 交叉核验):references/finding-exemplars.md。

目标为总计 5–8 篇论文:3–4 篇已核实的获奖作品 + 3–4 篇引用量最高的论文,覆盖多个年份,并与用户的赛道匹配(不要为了撰写 4 页的演示论文而研究 10 页的研究论文)。获取论文前,先与用户确认最终名单。

3. 按需逐篇获取样例论文——临时处理
  • 一次只处理一篇论文,绝不批量处理。使用 fetch-paper 技能解析开放获取(OA)副本(在那里运行 scripts/resolve_oa.py <DOI> --json),或使用此处两个脚本输出的 OA 提示(S2 openAccessPdf、arXiv HTML、适用于 2026 年后开放获取 ACM 论文的 dl.acm.org/doi/pdf/<doi>——该主机站会阻止脚本下载,因此请在浏览器中打开)。
  • 阅读论文、提取观察结果,然后丢弃文件。绝不要将 PDF、其文本或摘要写入仓库或任何已提交文件。
  • 没有合法的 OA 副本(Unpaywall is_oa: false,且没有 arXiv 版本)?跳过该论文并说明原因——在简报中将其列为“未分析(无开放副本)”。绝不要绕过付费墙或使用影子图书馆。
4. 根据评分标准分析每篇论文

按照 references/analysis-rubric.md 进行分析——维度包括:身份卡、标题/摘要模式、章节结构、贡献框定、方法呈现、评估模式、图表惯例、相关工作定位、可复现性配置、写作微风格。记录事实和原创观察(章节名称、数量、顺序、框定方式),而非散文。引文:每篇论文最多引用一处简短且注明出处的片段(少于 25 个词),且仅在观察点正是其确切措辞时引用。

记录每篇论文的数量时,也要将可测量的数据(页数、参考文献数、图数、表数、摘要词数、teaser/徽章布尔值、章节骨架)记入每篇论文对应的小型 JSON 文件——这些数据将用于第 6 步。

5. 综合形成风格与结构简报
  • 先进行跨论文综合(至少一半样例论文采用的做法=该会议的惯例;存在分歧时则注明为不同变体),然后为每篇论文制作一张样例卡片。两种模板均位于评分标准末尾。
  • 与会议概况核对:如果样例论文与当前 CFP 相矛盾(例如,较早的样例论文为 8 页,而当前页数上限为 10 页),则以当前有效的 CFP 为准——标明差异,避免用户仿效过时规则。
  • 为每篇样例论文标注经核实的元数据(标题、作者、年份、DOI)。如果任何条目将加入用户的参考文献目录,请通过 verify-citations 进行核验。
6. 缓存测量后的样例论文数据包(数据卫生)

本次会话测得的事实构成同系列分布,下游技能将据此对草稿评分。如果下游技能跳过实时获取样例或受到速率限制,就会回退到会议/系列概况中的 exemplar_distribution: 块——对大多数会议而言,该数据块是手工估算的,而非实测。请缓存测量结果,让回退数据基于真实样例论文:

python3 scripts/build_exemplar_bundle.py measurements.json --out block.yml

此操作会将每篇论文的测量数据(来自第 4 步)汇总为符合架构要求的数据块:密度区间(绝不虚构单点数值)、比率和众数骨架,并分别标记 measured: true、n、recency 和 as_of: <date>。将其粘贴到正在审核的相关概况中(venues/conferences/<id>.yml;如果样例论文跨越整个系列,则粘贴到 venues/families/<family>.yml),替换任何手工估算的数据块。少于 3 篇论文的数据区间保留为 null,并将数据块标记为 measured-low-confidence,避免夸大结论。完整规则和输入架构见:references/analysis-rubric.md §14。

由于数据块包含 measured 和 as_of,使用者据此得出的每个评分都会标记为缓存与实时来源(live / family-prior (measured, as_of <date>) / family-prior (hand-estimated) / none)——基于缓存的评分不会被误认为是实时测量结果。

输出

一份 Markdown 简报(默认位于工作目录下的 exemplar-brief-<venue>.md,也可保存到用户指定的位置),包含:

  1. 范例论文名单 — 5–8 篇论文及其元数据、入选理由(奖项 + 来源 URL / 引用排名 + 数量)和所用的 OA 链接
  2. 会议惯例 — 跨论文综合分析所有评分维度,并为每项结论标注体现该惯例的范例论文
  3. 范例卡片 — 每篇论文各一份精简分析
  4. 差异与注意事项 — 与当前征稿启事(CFP)相冲突的范例惯例、因缺少 OA 副本而跳过的论文、已删除的未经核实的获奖声明
  5. 来源记录 — 已运行的脚本、奖项页面 URL、日期,以及关于引用次数为快照的说明(Semantic Scholar、ODC-BY、注明来源)

此外,如果进行了测量,还要将缓存的 exemplar_distribution: 区块(步骤 6)粘贴到相关会议 / 系列配置中——这是下游技能在实时获取失败时使用的实测回退数据,并标注 measured、n 和 as_of。

简报中只包含元数据和原创分析——不包含摘要、转载段落或提取的图表。

参考资料

  • references/analysis-rubric.md — 分析维度、每篇论文需记录的内容、输出的版权声明、综合分析 + 范例卡片模板,以及 §14 中缓存实测范例数据包的说明(输入架构 + 来源标注)
  • references/finding-exemplars.md — 奖项来源和核验流程、被引次数最高论文的筛选方法与注意事项、OA 查找顺序、名称别名方面的注意事项
  • scripts/build_exemplar_bundle.py — 将每篇论文的测量结果汇总为带来源标记的 exemplar_distribution: 区块(离线运行,使用标准库;不编造数据,并会抑制样本过少的区间)

防护措施

  • 绝不打包论文内容。 仓库、简报或任何已提交文件中都不得包含论文文本、摘要、图表或 PDF——按需获取并临时处理,只保留元数据(DOI、标题、BibTeX 字段)和原创分析。引用不超过 25 个单词,注明来源,每篇论文最多一处。
  • 绝不捏造范例论文。 每项获奖声明都必须附带有效来源 URL,并与 DBLP 匹配;每个引用次数都必须来自本次会话运行的脚本;任何纳入参考文献的条目都必须经过 verify-citations。
  • 仅使用合法 OA 来源;每个来源只礼貌地请求一次(脚本会确保每个主机的请求频率不超过每秒 1 次,使用含联系邮箱的 User-Agent,对 429 进行退避,并将缓存存放在 .cache/study-exemplars/ 下);绝不批量抓取论文集。
  • 会议配置仅供起步参考,绝非权威依据——用户依赖这些信息之前,必须根据当前的 cfp_url 重新核实页数限制、模板和必需章节。
  • 缓存测量结果,而非文本;绝不夸大其可信度。 缓存的 exemplar_distribution: 区块只能包含计数、区间和章节名称(可安全提交);绝不在其中加入论文文本。它只是回退数据,并非权威依据——目标会议的实时语料仍应优先采用。只对不少于 3 篇论文的数据生成区间(样本较少时使用 null / measured-low-confidence);绝不捏造单个数据点,并将每个源自缓存的分数标记为 cache-vs-live,以免被误认为是本次会话的实时测量结果。
  • 研究范例是为了学习惯例,而非照搬——绝不在未注明来源的情况下复现特定论文的文本、原样结构或观点。绝不代表用户向任何系统提交内容。

评论

支持 Markdown