返回 Skills 目录
yuan1z0825/nature-skills已通过检查

SKILL DETAIL

nature-literature-pipeline

yuan1z0825/nature-skills/nature-literature-pipeline

Nature Literature Pipeline 是一个完整的、经过生产测试的自动化文献流水线。它不仅仅是“搜索论文”,而是一个结构化的引擎,每天对研究论文进行评分、分类、阅读、推送和归档。 该流水线由定时任务(如每天 08:30)触发,依次执行五个步骤:① 从 arXiv、OpenAlex、Crossref、Semantic Scholar 等多源搜索约 30 篇候选论文(支持自动降级);② 通过六维评分(主题匹配 ×35、方法论 ×20、期刊质量 ×15、网络相关性 ×10、应用价值 ×10、归档价值 ×10)进行粗筛,选出前 5 篇;③ 对前 5 篇进行摘要级或全文级精读,并标记来源级别(全文/仅摘要/仅元数据);④ 将格式化摘要推送到飞书、Telegram 等平台,包含排名、标题、期刊、评分、一句话总结、方法、关键结果和评论;⑤ 通过 DOI/arXiv 去重、分类、写笔记并更新索引进行归档。 该技能分为引擎层和应用层:引擎层包含评分系统、差距分析和笔记模板;应用层包含推送格式、定时任务设置和综述汇编工作流。所有领域特定内容均可配置,包括关键词、评分权重、分类规则、推送目标和归档路径。内置安全措施包括分数验证、三重去重、优雅降级和只读归档(仅写入 raw/ 目录,不修改知识库)。

安装量 · 144查看来源

Installation

npx skills add https://github.com/yuan1z0825/nature-skills --skill nature-literature-pipeline

技能文件

SKILL.md

最近同步 · 2026年8月27日

agents/openai.yaml
interface:
  display_name: "Nature Literature Pipeline"
  short_description: "Run scored literature discovery and reading pipelines"
  default_prompt: "Use $nature-literature-pipeline to build a scored literature discovery, reading, and archiving pipeline for this topic."
manifest.yaml
name: nature-literature-pipeline
version: 1.0.1
description: >
  Declarative manifest for the automated literature-discovery pipeline. SKILL.md
  uses this to keep the default cron/search/deliver/archive workflow concise
  while loading scoring, gap-analysis, digest, and archival details only when
  the task reaches that stage.

# Design note: the pipeline has stable stages (search -> coarse filter -> fine
# read -> deliver -> archive). Configuration and examples are large enough to be
# loaded on demand instead of for every invocation.

always_load:
  - SKILL.md

templates:
  on_demand:
    - condition: configuring keywords, scoring weights, delivery target, archive path, or a reusable daily push profile
      path: templates/literature-push-template.md

references:
  on_demand:
    - condition: ranking candidates, checking score arithmetic, changing dimension weights, or explaining the six-dimension scoring system
      path: references/scoring-system.md
    - condition: identifying research gaps, building a review map, or turning discoveries into a research direction
      path: references/gap-analysis.md
    - condition: writing or validating archived literature notes with YAML frontmatter
      path: references/note-template.md
    - condition: formatting daily digest messages for Feishu, Telegram, email, or chat delivery
      path: references/push-format.md
    - condition: creating, updating, debugging, or documenting the recurring cron job
      path: references/cron-setup.md
    - condition: compiling multiple daily notes into a literature review, related-work section, or concentrated reading report
      path: references/review-compilation-workflow.md
README_EN.md
# `nature-literature-pipeline` Skill

[中文说明](README.md)

`nature-literature-pipeline` builds a recurring literature-discovery pipeline: multi-source retrieval, six-dimension scoring, deep-reading summaries, delivery, and archiving.

## What To Use It For

- Set up automated literature monitoring for a fixed research topic.
- Collect candidate papers from arXiv, OpenAlex, Crossref, Semantic Scholar, and related sources.
- Score candidates by topic match, methodological value, journal quality, network relation, engineering value, and archive value.
- Turn top papers into Chinese or English deep-reading digests for delivery.
- Maintain DOI, arXiv ID, topic tags, and read status to reduce duplicate reading.

## Relationship With `nature-academic-search`

`nature-academic-search` is for one-off search and citation checks; `nature-literature-pipeline` is for continuous subscription and periodic delivery. The former answers "find papers now"; the latter answers "keep watching this area."

## Typical Requests

- "Track new papers on marine concrete chloride diffusion and machine learning every morning."
- "Create a weekly literature pipeline for this keyword set."
- "Score papers from the last seven days, keep the Top 5, and archive them."

## What You Need To Provide

- Research topic, keywords, exclusion terms, priority journals, or priority authors.
- Delivery frequency, number of candidates per run, and number of deep-read papers.
- Output target, such as Markdown directory, Feishu/Telegram interface, or local archive folder.

