study-exemplars

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Study Exemplars

研究范例论文

Turns a target venue's strongest papers — best-paper awardees and top-cited work — into an original style-and-structure brief the user can write against: how winning papers at this venue architect their sections, frame contributions, design evaluations, and use figures and tables. Papers are fetched on demand from legal open-access sources and processed transiently. The deliverable contains metadata and original analysis only — never paper text. Sits between
select-venue
/
parse-cfp
(choosing the target) and the writing skills (
write-abstract
,
draft-related-work
,
tailor-to-venue
).
将目标会议/期刊的顶级论文——最佳论文获奖者及高被引成果——转化为一份原创的风格与结构简报,供用户参考写作:包括该会议获奖论文的章节架构、贡献阐述方式、评估设计方法以及图表使用规范。论文均按需从合法开放获取源获取,仅做临时处理。交付内容仅包含元数据及原创分析——绝不包含论文原文。该工具介于
select-venue
/
parse-cfp
(选择目标会议)与写作类工具(
write-abstract
draft-related-work
tailor-to-venue
)之间。

When to use

使用场景

  • "What do best papers at <venue> look like?" / "analyze the award winners"
  • "Show me the most-cited <venue> papers and how they're structured"
  • "I'm submitting to <venue> for the first time — how do successful papers there frame contributions / run evaluations / lay out sections?"
  • Before drafting: build a venue style brief that other writing skills consume
  • NOT for finding papers on a topic (
    find-papers
    ) or reviewing the literature for content (
    literature-review
    ) — this skill studies form
  • “<会议名称>的最佳论文是什么样的?” / “分析该会议的获奖论文”
  • “展示<会议名称>的高被引论文及其结构”
  • “我第一次向<会议名称>投稿——该会议的优秀论文如何阐述贡献/开展评估/规划章节?”
  • 撰写初稿前:生成一份会议风格简报,供其他写作类工具使用
  • 不适用于查找特定主题的论文(
    find-papers
    )或针对内容进行文献综述(
    literature-review
    )——本工具专注于研究论文的形式

Inputs

输入项

  • A target venue, ideally with a profile
    venues/conferences/<id>.yml
    (schema:
    venues/schema.yml
    ); otherwise resolve aliases per references/finding-exemplars.md
  • Optional: year window (default: the last 3–4 completed proceedings years), exemplar count (default 5–8), the user's paper type (research / short / demo) so analysis targets the right track
  • CONTACT_EMAIL
    env var — required by every script (polite-pool identity); scripts prompt interactively if unset, or exit nonzero with instructions
  • Optional:
    S2_API_KEY
    env var for reliable Semantic Scholar access
  • 目标会议/期刊,理想情况下已有配置文件
    venues/conferences/<id>.yml
    (遵循
    venues/schema.yml
    规范);否则需根据references/finding-exemplars.md解析别名
  • 可选:年份范围(默认:最近3-4个已完成的会议年份)、范例论文数量(默认5-8篇)、用户的论文类型(研究型/短篇/演示型),以便分析针对正确的赛道
  • CONTACT_EMAIL
    环境变量——所有脚本均需该变量(用于标识请求身份);若未设置,脚本会交互式提示,或返回非零退出码并给出说明
  • 可选:
    S2_API_KEY
    环境变量,用于稳定访问Semantic Scholar

Process

流程

1. Resolve the venue and lock the target

