关于 study-exemplars
study-exemplars 面向研究论文作者,分析目标 venue 的获奖论文与高引用论文,并整理原创的风格和结构简报。它仅使用合法开放获取的论文,不保留或复述论文正文。
主要功能
- 01筛选获奖与高引用论文
- 02分析论文结构与呈现方式
- 03归纳 venue 写作惯例
- 04生成单篇分析卡片
- 05缓存实测 venue 统计数据
适用场景
- 01写作前了解 venue 的论文惯例
- 02比较范例论文的贡献表述方式
- 03为写作技能准备风格指引
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ shaishavmaisuria/ research-paper-lifecycle-skills --skill study-exemplars安装后在 Claude Code 中输入/study-exemplars确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/analysis-rubric.mdfinding-exemplars.mdscripts/build_exemplar_bundle.pylookup_exemplar.pypolite_http.pyrank_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 提示(S2openAccessPdf、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,也可保存到用户指定的位置),包含:
- 范例论文名单 — 5–8 篇论文及其元数据、入选理由(奖项 + 来源 URL / 引用排名 + 数量)和所用的 OA 链接
- 会议惯例 — 跨论文综合分析所有评分维度,并为每项结论标注体现该惯例的范例论文
- 范例卡片 — 每篇论文各一份精简分析
- 差异与注意事项 — 与当前征稿启事(CFP)相冲突的范例惯例、因缺少 OA 副本而跳过的论文、已删除的未经核实的获奖声明
- 来源记录 — 已运行的脚本、奖项页面 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,以免被误认为是本次会话的实时测量结果。 - 研究范例是为了学习惯例,而非照搬——绝不在未注明来源的情况下复现特定论文的文本、原样结构或观点。绝不代表用户向任何系统提交内容。