Communityコーディング&開発github.com

参考文献 GB/T 7714-2015 规范化与链接核验

参考文献的 GB/T 7714-2015 著录规范化,以及 URL / DOI / PMID / PMC 链接的可访问性批量核验与「假失效」识别。

T 7714-2015 规范化与链接核验 とは?

このスキルは、学術論文やレポートにおける参考文献の GB/T 7714-2015 形式への統一と、記載されたリンク(URL、DOI、PMID、PMC)の一括アクセス確認を自動化します。特に、単に 404 や 403 といった HTTP ステータスコードだけで「リンク切れ」と判断せず、アクセス拒否(反ボット対策など)による「疑似切れ」と真の切れを区別する点が優れています。`scripts/check_refs.py` というスクリプトが含まれており、テキストファイルまたは JSON で入力を受け付け、並列処理で高速に検証できます。また、CSS による文字化けや、著者名のスペルミス、巻号ページの誤りなど、人間が見落としがちなフォーマット上の細かな誤りをチェックするためのテクニック(`must_have` / `bads` リストによるプログラム的な回読検証)も提供します。Zotero の CSL スタイルカスタマイズについても触れており、参考文献管理ツールとの連携を考慮した実用的なスキルです。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/GreenWich-art/agent-skills/tree/HEAD/skills/gbt7714-reference-check

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

T 7714-2015 规范化与链接核验 は何をしますか?

一、为什么值得单独做成一个 skill

这项工作有三个特征:规则细节多(文献类型标识、电子文献的引用日期、三位作者以上的写法各不相同)、容易出错且不报错(几十个字符串里错一个很难被发现),以及一次写错就很难肉眼发现。所以重点不是"记住规则",而是程序化写入 + 回读校验 + 链接核验这套流程。

二、GB/T 7714-2015 著录要点

基本结构

[序号] 主要责任者. 题名[文献类型标识/载体标识]. 出处, 年, 卷(期): 起止页码.

常见类型标识

类型标识电子化写法
普通图书[M][M/OL]
期刊文章[J][J/OL]
报纸文章[N][N/OL]
学位论文[D][D/OL]
报告[R][R/OL]
标准[S]—
电子公告[EB/OL]—
专利[P][P/OL]

必须注意的三条

  1. 电子文献必须著录引用日期和访问路径 —— GB/T 7714-2015 第 4.9 条的要求。 带 URL / DOI 的文献,规范写法应当是 [J/OL]. 期刊名, 年, 卷(期): 页码[引用日期]. https://...。 反过来,如果目标期刊/学校不要求,去掉引用日期是可以的,但要知道这是自己在做取舍。
  2. 责任者超过 3 个时,中文文献写「主要责任者, 等」,西文写「主责任者, et al」。 国标允许全部列出,但同一篇文献里要前后统一。
  3. 西文作者姓在前、名缩写在后:Büller HR, Verhamme P, Weitz JI。 不要把 PubMed 的 Buller HR 直接搬过来丢了变音字母,也不要写成 HR Büller。

三、链接核验(核心工具)

# 每行一个:URL / DOI / PMID / PMC 编号,脚本自动判别类型
python3 scripts/check_refs.py refs.txt

# JSON 输入,支持显式指定类型
python3 scripts/check_refs.py refs.json --timeout 20 --workers 8

退出码:0 = 无明确失效项;1 = 存在失效项。

支持的输入形态:

输入解析结果
10.1056/NEJMoa2513880 或 https://doi.org/...DOI 链接
25482425(纯数字)PubMed 链接
PMC2909362PMC 链接
https://... 或裸域名原样访问

判定逻辑(重要)

脚本把结果分三桶,不要一看到非 200 就判失效:

桶条件处理
可直接访问200 / 203 / 30x通过
疑似反爬403 / 412 / 429 / 503 / 000(无非致命错误)改用浏览器复核,不是链接错了
疑似失效curl 明确报 could not resolve host 等 DNS/证书错误确认后替换或删除该链接

已实测的两个坑:

  • PubMed 返回 203,不是失败。曾经把 203 当成失效,白白浪费一轮排查
  • curl -s 会把 DNS 错误静默掉,导致"域名不存在"和"网络被墙"这两种完全不同的 情况都显示 000。脚本已改用 -sS,靠 stderr 区分

常见站点的访问特性

站点特征
nhc.gov.cn(国家卫健委)curl 常返回 412 反爬,浏览器能正常打开
万方 med. 域有反爬,可改用 d.wanfangdata.com.cn/periodical/<xxx> 形式访问
知网一般不提供直链,文献能检索到即可,不必强求 URL
NEJM / Lancet付费墙,curl 常返回 403;有 DOI 就够了

四、写入工艺:防止字符错乱

这是本 skill 最容易被忽视、也最容易造成实际伤害的一点。

不要用长 Heredoc 直接往 docx / json / py 里写长列表文献。 实践中多次出现字符错乱:DOI 前缀写错(10.7723 误为 10.19546 之类)、 作者名错字、政策文号乱码,且写入过程不报错。