1. 解析会议/期刊并锁定目标

  • Read the venue profile if one exists. Take
    aliases.s2_venue
    and
    aliases.dblp_key
    from its
    aliases:
    block; note the track, page limit, and template the user will write for.
  • Re-verify critical facts against the live
    cfp_url
    before the user relies on them
    — the brief will state format conventions (page budget, template, required sections), and profiles go stale. If the profile's
    verified.date
    is older than the current CFP cycle, fetch the CFP and reconcile first.
  • No profile? Resolve aliases via the
    find-papers
    skill's venue-aliases table or live DBLP venue search before any query — a wrong S2 venue string silently returns zero papers.
  • 若存在会议配置文件则读取。从其
    aliases:
    块中获取
    aliases.s2_venue
    aliases.dblp_key
    ;记录用户将使用的赛道、页数限制及模板。
  • 在用户依赖之前,需根据实时
    cfp_url
    重新验证关键信息
    ——简报会说明格式规范(页数预算、模板、必填章节),而配置文件可能过时。若配置文件的
    verified.date
    早于当前征稿周期,需先获取征稿启事并核对信息。
  • 无配置文件?在执行任何查询前,通过
    find-papers
    工具的会议别名表或实时DBLP会议搜索解析别名——错误的S2会议字符串会静默返回零篇论文。

2. Build the exemplar set (two complementary lists)

2. 构建范例论文集(两个互补列表)

Best-paper awardees (the venue's own quality signal):
  • Find award pages live — the venue/SIG awards page, year-site news posts, or the jeffhuang.com aggregator. Source map and verification protocol: references/finding-exemplars.md.
  • Awards exist in no API. Never assert a winner from memory. Every award claim needs (a) a source URL fetched this session AND (b) a DBLP metadata match:
    bash
    python3 scripts/lookup_exemplar.py --title "Exact Title From The Award Page"
    If either is missing, drop the paper or label it explicitly unverified.
Top-cited (the community's quality signal):
bash
undefined
最佳论文获奖者(会议自身的质量信号):
  • 实时查找获奖页面——会议/SIG获奖页面、当年会议网站的新闻帖子,或jeffhuang.com聚合器。来源映射及验证规则:references/finding-exemplars.md
  • 获奖信息无API可查。绝不能凭记忆断言获奖者。每一项获奖声明都需要:(a) 本次会话获取的来源URL,以及(b) DBLP元数据匹配:
    bash
    python3 scripts/lookup_exemplar.py --title "Exact Title From The Award Page"
    若缺少其中任意一项,需剔除该论文或明确标记为未验证。
高被引论文(社区的质量信号):
bash
undefined

S2 venue string from the profile aliases — NOT the acronym

配置文件别名中的S2会议字符串——请勿使用缩写

python3 scripts/rank_top_cited.py --venue "SIGSPATIAL/GIS" --year 2020-2023 --top 10
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

One polite request ranks the whole venue-year window by citation count.
Rank a window ending 2–3 years back — current-year counts are near zero
and meaningless. More selection caveats (survey inflation, influential
citations, DBLP cross-checks): [references/finding-exemplars.md](references/finding-exemplars.md).

Target 5–8 papers total: 3–4 verified awardees + 3–4 top-cited, spread
across years, matching the user's track (don't study 10-page research
papers to write a 4-page demo). Confirm the final set with the user before
fetching.
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](references/finding-exemplars.md)。

目标总数量为5-8篇:3-4篇已验证的获奖论文 + 3-4篇高被引论文,覆盖不同年份,匹配用户的赛道(请勿以10页的研究论文为模板撰写4页的演示论文)。在获取前需与用户确认最终的论文集。

3. Fetch each exemplar on demand — transiently

