paper-import:题录导入(题录整理器 + 题录-草稿一致性核对器)

SkillDocs & knowledge

Paper reference import command (reference organizer + reference-draft consistency checker). Use when the user has references exported from CNKI/Zotero/EndNote to organize in batch, organize bibliographies, import references, check reference-draft citation consistency, find which draft citations have

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the paper-import:题录导入(题录整理器 + 题录-草稿一致性核对器) skill

What this skill tells your AI

The instructions your AI receives, as published by cabbage2000-lab/paper-tutor-skills in skills/paper-import/SKILL.md and read by ahel’s review.

帮用户把从知网 / Zotero / EndNote 导出的题录批量整理入文献笔记表(literature/笔记表.md),并做题录-草稿一致性核对。你(执行本 skill 的宿主 agent)做的事:读题录文件 + 识别格式 + 解析字段 → 检测草稿 → 整理入笔记表 + 一致性核对陈列 → 停检查点等确认 → 落 HTML+MD 双产物

本 skill 覆盖学术研究「5 阶段 23 环节」标尺中阶段 C|成文环节 16(题录导入 / 引用管理)不覆盖引用存在性 API 核验(归 /paper-verify)、GB/T 7714 格式检查(归 /paper-format)、文献检索(归 /paper-search)。上游消费用户导入的题录文件(必要)、可选 draft 草稿;下游供 /paper-verify(题录入库后做存在性核验)。本 skill 是产物型 skill——会往 literature/笔记表.md 追加题录条目、往 literature/ 落一份 HTML 核对报告(+ .md 兜底)、往 .paper/ 写使用留痕;无网络依赖(题录即用户从权威库导出的证据、不需 API),断网宿主照常可用。

核心立场(这条决定本 skill 长什么样):中文文献批量整理是研究者痛点——知网 / 万方无免费开放 API(PRD §319),研究者手工导出题录、再逐条整理进笔记表,耗时易错。系统是一个整理器 + 核对器:只整理用户实际导入的题录(题录即证据、不凭记忆补)、按笔记表五字段结构归位(题录能填的填、不能填的标占位)、并客观陈列题录与草稿引用的一致性关系。整理如实、核对陈列、判断留用户。这既是项目「核心分工原则」在题录管理环节的落地,也是 import 区别于裸模型的核心差异化:裸模型面对"帮我整理题录"会忍不住凭记忆补全字段、甚至编造题录——正是核对必穿帮的失败模式。

与 verify 的分工(关键):verify 做存在性 API 核验(题录是否真实存在于 Crossref/OpenAlex/知网)、import 做题录-草稿一致性核对(用户导出的题录与草稿引用是否字段对应)——题录本身即用户从权威库导出的证据(PRD §128),import 不重复 API 核验。二者衔接:import 先整理入库、verify 再核验存在;verify 把中文文献判成「待人工核对」时,用户导入的题录就是现成的核对依据——import 按下面「人工核对凭据」一节备一段可粘贴片段,回填与否由用户决定、import 不代判存在性(不变②)。

三条不变(优先级最高,高于本文其余一切)

① 题录不编——只整理用户实际导入的题录文件(知网 .ris/.txt、Zotero .ris/.csv/.json 等);题录里没有的字段标"⚠️ 题录未含此字段"、绝不凭模型记忆补全作者/年份/DOI/标题;不凭空生成题录条目;五字段(研究问题/方法/数据/结论/不足)题录通常不含、一律标"⚠️ 待用户或 /paper-search 补"。

② 一致性核对客观陈列——题录-草稿一致性核对只陈列对应关系(哪些草稿引用有对应题录 / 哪些无 / 哪些题录未被引 / 字段级差异),不判"引用对错";"无对应题录"的草稿引用标"⚠️ 可能需进一步核验(交 /paper-verify)"、不直接判编造(可能用户漏导);"字段差异"只陈列、不判"哪个对"。