## Outputs

- Candidate-paper table and deduplicated Top list.
- Deep-reading card for each key paper: problem, method, key data, limitations, and relation to your project.
- Reusable pipeline configuration, archive index, and failure/degradation notes.

## Boundaries

- Automatic delivery depends on local cron, messaging interfaces, or the user's configured scheduler.
- When full text is unavailable, the output is marked as `Abstract only` or `Metadata only`.
- Scores are not final judgments of paper quality; high-scoring candidates still need human reading.

## Related Skills

- `nature-academic-search`: one-off multi-source search, citation metrics, and strict external-citation audit.
- `nature-reader`: turn candidate papers into full Chinese-English reading materials.
README.md
# `nature-literature-pipeline` 技能

[English](README_EN.md)

`nature-literature-pipeline` 用于搭建持续运行的文献发现管线:多源检索、六维评分、精读摘要、推送和归档,适合每天或每周跟踪一个研究方向。

## 适合用它做什么

- 为固定主题建立自动化文献监测。
- 从 arXiv、OpenAlex、Crossref、Semantic Scholar 等来源收集候选论文。
- 对候选文献按方向匹配、方法价值、期刊质量、网络关联、工程价值和归档价值打分。
- 把 Top 文献整理成可推送的中文/英文精读摘要。
- 维护 DOI、arXiv ID、主题标签和已读状态,减少重复阅读。

## 与 `nature-academic-search` 的关系

`nature-academic-search` 适合一次性检索和引用核查;`nature-literature-pipeline` 适合持续订阅和周期性推送。前者回答“现在帮我找”,后者回答“持续帮我盯”。

## 典型请求

- “每天早上帮我跟踪海洋混凝土氯离子扩散和机器学习方向的新论文。”
- “为这个关键词组建一条每周推送的文献管线。”
- “把过去 7 天候选论文按六维评分筛到 Top 5,并归档。”

## 你需要提供

- 研究主题、关键词、排除词、重点期刊或重点作者。
- 推送频率、每次候选数量和最终精读数量。
- 输出位置,例如 Markdown 目录、飞书/Telegram 接口或本地归档文件夹。

## 产出

- 候选文献表和去重后的 Top 列表。
- 每篇重点论文的精读卡片:问题、方法、关键数据、局限和与你课题的关系。
- 可复用的管线配置、归档索引和失败/降级说明。

## 边界

- 自动推送依赖本机 cron、消息接口或用户配置的调度器。
- 无法访问全文时,会明确标注 `Abstract only` 或 `Metadata only`。
- 不会把评分当作论文质量的最终判断;高分候选仍需要人工阅读确认。

## 相关技能

- `nature-academic-search`:一次性多源检索、引用指标和严格他引审计。
- `nature-reader`:把候选论文做成全文中英对照阅读材料。
references/cron-setup.md
# Scheduled literature delivery: verification and recovery

This synthetic example shows how to verify a one-shot or recurring literature-delivery job and recover when a scheduled run does not appear. All identifiers, dates, targets, and paths below are placeholders.

## Scenario

A user reports that a scheduled literature digest was not delivered at the expected time.

Example job configuration:

- job ID: `<JOB_ID>`
- name: `literature-digest`
- schedule: `<SCHEDULE>`
- delivery target: `<DELIVERY_TARGET>`

## Verification sequence

1. List scheduled jobs and confirm that `<JOB_ID>` exists in the current profile.
2. Inspect the job's schedule, repeat policy, delivery target, and enabled state.
3. Run the job manually in a test mode.
4. Verify delivery independently from archival.
5. Confirm that the archive contains the expected note and deduplication marker.

A successful create response is not sufficient: always read the stored job back from the scheduler.

## Recovery path

If the job is missing or cannot run:

1. Recreate it from the intended configuration.
2. Run a reduced retrieval query manually.
3. Deliver a short test digest to `<DELIVERY_TARGET>`.
4. Archive the result under a generic project-relative path.
5. Re-list the scheduler and record the new job ID outside the public template.

Example retrieval themes:

- `topic keyword method`
- `material property application`
- `author institution research question`

Example result set:

1. Study A — monitoring method for a representative system.
2. Study B — processing route and performance evaluation.
3. Study C — continuous purification or separation method.
4. Study D — electrochemical characterization workflow.
5. Study E — modeling study for a generic alloy system.

## Placeholder delivery record

- target: `<DELIVERY_TARGET>`
- chat ID: `<CHAT_ID>`
- message ID: `<MESSAGE_ID>`

Never publish real chat IDs, message IDs, group names, scheduler IDs, or delivery logs in an example.

## Placeholder archive layout

```text
<ARCHIVE_ROOT>/literature/
├── core/
│   ├── study-a.md
│   └── study-b.md
├── supporting/
│   └── study-c.md
└── references.ris
```