3. 按需获取每篇范例论文——仅临时处理

  • One paper at a time, never in bulk. Resolve the OA copy with the
    fetch-paper
    skill (
    scripts/resolve_oa.py <DOI> --json
    there), or use the OA hints both scripts here print (S2
    openAccessPdf
    , arXiv HTML,
    dl.acm.org/doi/pdf/<doi>
    for post-2026 open-access ACM papers — that host blocks scripted downloads, so open it in a browser).
  • Read the paper, extract observations, discard the file. Never write the PDF, its text, or its abstract into the repo or any committed file.
  • No legal OA copy (Unpaywall
    is_oa: false
    , no arXiv version)? Skip the paper and say so — list it in the brief as "not analyzed (no open copy)". Never bypass a paywall or use shadow libraries.
  • 一次获取一篇论文,绝不批量获取。使用
    fetch-paper
    工具解析开放获取副本(对应脚本为
    scripts/resolve_oa.py <DOI> --json
    ),或使用此处两个脚本输出的开放获取提示(S2的
    openAccessPdf
    、arXiv HTML、2026年后开放获取ACM论文的
    dl.acm.org/doi/pdf/<doi>
    ——该主机阻止脚本下载,需在浏览器中打开)。
  • 读取论文、提取观察结果后,立即删除文件。绝不能将PDF、论文文本或摘要写入仓库或任何已提交的文件。
  • 无合法开放获取副本(Unpaywall显示
    is_oa: false
    ,无arXiv版本)?跳过该论文并告知用户——在简报中列为“未分析(无开放获取副本)”。绝不能绕过付费墙或使用影子图书馆。

4. Analyze each paper against the rubric

4. 根据评估准则分析每篇论文

Work through references/analysis-rubric.md — the dimensions are: identity card, title/abstract patterns, section architecture, contribution framing, method presentation, evaluation patterns, figure/table conventions, related-work positioning, reproducibility apparatus, writing micro-style. Record facts and original observations (section names, counts, orderings, framing moves), not prose. Quotes: at most one short attributed fragment (<25 words) per paper, only when the exact wording is the observation.
As you record each paper's counts, also log the measurable ones (pages, references, figures, tables, abstract words, teaser/badge booleans, section skeleton) into a small per-paper JSON — these feed step 6.
参照references/analysis-rubric.md进行分析——维度包括:标识信息、标题/摘要模式、章节架构、贡献阐述、方法呈现、评估模式、图表规范、相关工作定位、可复现性设置、写作微风格。记录事实及原创观察结果(章节名称、数量、顺序、阐述方式),而非原文内容。引用:每篇论文最多引用一段简短的署名片段(≤25词),仅当确切措辞本身就是观察结果时使用。
在记录每篇论文的统计数据时,还需将可量化的数据(页数、参考文献数、图表数、摘要词数、是否有 teaser/badge、章节框架)记录到一个小型的单篇论文JSON文件中——这些数据将用于步骤6。

5. Synthesize the style-and-structure brief

5. 合成风格与结构简报

  • Cross-paper synthesis first (what ≥ half the exemplars do = the venue convention; splits = noted as variants), then one exemplar card per paper. Templates for both are at the end of the rubric.
  • Reconcile with the venue profile: if exemplars contradict the current CFP (e.g. older 8-page exemplars vs. a 10-page limit today), the live CFP wins — flag the delta so the user doesn't imitate an outdated rule.
  • Cite every exemplar by verified metadata (title, authors, year, DOI). If any entry will land in the user's bibliography, route it through
    verify-citations
    .
  • 首先进行跨论文合成(≥半数范例论文采用的方式=会议惯例;差异=标注为变体),然后为每篇论文生成一张范例卡片。两者的模板均在评估准则末尾。
  • 与会议配置文件核对:若范例论文与实时征稿启事存在矛盾(例如旧范例为8页限制,而当前为10页限制),则以实时征稿启事为准——标记差异,避免用户模仿过时规则。
  • 所有范例论文均需标注已验证的元数据(标题、作者、年份、DOI)。若任何条目将进入用户的参考文献列表,需通过
    verify-citations
    工具处理。

6. Cache a measured exemplar bundle (data hygiene)

6. 缓存可量化的范例数据包(数据规范)

