# Paper Citation

> 根据正文内容语义检索高质量学术论文并生成规范引用。当用户需要论文引用、文献推荐、生成 BibTeX、在正文中标记 [CITE] 需要补充引用时使用。

- Skill: `yilansun416-design/paper-citation` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add yilansun416-design/paper-citation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/yilansun416-design/paper-citation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: yilansun416-design (https://skillmd.com/u/yilansun416-design)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/yilansun416-design/paper-citation

---


# 论文智能引用

## 触发条件

- 用户提供一段文字要求推荐引用文献
- 用户正文中包含 `[CITE]` 标记
- 用户要求生成 BibTeX / 参考文献

## 工作流程

### Step 1: 解析输入

**情况 A** — 用户直接给出一段文字：整段作为语义检索 query

**情况 B** — 正文中包含 `[CITE]`：提取每个 `[CITE]` 前后各 1-2 句作为独立 query

对每个 query：
1. 提炼核心学术概念（**必须翻译为英文**），去除口语化表达
2. 生成 2-3 个检索变体（同义词替换、缩写展开）

> 示例：用户写 "大模型的幻觉问题很严重 [CITE]"
> → query 变体：`"hallucination in large language models"`, `"LLM factual accuracy"`, `"mitigating hallucinations in generative AI"`

### Step 2: 语义检索

**主检索 — Semantic Scholar API**（语义相关性排序，非关键词匹配）：

```
https://api.semanticscholar.org/graph/v1/paper/search?query={ENCODED_QUERY}&limit=20&fields=title,authors,year,citationCount,venue,externalIds,abstract,journal,publicationTypes,referenceCount,influentialCitationCount,tldr
```

使用 Shell 工具执行 curl 请求，对每个检索变体分别搜索，合并去重（按 paperId）。

**补充检索 — OpenAlex API**（覆盖更多期刊论文）：

```
https://api.openalex.org/works?search={ENCODED_QUERY}&per_page=20&select=id,doi,title,authorships,publication_year,cited_by_count,primary_location,type,biblio
```

仅当 Semantic Scholar 返回结果不足 10 篇时启用。

**检索要求**：
- 每个 query 至少获得 20 篇候选
- 如果用户文本是中文，query 必须翻译为英文再检索
- 如果领域明确，可在 query 中加入领域限定词

### Step 3: 质量评分

对每篇候选论文计算质量分（满分 100），覆盖中文与国际两套评价体系：

| 维度 | 评分规则 | 满分 |
|------|---------|------|
| **核心索引等级** | CSSCI / CCF-A / SSCI Q1 / SCI Q1 = **30** | 30 |
| | 北核(PKU) / CCF-B / SSCI Q2 / SCI Q2 = **20** | |
| | CCF-C / SSCI Q3 / SCI Q3 / ESCI = **10** | |
| **学科认可度** | 学科顶刊(见 venue-rankings.md 标★) = **20** | 20 |
| | 学科重要期刊/会议 = **12** | |
| | 相关领域期刊 = **5** | |
| **被引量** | min(log₂(citations+1) × 2, 15) | 15 |
| **发表形式** | 正式发表=10, workshop/论坛=5, arXiv/预印本=0 | 10 |
| **影响因子** | min(IF × 1.5, 10)，仅适用于有 IF 的期刊 | 10 |
| **时效性** | 5年内=10, 5-10年=5, >10年且被引>500=8 | 10 |
| **语义匹配度** | Agent 判断与用户文本的语义相关性：高=5, 中=3, 低=0 | 5 |

> 注意：核心索引等级取**最高命中项**计分，不叠加。如某期刊同时是 CSSCI + SSCI Q2，取 CSSCI 的 30 分。

**评分执行规则**：

1. **中文期刊等级查询**：先查本 Skill 目录下的 [venue-rankings.md](venue-rankings.md)，用期刊/会议名称匹配。未命中则使用 WebSearch 搜索 `"{期刊名}" CSSCI 北核 核心期刊`。
2. **国际期刊/会议查询**：先查 [venue-rankings.md](venue-rankings.md)。未命中则使用 WebSearch 搜索 `"{venue_name}" SCI SSCI JCR impact factor quartile`。
3. **CCF 等级查询**（仅计算机相关 venue）：查 [venue-rankings.md](venue-rankings.md) 中 CCF 列表，或 WebSearch 搜索 `"{venue_name}" CCF ranking`。
4. **arXiv 处理**：
   - 如果 `publicationTypes` 仅含 `"preprint"` 或 venue 为空 → 标记为预印本，总分 -15
   - 如果同一论文既有预印本又有正式发表版 → **只保留正式版**
5. **去重**：按标题相似度 >90% 去重，保留质量分更高的版本

### Step 4: 筛选与排序

- 按总分降序排列
- **质量红线**：默认只推荐总分 ≥ 35 的论文（即至少有一项硬指标：CSSCI / 北核 / CCF-B 以上 / SSCI Q2 以上 / SCI Q2 以上）
- 取 top-N（默认 N=5，用户可指定）
- 经典论文（被引 >500）可突破时效限制

### Step 5: 生成 BibTeX

**优先方式** — 通过 DOI 获取官方 BibTeX：

```
curl -sLH "Accept: application/x-bibtex" "https://doi.org/{DOI}"
```

**备选方式** — 手动构造（无 DOI 时）：

会议论文：
```bibtex
@inproceedings{Key,
  author    = {Author1 and Author2 and Author3},
  title     = {Full Paper Title},
  booktitle = {Proceedings of the Conference Name (Abbr)},
  year      = {2024},
  pages     = {1--10},
  doi       = {10.xxxx/xxxxx}
}
```

期刊论文：
```bibtex
@article{Key,
  author    = {Author1 and Author2},
  title     = {Full Paper Title},
  journal   = {Journal Name},
  volume    = {42},
  number    = {3},
  pages     = {100--115},
  year      = {2024},
  doi       = {10.xxxx/xxxxx}
}
```

**BibTeX Key 命名规则**：`第一作者姓` + `年份` + `标题第一个实词小写`
> 示例：`wang2023attention`, `devlin2019bert`

### Step 6: 输出报告

**对每篇推荐论文输出**：

```
### [序号] 论文标题

- **作者**: 作者列表（前三位 + et al.）
- **发表于**: 会议/期刊全称 (缩写), 年份
- **质量评分**: XX/100
  - 索引: CSSCI (30) | 学科: 顶刊★ (20) | 被引: 1234 (12) | IF: 5.2 (10) | 正式发表 (10) | 近5年 (10) | 语义匹配: 高 (5)
- **推荐理由**: 2-3 句，说明该论文与用户文本的语义关联，以及其学术贡献
- **BibTeX**:
  （BibTeX 代码块）
```

**报告末尾**：

1. 汇总所有 BibTeX 到一个完整代码块（方便直接复制到 .bib 文件）
2. 如果有论文因质量不达标被排除，简要说明排除了多少篇及原因

### Step 7: 回填引用（仅当原文含 [CITE]）

将原文中的 `[CITE]` 替换为 `\cite{key1, key2}` 格式，输出修改后的完整正文段落。

如果一个 `[CITE]` 位置语义上需要多篇引用，最多填入 3 个 key。

## 特殊指令

### 用户可选参数

用户可在请求中附加以下指令（自然语言即可）：

- **数量**："推荐 10 篇" → N=10
- **年份限制**："只要 2020 年以后的" → 过滤条件
- **领域限定**："计算机视觉方向" / "设计学方向" → query 加领域词
- **放宽限制**："arXiv 的也可以" → 取消 arXiv 惩罚
- **指定格式**："要 GB/T 7714 格式" → 除 BibTeX 外额外输出 GB/T 7714 格式引用

### GB/T 7714 格式（按需）

当用户要求时，额外输出此格式：

```
[序号] 作者1, 作者2, 作者3, 等. 论文标题[J]. 期刊名, 年份, 卷(期): 起始页-终止页.
[序号] 作者1, 作者2, 作者3, 等. 论文标题[C]//会议名. 出版地: 出版社, 年份: 起始页-终止页.
```

## API 限流提醒

- Semantic Scholar: 100 请求/5分钟（无 API key）、1 请求/秒
- OpenAlex: 无硬限制，但建议间隔 200ms
- CrossRef (DOI): 无硬限制，建议包含 `mailto` 参数提速

如遇限流，在请求间添加 1-2 秒延迟。