Use project-relative placeholders in public documentation. Keep machine-specific home, mount, vault, and organization paths in private configuration.

## Operational lessons

- Verify every created job by listing it from the same profile and runtime.
- Test retrieval, delivery, and archival as separate stages.
- For time-sensitive digests, restore delivery first and investigate the scheduler second.
- Recurring jobs need a manual-run check, delivery check, archive check, deduplication check, and failure alert.
- Document troubleshooting as a synthetic scenario rather than publishing a real incident transcript.
references/gap-analysis.md
# Literature Gap Analysis Methodology

## When to use

When the user asks to confirm whether a specific research topic has been explored:
- "搜一下 XX 体系有没有人做过"
- "确认这个方向是不是空白"
- "看看这个四元系有没有文献"

## Workflow (4 steps)

### Step 1: Multi-source search

Search the exact topic string across at least 3 sources:
- Web search with exact phrase match (e.g., `"MgCl2-KCl-NaCl-ZnCl2"`)
- Broader search with key components (e.g., `material A material B compound`)
- Adjacent/related terms (e.g., `compound A thermal storage application`)

→ Record hit counts per query.

### Step 2: Decompose and classify

If direct hits = 0, decompose the system into sub-systems:

| Sub-system | Search | Status |
|------------|--------|--------|
| MgCl₂-KCl-NaCl (ternary) | keyword | studied / not studied |
| NaCl-KCl-ZnCl₂ (ternary) | keyword | studied / not studied |
| MgCl₂-KCl-ZnCl₂ (ternary) | keyword | studied / not studied |
| MgCl₂-NaCl-ZnCl₂ (ternary) | keyword | studied / not studied |

Classify hits into three tiers:
- **直接相关**: exact quaternary system → if 0, confirmed gap
- **边缘相关**: contains 2-3 of 4 components → extract key data (method, salt composition, findings)
- **无关**: only 1 component → skip

### Step 3: Extract edge papers

For each 边缘相关 paper, extract:
- Full citation (authors, journal, year, DOI if available)
- Salt composition used
- Method (CV, DSC, XRD, simulation, etc.)
- Key finding relevant to the gap topic
- What can be borrowed for the user's work

### Step 4: Output gap report

Write to `outputs/literature/<topic>_gap_report.md` with these sections:

1. **核心结论** — one sentence: confirmed gap or partial overlap
2. **子体系文献全景** — table per sub-system with representative works
3. **边缘相关文献** — extracted details from edge papers
4. **空白分析** — why nobody did it + why it's worth doing
5. **论文 gap statement 草稿** — English paragraph ready for introduction
6. **建议下一步** — concrete experimental/computational next steps
7. **搜索方法论记录** — all search terms and hit counts (for reproducibility)

### Cost control

- Search: ≤4 parallel web_search calls per decomposition level
- Extract: only edge papers (≤5), not every hit
- No browser: use web_extract, skip paywalled pages silently
- Aim for ≤6 tool calls total
references/note-template.md
# Literature Note Template (v2 — 2026-06-03)

## Contents