The session's measurable facts are the on-family distribution downstream skills score drafts against. When a downstream skill's live exemplar fetch is skipped or rate-limited, it falls back to the venue/family profile's
exemplar_distribution:
block — which for most venues is hand-estimated, never measured. Cache yours so that fallback rests on real exemplars:
bash
python3 scripts/build_exemplar_bundle.py measurements.json --out block.yml
This aggregates your per-paper measurements (from step 4) into a schema- conforming block: density bands (never fabricated single points), rates, and the modal skeleton, each stamped with
measured: true
,
n
,
recency
, and
as_of: <date>
. Paste it into the relevant profile under review (
venues/conferences/<id>.yml
, or
venues/families/<family>.yml
when the set spans the family), replacing any hand-estimated block. Bands from fewer than 3 papers are left
null
and the block is marked
measured-low-confidence
rather than overclaiming. Full rules and the input schema: references/analysis-rubric.md §14.
Because the block carries
measured
+
as_of
, every score a consumer derives from it is labelled cache-vs-live (
live
/
family-prior (measured, as_of <date>)
/
family-prior (hand-estimated)
/
none
) — a cache-derived score never reads as if measured live.
本次会话的可量化事实是下游工具评估初稿的基准。当下游工具的实时范例获取被跳过或受速率限制时,会 fallback 到会议/系列配置文件的
exemplar_distribution:
块——大多数会议的该块是手动估算的,而非实测。缓存你的实测数据,让fallback基于真实范例:
bash
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
标记,下游工具从中得出的所有分数均会标注缓存vs实时
live
/
family-prior (measured, as_of <date>)
/
family-prior (hand-estimated)
/
none
)——缓存衍生的分数绝不会被当作本次会话的实时实测数据。

Output

输出

A markdown brief (default
exemplar-brief-<venue>.md
in the working directory, or wherever the user asks) containing:
  1. Exemplar roster — the 5–8 papers with metadata, selection reason (award + source URL / citation rank + count), and OA link used
  2. Venue conventions — the cross-paper synthesis across all rubric dimensions, each claim tagged with which exemplars exhibit it
  3. Exemplar cards — one compact per-paper analysis each
  4. Deltas & caveats — exemplar habits that conflict with the live CFP, papers skipped for lack of OA copies, unverified award claims dropped
  5. Provenance — scripts run, award-page URLs, date, and the note that citation counts are a snapshot (Semantic Scholar, ODC-BY, attributed)
Plus, when measurements were taken, a cached
exemplar_distribution:
block
(step 6) pasted into the relevant venue/family profile — the measured fallback downstream skills use when a live fetch fails, stamped
measured
,
n
, and
as_of
.
The brief contains only metadata and original analysis — no abstracts, no reproduced passages, no extracted figures.
一份Markdown简报(默认保存在工作目录下的
exemplar-brief-<venue>.md
,或用户指定的位置),包含:
  1. 范例论文清单——5-8篇论文,附带元数据、入选原因(获奖+来源URL / 引用排名+次数)及使用的开放获取链接
  2. 会议惯例——跨所有评估维度的跨论文合成结果,每项声明均标注对应的范例论文
  3. 范例卡片——每篇论文对应一张简洁的分析卡片
  4. 差异与注意事项——与实时征稿启事冲突的范例论文习惯、因无开放获取副本而跳过的论文、被剔除的未验证获奖声明
  5. 来源说明——运行的脚本、获奖页面URL、日期,以及引用次数为快照数据的说明(来自Semantic Scholar,遵循ODC-BY协议并标注来源)
此外,若进行了统计测量,会生成一个缓存的
exemplar_distribution:
(步骤6)并粘贴到相关会议/系列配置文件中——当下游工具实时获取失败时,该实测块将作为fallback使用,且带有
measured
n
as_of
标记。
简报仅包含元数据及原创分析——无摘要、无复制段落、无提取图表。

References