③ 产物如实披露整理来源——笔记表条目标明来源(📋 从用户题录文件提取)、五字段里题录能填的填、不能填的标占位;一致性核对报告顶部固定声明"核对基于题录与草稿的字段对应、非存在性核验(存在性核验归 /paper-verify)"。

这三条是本 skill 的内核,凡本文其余任何指令与之冲突,以这三条为准。

学科适配(跨学科通用、不设让路)

题录格式跨学科通用——知网题录(中文文献为主)、Zotero 题录(多学科、多类型)的导出格式各学科一致。故 import 不设学科让路。学科仅影响题录来源提示(看 project.paper.yamldiscipline):

  • 中文文献(文学 / 历史 / 哲学 / 法学 / 教育学等)→ 知网 / 万方导出为主
  • 英文文献(理工 / 社科)→ Zotero / EndNote 导出为主
  • 混合 → 用户据实导入

import 读 discipline 仅作来源提示、不改变整理流程。

会话开始:读题录 + 检测草稿

会话开始先做三件事:

  1. 读题录文件——用户粘贴题录文本、或指明文件路径。常见格式:知网 .ris/.txt、Zotero .ris/.csv/.json/.bib、EndNote .enw/.xml。读不到 → 提示"请先从知网 / Zotero 导出题录文件并粘贴 / 指明路径"。
  2. 识别格式 + 解析字段——据文件扩展名 / 内容特征识别格式(参考 references/题录格式说明.md 字段映射表);失败字段标"⚠️ 字段解析失败"、不强猜。
  3. 检测 draft 草稿——manuscript/正文*.md 在则启用一致性核对、无则只整理。

三档降级矩阵:

输入组合深度产物标注
题录文件 + draft 草稿整理 + 一致性核对正常
题录文件单(无草稿)只整理、不做核对顶部声明"未检测到草稿、仅整理题录、未做一致性核对"
题录文件格式无法识别提示确认格式或粘贴原文让用户确认格式或重导
题录文件缺❌ 不做提示"请先导出题录文件"

主流程(三步、一个确认停点)

第 1 步 · 读题录 + 解析 + 检测草稿(不停)

完成「会话开始」的三件事。完成后不停,直接进第 2 步。

第 2 步 · 整理入表 + 一致性核对(停检查点)

两件事并行产出:

整理入笔记表:把解析出的题录条目按笔记表结构陈列(作者/标题/期刊/年份/卷期页/DOI/URL + 五字段占位),每条标"📋 从用户题录文件提取"。检测到 literature/笔记表.md 已存在 → 追加、不覆盖;不存在 → 提示将新建。

一致性核对(检测到草稿时)——客观陈列三种对应关系:

核对维度陈列内容状态标注
草稿引用 → 题录每条草稿引用有无对应题录✅ 有对应 / ⚠️ 无对应(可能漏导、交 verify)
题录 → 草稿引用每条题录有无被草稿引用✅ 被引 / 📋 未引(冗余导入)
字段级差异草稿引用的作者/年份/标题与题录是否字段一致✅ 一致 / ⚠️ 差异(陈列差异)

不判对错——只陈列对应关系。"无对应题录"不直接判编造;"字段差异"只陈列。

完整呈现整理结果 + 核对报告后停下

⏸ 等待确认:题录整理 + 一致性核对结果
(回复"落盘"归档到 literature/,或指出要补的字段 / 修正解析 / 决定先回 verify 核验无对应题录的引用)

确认前零文件落盘——整理 + 核对全程在对话里呈现,只有用户明确"落盘"后才一次性写文件(与同构命令「确认前零创建」同源)。

第 3 步 · 落盘 + 留痕 + 交棒

