# Reference Organizer

> 获取链接的元数据并生成不同级别的格式化参考文献（博客、白皮书、论文）。当用户需要整理参考文献、生成引用或格式化参考链接时调用此技能。

- Skill: `forceinjection/reference-organizer` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add forceinjection/reference-organizer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/forceinjection/reference-organizer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ForceInjection (https://skillmd.com/u/forceinjection)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/forceinjection/reference-organizer

---

> English version: [SKILL-en.md](SKILL-en.md)

# Reference Organizer (参考文献整理助手)

本技能用于自动获取外部链接（如博客、技术白皮书、学术论文等）的元数据，并根据用户要求的级别和场景，将其格式化为标准的参考文献条目。通过自动化的信息抓取和排版，提升技术文章参考文献的编写效率与专业度。

## 适用场景

基于不同的技术写作需求，本技能支持对博客文章、技术白皮书和学术论文三种主要文献类型进行元数据提取。这三种类型覆盖了从非正式经验分享到严谨学术论证的广泛场景，针对不同载体将聚焦于特定维度的数据抓取以满足引用标准。

- **博客 (Blog)**: 提取文章标题、作者、发布日期及链接，生成适合在技术文章末尾展示的轻量级参考格式。
- **技术白皮书 (Whitepaper)**: 提取白皮书名称、发布机构/公司、年份及链接，生成正式的参考格式。
- **学术论文 (Paper)**: 提取论文标题、作者、发表年份及 DOI 或 arXiv 链接，生成 IEEE、APA 或其他学术标准的引用格式。

## 核心工作流

处理外部链接时需执行标准化的流水线作业，从链接特征分析到具体元数据抓取，整个过程分为识别提取与排版输出两个连续阶段。

### 链接类型识别与信息获取

准确的元数据提取依赖于对链接宿主的识别。arXiv 等学术库提供结构化的 API 接口，而常规网页则需要依赖通用抓取工具并配合自然语言理解来剥离核心信息。

- **arXiv 预印本论文**:
  - 提取链接中的 arXiv ID。
  - 必须使用系统提供的 Python 脚本获取元数据和预定义格式：

    ```bash
    # 使用本技能目录下的 Python 脚本获取指定 arXiv 论文的元数据
    # 注意：LLM 在执行命令前，请先使用文件路径相关工具确认本技能目录的绝对路径，并将其替换到 <SKILL_DIR> 中。
    python3 <SKILL_DIR>/scripts/arxiv_metadata_fetcher.py -i <arXiv_ID> -f <format>
    ```

    _(支持的 `format` 包括：`text`, `json`, `markdown`, `ieee`)_

- **学术期刊/会议论文 (DOI)**:
  - 若为已正式发表的学术论文（常见于 IEEE Xplore, ACM, Springer 等平台），提取链接中的 DOI 标识符。
  - 必须使用提供的 DOI 抓取脚本获取结构化元数据（通过 Crossref API），以应对出版社的反爬虫拦截：

    ```bash
    # 获取指定 DOI 的元数据（输出 JSON）
    python3 <SKILL_DIR>/scripts/doi_metadata_fetcher.py -i <DOI> -f json
    ```

- **普通网页（博客、白皮书、官方文档等）**:
  - 优先使用网页内容抓取工具（如 `mcp_DuckDuckGo_Search_Server_fetch_content`）获取页面的正文或元数据。
  - 从抓取的内容中分析并提取关键信息：标题、作者或发布机构、发布时间。

### 格式化输出规范

元数据获取完成后，需将其映射至特定的引用模板。为确保输出的严谨性，默认推荐采用学术界与出版界公认的 GB/T 7714-2015、APA 及 IEEE 国家或国际标准进行排版。

- **博客/网页级别 (默认 GB/T 7714-2015 电子资源)**:
  - 格式: `[序号] [主要责任者]. [题名][EB/OL]. ([更新或修改日期])[引用日期]. [获取和访问路径].`
  - 示例: `[1] Trae Team. Trae AI IDE 快速入门[EB/OL]. (2023-10-01)[2024-04-04]. https://example.com.`

- **白皮书/技术报告级别 (默认 APA 7th Edition)**:
  - 格式: `[发布机构]. ([发布年份]). *[报告题名]*. [URL]`
  - 示例: `OpenAI. (2023). *GPT-4 technical report*. https://example.com`

- **论文级别 (默认 IEEE 格式)**:
  由于论文来源不同，请根据元数据严格区分并采用以下对应的 IEEE 规范子格式。**格式中的字体要求**：正式出版物（如期刊名、会议名）必须使用 Markdown 斜体 `*...*`；非正式出版物（如预印本）全段使用正体（无斜体）；论文标题必须使用双引号 `"[标题],"` 且逗号在引号内。
  - **期刊论文 (Journal Article)**:
    - 格式: `[序号] [作者(名首字母. 姓)], "[论文标题]," *[期刊名称缩写]*, vol. [卷号], no. [期号], pp. [起止页码], [发布月份缩写]. [年份].`
    - 示例: `[1] J. Smith and M. Johnson, "Deep learning for signal processing," *IEEE Trans. Signal Process.*, vol. 68, pp. 1234-1245, Mar. 2023.`
  - **会议论文 (Conference Paper)**:
    - 格式: `[序号] [作者], "[论文标题]," in *Proc. [会议名称缩写]*, [会议城市], [会议国家], [年份], pp. [起止页码].`
    - 示例: `[2] K. Lee, "Neural network optimization," in *Proc. IEEE Int. Conf. Mach. Learn.*, Vancouver, Canada, 2023, pp. 567-574.`
  - **预印本 (Preprint, 如 arXiv)**:
    - 格式: `[序号] [作者], "[论文标题]," arXiv preprint arXiv:[ID], [年份].`
    - 示例: `[3] A. Vaswani et al., "Attention is all you need," arXiv preprint arXiv:1706.03762, 2017.`

## 最佳实践与注意事项

为了应对反爬虫机制、信息缺失及高并发等极端情况，提升参考文献生成的质量和稳定性，请在执行任务时严格遵守以下实践指南。

- **批量处理**: 如果用户提供多个链接，请按顺序逐个提取信息（避免高并发调用导致上下文状态冲突），并统一输出一个分类清晰的参考资料列表。
- **信息缺失处理**: 若受限于反爬虫机制或页面结构无法获取作者、日期等信息，请在输出中标注 `[作者未知]` 或 `[日期未知]`，并提示用户手动补充。
- **排版合规性**: 严格遵守 Markdown 语法，中英文之间必须保持空格，专有名词使用反引号包裹，表格中坚决避免使用 `<br>` 等 HTML 标签。