- [Standardized Frontmatter](#standardized-frontmatter)
- [Body Structure (6 sections)](#body-structure-6-sections)
- [核心主张](#核心主张)
- [方法](#方法)
- [关键发现](#关键发现)
- [批判](#批判)
- [Connection to Research](#connection-to-research)
- [下一步](#下一步)
- [File Naming Convention](#file-naming-convention)
- [Directory Discipline](#directory-discipline)
- [Bulk Standardization](#bulk-standardization)


> Standardized template for literature notes. Use for all new vault literature notes.
> Replaces the v1 template (date/建议分类/是否值得全文精读 format).

## Standardized Frontmatter

```yaml
---
title: "Original English Title"
authors: "Last1, F.; Last2, F."
year: 2024
journal: "Full Journal Name"
doi: "10.xxxx/..."
classification: "A_核心主线"
tags: [中文关键词1, 关键词2, 关键词3]
date_read: 2026-06-03
---
```

### Field Rules

| Field | Format | Example |
|-------|--------|---------|
| `title` | Original English, double-quoted | `"Corrosion of Alloys and Metals by Molten Nitrates"` |
| `authors` | `Last, F.; Last, F.` — comma+semicolon separated, >3 use `et al.` | `"Smith, J.A.; Jones, R.B."` |
| `year` | 4-digit integer, no quotes | `2004` |
| `journal` | Full name or report ID, double-quoted | `"Journal of Materials Engineering and Performance"` |
| `doi` | Full DOI string starting with `10.` | `"10.1016/j.solmat.2019.02.012"` |
| `classification` | **Must be full Chinese name** — one of: `A_核心主线`, `B_章节支撑`, `C_工程背景`, `D_方法借鉴`, `E_暂存低优先` | `"A_核心主线"` |
| `tags` | YAML list, 3-5 specific Chinese keywords | `[硝酸盐, 腐蚀, 氧离子, 综述]` |
| `date_read` | ISO date of first detailed reading | `2026-06-03` |

**Anti-patterns (do NOT use)**: `date` (use `year`), `建议分类` (use `classification`), `是否值得全文精读` (covered by classification), `source_urls` (extraneous), `note_date` (use `date_read`).

## Body Structure (6 sections)

```markdown
## 核心主张
[1-3 sentences. Mark evidence strength: 成熟共识 / 学界共识 / 争议 / 推测]

## 方法
[Key methods, advantages, limitations]

## 关键发现
[Bullet points of key data/findings/quantitative results]

## 批判
[Strengths, weaknesses, relevance gaps, evidence reliability]

## Connection to Research
[How this connects to the user's thesis: NO2-/NO3- ratio, CV fingerprint, atmosphere control, Hitec purification, material selection, experimental design]

## 下一步
[Actionable: cite in which chapter, follow up which reference, design which experiment, what to verify]
```

**Note**: No `# Heading` title line before the sections — the frontmatter `title` field serves that role. Avoid duplicate H1 headers.

## File Naming Convention

Format: `{FirstAuthorLast}{Year}_{中文核心关键词}.md`

- **First author**: last name only, title-cased. For hyphenated names preserve the hyphen (e.g., `Encinas-Sánchez`).
- **Year**: 4 digits, no space after author name.
- **Keywords**: 2-4 Chinese words connected by underscores, derived from the paper's core contribution (not generic like `文献`).

### Examples

| Good | Bad |
|------|-----|
| `Goods2004_商业硝酸盐_304_316_长期腐蚀.md` | `goodscorrosionofstainlesssteelscarbon2004.md` |
| `Author2018_topic_method.md` | `authortopicmethodology2018.md` |
| `Kruizenga2011_316SS失效分析_氧覆盖.md` | `kruizengastainlesssteelcorrosion2011.md` |
| `Author2025_topic_application.md` | `author2025topicengineeringapplication.md` |

## Directory Discipline

Subagents frequently create short directory names (`A/笔记/`, `B/笔记/`). Always verify and correct to full names:

- `A_核心主线/笔记/`
- `B_章节支撑/笔记/`
- `C_工程背景/笔记/`
- `D_方法借鉴/笔记/`
- `E_暂存低优先/笔记/`

## Bulk Standardization

When standardizing a batch of existing notes, the Python script pattern is:

1. Inventory all `.md` files across A-E directories
2. Parse existing frontmatter → extract known fields
3. Infer missing fields from body content (year regex, author regex, title from H1)
4. Generate standardized frontmatter + remove body H1 duplicates
5. Generate new filename from `AuthorYear + Chinese keywords`
6. Write to same directory, rename + collision-check
7. Save rename mapping CSV for rollback

Key extraction patterns:
- Year: `(19|20)\d{2}` in filename or frontmatter
- Authors: `\*\*([^*]+?)\s*\((\d{4})\)\*\*` in body for old-format notes
- Title: frontmatter `title` field or body `# Heading`
- Classification: normalize `A`/`B`/`C`/`D` → full Chinese names, default to directory name
- Tags: keyword pattern matching on title + body[:1000] against a Chinese tech-term map
references/push-format.md
# Feishu Push Format

> Daily literature digest template delivered to the dedicated Feishu group.
> The `{placeholder}` values are filled by the fine-reading stage.

## Template

```markdown
📅 {YYYY-MM-DD} 文献日报 | Research Field Daily

━━━━━━━━━━━━━━━━━━━━

🏅 #{N} | {Title}
{Journal/Source}, {Year} | {Authors} et al. | {Institution} | ⭐ {score}/10 | 分流:{A-E tier}
DOI: {doi if available} | arXiv: {arxiv_id if available}

💡 一句话:{one-line takeaway — why this paper matters or why it is only deferred}

🔬 方法:{experiment/simulation, salt system, temperature, alloy/coating, characterization/electrochemical techniques}

📊 关键结果:{specific data or conclusions, with units and test conditions; no vague summaries}

🧭 点评:{value to the research mainline, limitations, whether worth full-text reading}

📎 {best available link: DOI / arXiv / PDF / repository}

━━━━━━━━━━━━━━━━━━━━

🏅 #{N+1} | ...
```

Daily pushes should NOT include a fixed "与 vault 的关联" field or forced wiki links; that's low-information. Vault/wiki connections belong in archival notes and later manual wiki integration. If a paper clearly hits a tracked author/network, mention it naturally in the commentary.

## Field Guidelines

| Field | Principle |
|-------|-----------|
| 💡 一句话 | 15秒可判断是否值得点开原文。抓核心贡献,不要泛泛描述 |
| 🔬 方法 | 实验/模拟?什么盐体系?什么表征(CV/EIS/SEM/XRD/TEM)?什么合金? |
| 📊 关键结果 | 必须是具体数据或明确结论。禁止"有重要发现""提供了新的视角"等空泛表述 |
| 🧭 点评 | 说明对研究主线的实际价值、局限、是否值得全文精读;不机械写 vault 关联 |
| ⭐ 评分 | 粗筛综合得分(0-10),帮助判断优先级;内部六维评分仍用 0-100 并校验各维度上限 |

## Example

All papers, identifiers, dates, and numerical results in this example are synthetic.

```markdown
📅 YYYY-MM-DD 文献日报 | Research Field Daily

━━━━━━━━━━━━━━━━━━━━

🏅 #1 | Electrochemical monitoring of impurity X in compound A-B-C system via advanced voltammetry
Electrochimica Acta, 2026 | Zhang, Li, Wang et al. | CAS Institute | ⭐ 9.2/10 | 分流:A_核心主线
DOI: <DOI> | arXiv: <ARXIV_ID>

💡 一句话:First application of method X to system Y for impurity quantification, detection limit improved ~5× over prior art。

🔬 方法:500°C MgCl₂-KCl-NaCl;Pt 工作电极,Ag/AgCl 参比;Ar + 不同 H₂O 分压;SWV 定量 MgOHCl,同时用滴定交叉验证。

📊 关键结果:
  · SWV 检测限 8 ppm O(vs. prior art CV method ~39 ppm)
  · 峰电流与 MgOHCl 浓度线性 R²=0.997(0-200 ppm 范围)
  · 200 h 稳定性测试中峰位漂移 <5 mV

🧭 点评:A 类候选。价值在于把杂质监测灵敏度从 CV 推到 SWV,直接服务监测-控制-验证闭环;需要全文核查参比电极稳定性和标定方法。

📎 https://example.org/paper

━━━━━━━━━━━━━━━━━━━━

🏅 #2 | ...
```

## Delivery

```python
send_message(
    target="feishu:<chat_id>",
    message="<formatted_digest>"
)
```

Use `send_message(action='list')` to discover the chat_id if unknown. The target must be a group the Hermes bot has been added to as a member (Feishu group settings → bots → add).
references/review-compilation-workflow.md
# 手工综述编译工作流

## Contents

- [阶段1: 盘点存量](#阶段1-盘点存量)
- [阶段2: 空白填补](#阶段2-空白填补)
- [阶段3: 观众过滤](#阶段3-观众过滤)
- [阶段4: 架构设计](#阶段4-架构设计)
- [阶段5: 图表规划](#阶段5-图表规划)
- [阶段6: BibTeX导出](#阶段6-bibtex导出)
- [附: 硝酸盐氧化膜综述实例数据](#附-硝酸盐氧化膜综述实例数据)


从"零库存→投稿"的完整综述写作流程,适用于已确定主题方向后的文献整合阶段。与每日自动化pipeline互补——pipeline管日常发现,本文件管集中编撰。

## 阶段1: 盘点存量

### 1.1 从Vault提取
- 用 `gbrain_query` 搜主题关键词(中英文各一次)
- 用 `gbrain_search` 搜最宽泛关键词(如 `corrosion`)捕捉漏网
- 精读核心页面(如综述章节草稿),提取引用列表

### 1.2 从Zotero提取
- `zotero_search_items` 搜主题关键词,`qmode=everything`
- 去重(与vault内容交叉核对)
- 按相关性分级(A=直接相关/B=部分相关/C=背景)

### 1.3 汇总评估
- 生成文献数量估计,判断是否需要补搜
- 对照综述框架,识别薄弱子方向

## 阶段2: 空白填补

### 2.1 识别空白
常见空白类型:
- 特定盐体系(如NaNO₂含量影响)文献不足
- 特定机理角度(如定量剥落判据)数据稀缺
- 特定时间尺度(>10000h)系统空白——标注为领域gap而非继续检索
- 特定研究团队的工作遗漏

### 2.2 定向搜索
- `web_search` 英文+中文各搜一次,覆盖不同关键词组合
- 追踪关键论文的引用链(谁引用了领域奠基论文?)
- 中国团队的CNKI/中文期刊论文——对国内合作者信息增量高

### 2.3 提取与筛选
- `web_extract` 拉取关键论文全文/摘要
- 按空白→文献映射记录
- 再次评估文献总量是否达标(综述目标期刊通常80-150条引用)

## 阶段3: 观众过滤

对于合作者审阅版,应用观众相关过滤原则:

| 原则 | 操作 |
|------|------|
| Audience's domain | Remove papers the audience already knows well |
| 对方不熟悉的领域 | 保留该方向的定量数据论文——是信息增量 |
| 偏离主线太远 | 砍纯方法学/涂覆/缓蚀/碳钢论文 |
| 低信息增量 | 砍中文中文期刊论文(对国外合作者) |
| 保留对方团队工作 | 同一机构的相关论文应保留(如给某作者保留其机构系列工作) |

典型砍留比:90→50篇。

## 阶段4: 架构设计

### 4.1 总体叙事
- 一条因果链贯穿:环境化学→结构形成→失效模式→工程控制
- 避免材料A→B→C的目录式罗列
- 核心章节(失效模式)占全文~30%篇幅

### 4.2 典型7节结构
```
§1 Introduction         (~8% 字数, 低引用密度)
§2 化学环境             (~13%, 中)
§3 形成/结构/动力学      (~17%, 中高)
§4 失效模式 ★核心        (~27%, 高)
§5 调控因素             (~13%, 中高)
§6 方法学               (~10%, 中)
§7 工程启示+展望         (~10%, 低)
```

引用分布:核心章节约占50条中的16条。

## 阶段5: 图表规划

### 5.1 A类图(自绘)
不需要原始数据,用concept-diagrams skill绘制:
- 结构示意图(如氧化膜双层)
- 因果流程图(如material chemistry → failure chain)
- 机理对比图(如四种失效模式)
- 概念相图(如T-pO²⁻稳定性分区)
- 方法论对比表

典型数量:8-10张。

### 5.2 B类图(引用)
需要从已发表论文截取,注明"adapted from":
- SEM截面(氧化膜实证图像)
- 定量关系曲线(如O²⁻-腐蚀速率)
- 对比柱状图(如等温/热循环/热冲击)

优先从领域标杆论文选取:领域奠基系列、代表性综述、最新突破。

## 阶段6: BibTeX导出

- 在 `outputs/literature/` 下创建 `.bib` 文件
- 每条包含:title, author, journal, volume, pages, year, doi, abstract(简短标注)
- 用 `%` 注释分行分组
- 用户拖入Zotero后统一打标签

## 附: 硝酸盐氧化膜综述实例数据

本文件基于2026-06-23的会话总结,以下为该综述的具体参数供参考:

- 主题:material oxidation and failure in high-temperature environments
- 文献总量:90→50篇(针对受众精简版)
- A类图:8张(fig1-fig8,见 `outputs/figures/`)
- B类图需求:3-4张(SEM截面/定量曲线/Au示踪)
- 篇幅:~30,000中文字 → 排版后~36-40页
- 目标期刊候选:《中国腐蚀与防护学报》《储能科学与技术》
references/scoring-system.md
# Six-Dimension Scoring System

Used in the coarse-filtering stage (30 → 5 papers). Each paper is scored 0-100 across six weighted dimensions.

## Dimensions

| # | Dimension | Weight | What It Measures |
|---|-----------|:------:|------------------|
| 1 | Topic Match | 35 | How closely the paper aligns with core research questions |
| 2 | Methodological Value | 20 | Quality and applicability of methods (experimental design, analysis techniques) |
| 3 | Journal/Source Quality | 15 | Venue prestige, citation impact, credibility |
| 4 | Research Network Relevance | 10 | Connections to tracked authors, institutions, or active collaborations |
| 5 | Applied/Engineering Value | 10 | Practical utility: protocols, datasets, benchmarks, engineering insights |
| 6 | Archival Value | 10 | Long-term reference value: review potential, foundational status, teaching utility |

## Scoring Rules

1. Each dimension is capped at its weight — no overshooting
2. Total score must equal the sum of all six dimensions — recalculate, don't trust subagent arithmetic
3. Dimension 1 is the gate: papers scoring <10 on Topic Match are auto-rejected regardless of other scores

## Subagent Prompt Template

```
Score each of the following 30 papers on six dimensions (0-100 total):

1. Topic Match (max 35): [insert your research questions]
2. Methodological Value (max 20)
3. Journal Quality (max 15)
4. Network Relevance (max 10): [insert tracked authors/institutions]
5. Applied Value (max 10)
6. Archival Value (max 10)

For each paper, output:
{
  "title": "...",
  "scores": {"topic": X, "method": X, "journal": X, "network": X, "applied": X, "archival": X},
  "total": X,
  "rationale": "one sentence"
}

Return the top 5 papers by total score, sorted descending.
```

## Common Pitfalls

- Subagents may inflate Dimension 1 scores for well-known papers that aren't actually relevant — always verify
- Papers from prestigious journals can score high on Dimension 3 but be irrelevant (low Dimension 1) — the gate rule catches this
- The "Network Relevance" dimension is NOT about fame — it's about specific tracked authors/institutions the user cares about

## Calibration

After 2-3 pipeline runs, review the score distribution with the user:
- If top papers consistently score 90+, the rubric is too loose
- If no paper breaks 60, keywords may be too narrow or the field is sparse
- Adjust weights based on user feedback (e.g., if applied value matters more than journal prestige for their work)
SKILL.md
---
name: nature-literature-pipeline
description: |
  Complete automated literature discovery pipeline: multi-source search → six-dimension scoring → fine reading → formatted delivery → archival.
  Combines a configurable engine with daily cron-driven application layer. Works with Feishu, Telegram, or any messaging platform.
license: MIT
metadata:
  author: Jiahao8595
  hermes:
    tags: [research, literature, pipeline, cron, automation, discovery]
    related_skills: [nature-academic-search, nature-citation, arxiv, zotero]
---

# Nature Literature Pipeline

A complete, production-tested automated literature pipeline. Not just "search for papers" — it's a structured engine that scores, classifies, reads, delivers, and archives research papers daily.

## What It Does

```
Cron (daily trigger, e.g. 08:30)
  │
  ├─ ① SEARCH (30 candidates)
  │   arXiv / OpenAlex / Crossref / Semantic Scholar (auto-degradation)
  │
  ├─ ② COARSE FILTER (30 → 5)
  │   Six-dimension scoring: topic match × 35 + methodology × 20
  │   + journal quality × 15 + network relevance × 10
  │   + applied value × 10 + archival value × 10
  │
  ├─ ③ FINE READ (top 5)
  │   Abstract-level or full-text. Source level tagged:
  │   Full-text / Abstract only / Metadata only
  │
  ├─ ④ DELIVER
  │   Formatted digest to Feishu/Telegram/etc.
  │   🏅 rank | title | journal | ⭐ score | 💡 one-liner
  │   🔬 methods | 📊 key results | 🧭 commentary
  │
  └─ ⑤ ARCHIVE
      DOI/arXiv de-dup → classify → write notes → update index
```

## Quick Start

After installing, tell your agent:

```
My research area is [X], keywords: [Y], deliver to [feishu group name], archive to [path]
```

The agent will configure keywords, delivery target, and archive path automatically.

Then set up a daily cron job:

```
Set up a daily literature push at 08:30 Beijing time, 30 candidates, top 5 delivered
```

## Architecture

The skill is organized in two layers:

| Layer | Purpose | Files |
|-------|---------|-------|
| **Engine** | Scoring, classification, note templates, gap analysis | `references/scoring-system.md`, `references/gap-analysis.md`, `references/note-template.md` |
| **Application** | Daily cron pipeline, delivery formatting, archival workflow | `references/push-format.md`, `references/cron-setup.md`, `references/review-compilation-workflow.md` |

## Configuration

All domain-specific content is configurable:

- **Keywords** — your research keywords (English + Chinese)
- **Scoring weights** — adjust the six dimensions for your field
- **Classification rules** — define your own tier system (A-E or custom)
- **Delivery target** — Feishu group, Telegram channel, email, etc.
- **Archive path** — local vault/wiki directory

A config template is provided in `templates/literature-push-template.md`.

## Built-in Safeguards

- **Score validation**: Each dimension capped, total recalculated — no 11/10 allowed
- **Triple de-duplication**: DOI / arXiv ID / OpenAlex ID
- **Graceful degradation**: Semantic Scholar down → auto-switch to OpenAlex + Crossref + arXiv
- **Read-only archive**: Daily pipeline writes to `raw/` literature directory only; never modifies wiki/knowledge base without user approval

## Related Skills

- `nature-academic-search` — ad-hoc literature search (complementary; this skill adds structured daily automation)
- `nature-citation` — CNS citation export (for importing pipeline discoveries into manuscripts)
- `zotero` — library management (for long-term organization of pipeline outputs)
- `arxiv` — arXiv API (used as a search source)

## References

| Reference | Purpose |
|-----------|---------|
| `references/scoring-system.md` | Six-dimension scoring rubric with weights, caps, and evaluation logic |
| `references/gap-analysis.md` | Methodology for identifying research gaps through systematic literature survey |
| `references/note-template.md` | Standardized literature note format with YAML frontmatter |
| `references/push-format.md` | Daily digest message template with field guidelines and example |
| `references/cron-setup.md` | Cron job creation, verification, and manual fallback procedures |
| `references/review-compilation-workflow.md` | End-to-end workflow for concentrated literature review writing |

## Pitfalls

1. **Keyword drift**: Review keywords monthly — research directions evolve
2. **Score inflation**: Subagents may inflate scores; always validate arithmetic
3. **Duplicate creep**: Classic papers will reappear; maintain a dedup index
4. **Wiki safety**: Pipeline writes to `raw/` only; wiki integration is manual
5. **Cron locality**: Hermes cron is local, not cloud — machine must be running
templates/literature-push-template.md
---
name: literature-push-template
description: "Use when building or running a customizable academic literature push workflow: search multiple scholarly sources, filter candidates, summarize top papers, deliver a concise daily/weekly digest, and optionally archive notes. Designed as a generic template for any research field, including LLM research."
version: 1.0.0
author: Hermes Agent
license: MIT
metadata:
  hermes:
    tags: [research, literature, monitoring, papers, digest, cron]
    related_skills: [arxiv, literature-pipeline]
---

# Literature Push Template

## Overview

Generic literature monitoring workflow to copy and customize for a research field such as LLMs, agents, alignment, evaluation, retrieval, multimodal systems, or any other domain.

Workflow: search scholarly sources → build candidate pool → deduplicate → score/filter → summarize top papers → deliver a concise digest → optionally archive raw notes.

This template intentionally contains no private chat IDs, API keys, local vault paths, or user-specific research context.

## Configuration To Customize

```yaml
research_profile:
  field: "LLM research"
  subtopics:
    - "language model agents"
    - "LLM evaluation"
    - "reasoning and planning"
    - "alignment and post-training"
    - "RAG and long-context systems"
    - "efficient inference and serving"

search:
  candidate_pool_size: 30
  final_selection_count: 5
  lookback_days: 7
  sources: [arxiv, openalex, crossref, semantic_scholar_optional]

keywords:
  include:
    - "large language model"
    - "LLM agent"
    - "language model reasoning"
    - "LLM evaluation"
    - "retrieval augmented generation"
    - "long context language model"
    - "post-training language model"
    - "preference optimization"
    - "tool use language model"
    - "multi-agent language models"
  exclude:
    - "CHANGE_ME"

important_authors_or_orgs:
  - "OpenAI"
  - "Anthropic"
  - "Google DeepMind"
  - "Meta AI"
  - "Stanford"
  - "Berkeley"
  - "CMU"
  - "Tsinghua"
  - "Peking University"

delivery:
  target: "CHANGE_ME"   # e.g. feishu:group, telegram, discord:#channel, local
  format: "short_digest"

archive:
  enabled: false
  root: "CHANGE_ME"
  write_wiki: false
```

## Source Priority

Use arXiv, OpenAlex, Crossref, and Semantic Scholar if available. Degrade gracefully if Semantic Scholar has no key or rate-limits.

## Deduplication

Deduplicate by DOI, arXiv ID, OpenAlex ID, then normalized title. Prefer the richer metadata record while preserving all stable links.

## Scoring Rubric

| Dimension | Weight |
|---|---:|
| Topic fit | 35 |
| Novelty / contribution | 20 |
| Method quality | 15 |
| Source / author signal | 10 |
| Practical value | 10 |
| Archive value | 10 |

Rules: no dimension exceeds its weight; total is the sum; display as `⭐ 8.7/10`; never output impossible scores like `11/10`.

## Reading Depth Labels

Every paper must show one of: Full text read, Abstract only, Metadata only, Project page / GitHub read.

## Digest Format

```markdown
📚 Literature Digest | {date} | {research field}
Candidate pool: {M} → selected: {N}

🏅 #{rank} | {title}
{venue/source}, {year} | {authors} | ⭐ {score}/10 | Reading: {reading_depth}
ID: {doi/arxiv/openalex if available}

💡 One-line takeaway: {why this matters}

🔬 What they did: {method, dataset, benchmark, system, or theory}

📊 Key result: {specific result if available; otherwise say what is missing}

🧭 Research value: {how this helps the configured research direction; include limitations}

📎 Link: {best stable link}
```

For LLM papers, note model family/scale, training or post-training method, benchmarks, baselines, code/data/model availability, serving constraints, and evaluation weaknesses or contamination risks.

## Cron Prompt Skeleton

```text
Run the literature-push-template workflow for {FIELD}.

Research focus:
- {SUBTOPICS}

Search:
- Look back {LOOKBACK_DAYS} days.
- Use arXiv, OpenAlex, Crossref, and Semantic Scholar if available.
- Build a candidate pool of up to {CANDIDATE_POOL_SIZE} papers.
- Deduplicate by DOI, arXiv ID, OpenAlex ID, and normalized title.

Filter:
- Score by topic fit 35, novelty 20, method quality 15, source/author signal 10, practical value 10, archive value 10.
- Select up to {FINAL_SELECTION_COUNT} papers.
- If fewer are worth reading, send fewer.

Output:
- Send a concise digest to {DELIVERY_TARGET}.
- Include reading-depth label for each paper.
- Do not modify any curated wiki or knowledge base.
- If archive is enabled, write raw paper notes only to {ARCHIVE_PATH}.
```

## Verification Checklist

- [ ] Research field, keywords, exclusions, and delivery target are configured.
- [ ] Candidates are deduplicated.
- [ ] Scores obey the 100-point rubric.
- [ ] Every paper has a stable link where possible and a reading-depth label.
- [ ] No private paths, chat IDs, API keys, or unrelated personal context are included.
- [ ] No curated wiki was modified unless explicitly requested.