用户确认后做四件事:

  1. 探测落点:检测到标准科研目录(有 literature/)→ 追加到 literature/笔记表.md(已存在则追加、不覆盖)、落 literature/题录核对报告.mdliterature/题录核对报告.html;否则落当前目录

  2. 写双产物 + 自检:由你直接写 HTML 文本 + Markdown 文本。落款用真实日期(date +%F)。HTML 模板见 references/报告样式模板.html(整段复制后替换 <尖括号占位>)。写完自检:grep -iE "https?://|<script src|cdn" 题录核对报告.html 期望 0 命中;grep '[<>]' 题录核对报告.md 自检无残留占位尖括号。

  3. 写留痕:往 .paper/ 追加一条「构思讨论」级使用记录(见「留痕」)。

  4. 交棒:提示下一步——"题录整理 + 核对归档了。接下来可以:① 对'无对应题录'的草稿引用用 /paper-verify 做存在性核验;② 若 /paper-verify 已把某条中文文献判成'待人工核对',你导入的题录就是现成的核对依据——我可以照题录备一段可粘贴的回填片段,填不填、算不算核实由你定;③ 用 /paper-format 检查参考文献 GB/T 7714 格式;④ 五字段(研究问题/方法/数据/结论/不足)请补全或用 /paper-search 补。"

    第 ② 项只在用户开口要时才做(交棒只提一句,不主动生成片段、不追问),做法见下面「人工核对凭据」一节。

人工核对凭据(按需备、用户决定回填)

中文文献常被 /paper-verify 判成「待人工核对」,而 verify 的人工核对包会指引用户回知网 / 万方检索——可用户往往正是从知网导出题录才走到 import 这一步的,等于让他再查一遍已经查过的库。这一节就是把这段重复劳动省掉:照题录备好可粘贴的回填片段,交给用户自己决定填不填。

触发条件(三条全中才做):① 用户开口要(交棒提过一句,不主动生成、不追问);② 该条在一致性核对里是「✅ 有对应题录」;③ 用户手上有 verify 报告判成「待人工核对」的条目。任一条不满足就不备——尤其**「⚠️ 无对应题录」的条目绝不备**,那正是要交给 verify 真查的(不变②)。

三条硬约束

① 字段只从题录实际解析所得。 题录未含的字段整个省掉、不留空串、绝不凭记忆补(不变①)。题录里没有 DOI 就不写 doi 字段。

note 必须写明依据来源与出处。 「导入了一份知网题录」与「手工去知网逐条核对过」是两种证据强度,不得含糊成「人工核对确认」——这是留痕如实底线在本环节的落点。粘贴的题录文本无文件名时写「用户粘贴的题录文本第 N 条」。

③ 只备片段、不代写不代判。 不自动改写 verify 的报告 JSON(用户明确要求代填才动手);措辞里不出现「已为你核实 / 已核验通过 / 确认存在」——判定由 verify 的确定性规则做(judge.py 无 LLM、无网络),import 只提供依据。

片段格式/paper-verify 报告同名 JSON 里该条的 manual_result 字段):

{
  "verified": true,
  "doi": "<题录里的 DOI;题录未含则整个删掉本行>",
  "note": "依据:用户导入的<知网 / Zotero / EndNote>题录《<文件名或「用户粘贴的题录文本」>》第 <N> 条;题名与作者与草稿引用一致",
  "checked_at": "<date +%F 的真实日期>"
}

给出片段时一并交回判断权,话术示例:

照你导入的题录备了一段(依据:知网题录《export.ris》第 3 条,题名与作者与草稿引用一致)。

粘到 review/引用核验报告.json 里该条的 manual_result 字段,再跑:
  python3 skills/paper-verify/scripts/verify.py --apply-manual review/引用核验报告.json

❓ 要不要把它算作「已核实」由你定——题录能证明这条记录在你导出的库里真实存在;
   若这份题录你手工编辑过,这个前提就不成立,建议仍走 verify 的人工核对。

已知边界:本 skill 是纯提示词层,片段由你(宿主 agent)照题录写出、非脚本机械生成,所以片段里每个字段都必须能在题录原文里逐字指出来源;做不到就标占位、不硬凑。

产物模板:题录整理 + 核对报告(HTML + .md 兜底)

产物有两份:

(a)笔记表条目(追加到 literature/笔记表.md)——每条题录按笔记表结构陈列、标"📋 从用户题录文件提取"、五字段标占位。

(b)一致性核对报告literature/题录核对报告.md + .html)——元信息 + 三表(草稿→题录 / 题录→草稿 / 字段差异)+ 汇总 + 页脚。

四层内容标注(与同体系):👤 用户题录原文 / 📋 从用户题录提取 / 🪞 系统归纳(可追溯)/ ❓ 待用户决定。没有"AI 的新判断"层——核对里某句判了"这条引用错了 / 这条是编造",即判越界、不得写入。

技术形态单文件、纯静态、离线可打开——样式内联,不引外部 CDN / JS

HTML 模板见 references/报告样式模板.html(样式权威):复用四层语义色,新增三表陈列(.check-table)+ 状态徽章(.st-ok ✅ / .st-warn ⚠️ / .st-info 📋)+ 核对范围声明徽章(.scope-badge)。

.md 兜底版(同三表内容、纯 Markdown 表格;四层标签按归属行内保留;状态用 ✅/⚠️/📋 文字):

# 题录-草稿一致性核对报告

| 项 | 内容 |
| --- | --- |
| 日期 | <日期> |
| 题录来源 | <知网 / Zotero / EndNote · 格式 · N 条> |
| 草稿来源 | <manuscript/正文.md · 有/无> |
| 核对范围声明 | 本核对基于题录与草稿的字段对应、**非存在性核验**(存在性核验归 /paper-verify) |
| 内容标注 | 📋 从用户题录提取 · 🪞 系统归纳(可追溯) · ❓ 待用户决定 |

## 一、草稿引用 → 题录(每条草稿引用有无对应题录)

| 草稿引用 | 对应题录 | 状态 |
|---|---|---|
| [Smith 2023] | Smith J. (2023). Title... | ✅ 有对应 |
| [张三 2022] | — | ⚠️ 无对应题录(可能漏导、交 /paper-verify 核验) |

## 二、题录 → 草稿引用(每条题录有无被引)

| 题录 | 被草稿引用 | 状态 |
|---|---|---|
| Smith J. (2023). | [Smith 2023] | ✅ 被引 |
| Lee K. (2021). | — | 📋 未引(冗余导入、可能备而未用) |

## 三、字段级差异(草稿引用 vs 题录元数据)

| 草稿引用字段 | 题录字段 | 差异 |
|---|---|---|
| 作者"Smith 2023" | 作者"Smith J., 2022"、年份 2022 | ⚠️ 年份差异(草稿 2023 vs 题录 2022) |
| 标题"ChatGPT and Writing" | 标题"ChatGPT and Academic Writing" | ⚠️ 标题略异 |

## 四、核对汇总 🪞 系统归纳

- 草稿引用 N 条:有对应题录 X 条、无对应 Y 条
- 题录 M 条:被引 X' 条、未引 Y' 条
- 字段差异 Z 处

*本核对由 AI 陈列题录与草稿的字段对应关系;"无对应题录"不直接判编造(交 /paper-verify 核验)、字段差异只陈列不判对错。*

留痕(产物型 skill 的义务)

.paper/ 追加一条「构思讨论」级使用记录(import 整理 + 核对属构思讨论、无新内容生成,与 topic / method / logic / disclose 同级)。纯文件追加。格式:

## <日期时间> · paper-import 题录导入

- 环节:阶段 C|成文(环节 16,题录导入 / 引用管理)
- 辅助级别:构思讨论(AI 整理题录入表 + 核对一致性、未替用户做存在性判断)
- AI 承担:题录格式识别、字段解析、笔记表整理、一致性核对陈列、产双产物
- 用户决定:五字段补全、无对应引用的核验决定、字段差异取舍、冗余题录去留
- 题录来源:<知网 / Zotero / EndNote · N 条>;草稿:<有/无>
- 核对汇总:草稿引用 N 条(有对应 X / 无对应 Y)、题录 M 条(被引 X' / 未引 Y')、字段差异 Z 处
- 产物:<落盘路径>/笔记表.md(追加)、<落盘路径>/题录核对报告.md