正确做法:

# 1) 把文献列表构造成 Python 数据结构,程序化整块写入
refs = [
    {"id": 1, "text": "Büller HR, ...", "url": "https://...", "doi": "10.1056/..."},
    ...
]

# 2) 定义校验清单
must_have = ["25482425", "10.1056/NEJMoa2513880", "国卫医发", "Büller"]
bads      = ["10.7723", "理相指南", "ERUOIMMUON"]

# 3) 写完后立刻回读校验
content = read_back()
missing = [s for s in must_have if s not in content]
leaked  = [s for s in bads if s in content]
assert not missing and not leaked, (missing, leaked)

must_have 放关键标识(PMID、DOI、文号、难写的人名地名), bads 放已知的错误写法。两者都要有:前者防丢内容,后者防产生错误内容。

五、常见错误清单(照着查一遍)

错误例子正确写法
合并不同口径的数值把"2-4%(RCT)"和"2-5%(真实世界)"合并成一个数保留口径差异,分开写
卷期页写错Büller 写成 2009;361:1722实际为 NEJM 2015;372:232-240
转引当成原引引了一篇二手综述里的数字,却标注原始 RCT追到原文,或明确写"转引自"
政策文件无出处正文引了 5 份文件,参考文献表里一条没有正文引用的每份政策/报告都要入表
著录标题与实际不符文献[1]标题和实际发表的文章不是一篇逐条核对标题
专有名词拼写错误EUROIMMUN 写成 ERUOIMMUON逐条目视核对专有名词

六、Zotero / CSL 相关

需要调整 Zotero 引用样式时,直接改 .csl 文件比用插件配置更可控。 例如 GB/T 7714-2015 numeric 样式每条文献末尾都带 [引用日期], 找出 accessed-date 宏把宏体清空为 <group/> 即可全站失效(一处改动)。 同时改 id / title / updated 避免与官方样式冲突。

但要提醒自己:GB/T 7714-2015 对电子文献要求著录引用日期(第 4.9 条), 去掉之后对正式投稿的期刊 / 学位论文可能不符合规范。这是用户自己的权衡, 应当把这个取舍明确告知,而不是默默去掉。

issued-year 宏里保留的一处 accessed 兜底是合理的(issued 缺失时用访问年份占位), 不要一起删掉。

七、检查清单

  • 每条文献的类型标识与是否 /OL 一致
  • 超过 3 位作者的处理方式前后统一
  • 西文人名姓在前、名缩写;变音字母没有丢
  • 电子文献有引用日期(除非明确决定不要)与访问路径
  • DOI 前缀正确、无半角/全角混用
  • 链接已跑 check_refs.py,"疑似反爬"项用浏览器复核过
  • 写入后 must_have / bads 回读校验通过
  • 正文引用的每条都在文献表中出现,反之亦然

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

GreenWich-art/agent-skills

桌面 GUI 操作的统一编排入口。当用户要求操作一个只有图形界面的应用(改设置、点按钮、填表单、操作无 CLI/连接器的软件)时使用此 skill。提供四级能力:①路由决策——判断任务该走连接器、浏览器控制、Office 技能、命令行还是 computer use 桌面接管;②授权引导——检测并引导用户完成 macOS 辅助功能/屏幕录制权限授权,处理授权不生效等常见坑;③任务派发与验证——按目标/边界/失败处理三段式描述派发 GUI 任务,并以最终截图为准确认结果;④AX 兜底层——内置 axctl 工具做元素级无障碍读写(AXPress 语义点击,不碰鼠标不抢焦点),适用于 computer use 不可用或轻量场景。台前调度全场景实测(macOS 15 + 27.0.1 复检)。触发词:操控电脑、操作某个软件、点某个按钮、GUI 操作、电脑设置。

GreenWich-art/agent-skills

按学术论文规范(小三黑体一级标题/四号黑体二级/小四正文宋体1.5倍行距/三线表/中西文混排Times New Roman/统计量斜体) 批量重整 Markdown 或已有 docx 的格式。用户说"按学术格式排版""三线表""小三号黑体标题""1.5倍行距" "数字英文用Times New Roman""P值斜体"时使用。基于 python-docx 直接生成 docx,不走逐段插入。 不适用:高校课程论文/作业的字体字号约定(标准不同);党政机关公文国标 GB/T 9704 (又是另一套标准)。三套标准不可混用。

GreenWich-art/agent-skills

Local OCR using the macOS Vision framework. Triggers: OCR, 识别图片文字, 提取截图内容, 扫描件转文字, 图片转文字, 扫描版PDF转文字, read text from image/screenshot/photo/scanned PDF. Local-first and offline; prefer it over cloud OCR whenever data is sensitive or the machine is offline.

GreenWich-art/agent-skills

Download open-access biomedical article PDFs from PMC with offline Proof-of-Work solving. Triggers: 下载文献PDF, PMC PDF, 403/404 on PDF link, Preparing to download, reCAPTCHA page, OA full text, supplementary files, download paper PDF.

関連スキル