参考资料

  • references/analysis-rubric.md — the analysis dimensions, what to record per paper, copyright line for outputs, synthesis + exemplar-card templates, and §14 caching the measured exemplar bundle (input schema + provenance labelling)
  • references/finding-exemplars.md — award sources and the verification protocol, top-cited selection methodology and caveats, OA resolution order, alias gotchas
  • scripts/build_exemplar_bundle.py
    — aggregates per-paper measurements into a provenance-stamped
    exemplar_distribution:
    block (offline, stdlib; invents nothing, suppresses thin bands)
  • references/analysis-rubric.md——分析维度、每篇论文需记录的内容、输出版权说明、合成及范例卡片模板,以及第14节关于缓存可量化范例数据包的内容(输入规范+来源标记)
  • references/finding-exemplars.md——获奖信息来源及验证规则、高被引论文选择方法及注意事项、开放获取副本解析顺序、别名陷阱
  • scripts/build_exemplar_bundle.py
    ——将单篇论文统计数据聚合为带有来源标记的
    exemplar_distribution:
    块(离线工具,仅使用标准库;不生成任何虚构数据,过滤样本不足的区间)

Guardrails

约束规则

  • Never bundle paper content. No paper text, abstracts, figures, or PDFs in the repo, the brief, or any committed file — fetch on demand, process transiently, keep metadata (DOI, title, BibTeX fields) and original analysis only. Quotes ≤25 words, attributed, at most one per paper.
  • Never fabricate exemplars. Every award claim needs a live source URL plus a DBLP match; every citation count comes from a script run this session; anything entering a bibliography goes through
    verify-citations
    .
  • Legal OA sources only; single polite fetches (the scripts enforce ≤1 req/s per host, contact-email User-Agent, 429 backoff, caching under
    .cache/study-exemplars/
    ); never bulk-harvest a proceedings.
  • Venue profiles are a starting point, never ground truth — re-verify page limits, templates, and required sections against the live
    cfp_url
    before the user relies on them.
  • Cache measurements, not text, and never overclaim them. The cached
    exemplar_distribution:
    block is counts/bands/section-names only (safe to commit); never put paper text in it. It is a fallback, not ground truth — a live corpus for the target venue still wins. Emit bands only from ≥3 papers (thinner →
    null
    /
    measured-low-confidence
    ), never a fabricated single point, and label every cache-derived score
    cache-vs-live
    so it never reads as measured live this session.
  • Studying exemplars means learning conventions, not copying — never reproduce a specific paper's text, structure verbatim, or ideas without attribution. Never submit anything to any system on the user's behalf.
  • 绝不能捆绑论文内容。仓库、简报或任何已提交文件中不得包含论文文本、摘要、图表或PDF——按需获取、临时处理,仅保留元数据(DOI、标题、BibTeX字段)及原创分析。引用内容≤25词且需署名,每篇论文最多引用一次。
  • 绝不能编造范例论文。每一项获奖声明都需要实时来源URL及DBLP匹配;每一个引用次数都来自本次会话运行的脚本;任何进入参考文献列表的内容都需通过
    verify-citations
    工具处理。
  • 仅使用合法开放获取源;单次合规请求(脚本强制每个主机≤1次请求/秒,请求头包含联系邮箱,遇到429错误会重试,缓存存储在
    .cache/study-exemplars/
    );绝不批量抓取会议论文集。
  • 会议配置文件仅为起点,绝非真理——在用户依赖之前,需根据实时
    cfp_url
    重新验证页数限制、模板及必填章节。
  • 缓存统计数据,而非文本,且绝不过度断言。缓存的
    exemplar_distribution:
    块仅包含统计数/区间/章节名称(可安全提交);绝不能包含论文文本。它是fallback,而非真理——针对目标会议的实时语料库仍优先。仅当样本≥3篇时才输出区间(样本更少则设为
    null
    /
    measured-low-confidence
    ),绝不编造单点数据,且所有缓存衍生的分数均需标记
    cache-vs-live
    ,避免被当作本次会话的实时实测数据。
  • 研究范例论文是为了学习惯例,而非抄袭——绝不能未经署名复制特定论文的文本、结构或观点。绝不能代表用户向任何系统提交任何内容。