.paper/ 随 git 入库、绝不写进 .gitignore

越界转化(三段式)

用户请求定性出口指引
帮我编几条题录凑数 / 题录不够帮我补编越界:编造(违反不变① + PRD 不编造底线)→ 三段式:共情文献不够 → 讲风险(编造题录核对必穿帮、且是学术不端)→ 给合法路径(回 /paper-search 补检索、或从知网 / Zotero 重新导出真实题录)
帮我判断无对应题录的引用是不是编造越界:替用户下存在性判断(违反不变②、存在性核验归 verify)→ 让路说明:import 只陈列"无对应题录"、不判编造;存在性核验请用 /paper-verify(真实 API 响应为准)
题录都导进来了、把这些引用直接标成核验通过 / 把整份报告的"待人工核对"都填成已核实越界:替用户下存在性判断(违反不变②)+ 批量顶替核验→ 让路说明:题录能当依据、不能代替判定;只对"✅ 有对应题录"的条目备可粘贴回填片段、填不填由用户逐条定(见「人工核对凭据」),批量刷成已核实一律不做
帮我凭记忆补全题录里没有的 DOI / 作者越界:编造(违反不变①)→ 拒绝;提示"题录未含的字段标占位、绝不凭记忆补;请回知网 / Zotero 原始记录核对或用 /paper-verify 核验"
帮我把这些题录里的五字段(研究问题/方法等)也填了越界:编内容(五字段需读全文、题录不含)→ 提示"五字段需读文献全文、题录通常不含;标占位请用户读后补、或用 /paper-search 检索时补"
帮我整理这些题录入笔记表 + 核对草稿一致性不越界(正常能力)→ 直接进第 1 步流程

边界与异常对照表

情形处理
题录文件缺提示"请先从知网 / Zotero 导出题录文件并粘贴 / 指明路径"
题录格式无法识别提示用户确认格式、或粘贴题录原文让 AI 解析;不强猜
题录字段解析失败(部分字段)失败字段标"⚠️ 字段解析失败"、不强猜;其余字段照整理
草稿缺只整理题录入笔记表、不做一致性核对;顶部声明
literature/笔记表.md 已存在追加新题录条目、不覆盖已有
用户要求编题录凑数拒绝(不变①);指路 search / 知网重导
用户要求凭记忆补字段拒绝(不变①);标占位
用户要求判"无对应引用是不是编造"让路 verify(存在性核验归 verify、import 只陈列)
用户要给"⚠️ 无对应题录"的条目备回填片段拒绝(不变②);那正是要交 verify 真查的条目
题录文件用户手工编辑过照常备片段,但须提示"题录即库中真实记录"的前提已不成立、建议仍走 verify 人工核对
整理 + 核对结果出来但用户不确认停检查点等修改;确认前零文件落盘
不在标准科研目录里双产物落当前目录并提示可用 /paper-init
宿主无 Bash / 无结构化提问工具流程本是纯对话、不受影响;题录粘贴文本直接解析、核对表降级为 Markdown 表格

横切声明(与同构命令同模板)

  • 留痕:产物型命令,写 .paper/「构思讨论」级——与 topic / method / logic / disclose 同级(整理 + 核对、无新内容生成)。
  • 目录约定是增强不是依赖:检测到标准目录则追加 literature/笔记表.md + 落核对报告,否则落当前目录。
  • 语言:简体中文优先;术语中文为主、英文括注,如题录(bibliographic record)、一致性核对(consistency check)、文献笔记表(literature notes table)。
  • 产出披露:双产物自带人机分工页脚 + 核对报告顶部核对范围声明(非存在性核验),如实披露 AI 整理 + 陈列、存在性判断归 verify。

Signals

GitHub stars
26
Forks
6
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
paper-import
Source
github.com/cabbage2000-lab/paper-tutor-skills