CommunityCodierung & Entwicklunggithub.com

GreenWich-art/agent-skills

Normierung von Referenzen nach GB/T 7714-2015 sowie batchweise Überprüfung der Erreichbarkeit von URL/DOI/PMID/PMC-Links und Erkennung von „falschen Fehlern“.

Was ist agent-skills?

Diese Fähigkeit unterstützt Entwickler und Forscher bei der automatisierten Formatierung und Validierung von Literaturreferenzen nach dem chinesischen Standard GB/T 7714-2015. Sie eignet sich besonders für Situationen, in denen Aufsätze, Übersichtsarbeiten oder Hausarbeiten abgegeben werden müssen und die Referenzen korrekt formatiert sein sollen. Das enthaltene Skript `scripts/check_refs.py` kann URLs, DOIs, PMIDs und PMC-IDs parallel überprüfen und unterscheidet zuverlässig zwischen echten Fehlern und Zugriffsverweigerungen durch Anti-Scraping-Mechanismen (z. B. 403, 412, 429). Es arbeitet plattformunabhängig mit curl und Python und liefert einen Exit-Code, der anzeigt, ob defekte Links vorhanden sind. Die Fähigkeit umfasst außerdem eine detaillierte Checkliste für häufige Fehler, eine methodische Anleitung zur fehlertoleranten Verarbeitung (Vermeidung von Zeichenfehlern beim Schreiben) sowie Hinweise zur Anpassung von Zotero-CSL-Dateien. Sie ist ideal für alle, die wissenschaftliche Arbeiten verfassen, Literaturlisten prüfen oder große Mengen von Links batchweise validieren müssen.

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

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Normierung von Referenzen nach GB/T 7714-2015 und Link-Überprüfung

1. Warum sich diese Fähigkeit als separates Skill lohnt

Diese Arbeit hat drei Merkmale: viele Detailregeln (Kennzeichnung der Literaturart, Zitierdatum bei elektronischen Ressourcen, unterschiedliche Schreibweisen bei mehr als drei Autoren), sie ist fehleranfällig und meldet keine Fehler (ein Fehler in Dutzenden von Zeichenfolgen ist schwer zu erkennen) und einmal falsch geschrieben, ist er mit bloßem Auge kaum zu finden. Daher liegt der Fokus nicht auf „Regeln auswendig lernen“, sondern auf dem Prozess programmatisches Schreiben + Rückleseprüfung + Link-Überprüfung.

2. Wichtige Punkte der GB/T 7714-2015-Normierung

Grundstruktur

[Nummer] Hauptverantwortlicher. Titel[Kennung für Literaturart/Träger]. Quelle, Jahr, Band(Heft): Seitenzahlen.

Häufige Kennungen für Literaturarten

ArtKennungElektronische Schreibweise
Allgemeines Buch[M][M/OL]
Zeitschriftenartikel[J][J/OL]
Zeitungsartikel[N][N/OL]
Dissertation[D][D/OL]
Bericht[R][R/OL]
Standard[S]—
Elektronische Bekanntmachung[EB/OL]—
Patent[P][P/OL]

Drei besonders zu beachtende Regeln

  1. Bei elektronischen Ressourcen müssen Zitierdatum und Zugriffspfad angegeben werden – gemäß Abschnitt 4.9 der GB/T 7714-2015. Für Literatur mit URL/DOI lautet die korrekte Schreibweise: [J/OL]. Zeitschriftenname, Jahr, Band(Heft): Seitenzahlen[Zitierdatum]. https://.... Umgekehrt: Wenn die Zielzeitschrift/Hochschule dies nicht verlangt, kann das Zitierdatum weggelassen werden, aber man sollte wissen, dass man hier eine Abwägung trifft.
  2. Bei mehr als drei Verantwortlichen schreiben Sie bei chinesischen Quellen „Hauptverantwortlicher et al.“, bei westlichen Quellen „Hauptverantwortlicher, et al.“. Der nationale Standard erlaubt die vollständige Auflistung, aber innerhalb einer Literaturstelle muss konsistent gearbeitet werden.
  3. Bei westlichen Autoren steht der Nachname vorne, der Vorname wird abgekürzt: Büller HR, Verhamme P, Weitz JI. Übernehmen Sie nicht einfach Buller HR aus PubMed und lassen Sie die diakritischen Zeichen weg, und schreiben Sie auch nicht HR Büller.

3. Link-Überprüfung (Kernwerkzeug)

# Pro Zeile: URL / DOI / PMID / PMC-Nummer, das Skript erkennt den Typ automatisch
python3 scripts/check_refs.py refs.txt

# JSON-Eingabe, unterstützt explizite Typangabe
python3 scripts/check_refs.py refs.json --timeout 20 --workers 8

Exit-Code: 0 = Keine eindeutig defekten Einträge; 1 = Es gibt defekte Einträge.

Unterstützte Eingabeformen:

EingabeErgebnis der Analyse
10.1056/NEJMoa2513880 oder https://doi.org/...DOI-Link
25482425 (reine Zahl)PubMed-Link
PMC2909362PMC-Link
https://... oder bloße DomainDirekter Zugriff

Bewertungslogik (wichtig)

Das Skript teilt die Ergebnisse in drei Kategorien ein. Werten Sie nicht jeden Nicht-200-Code sofort als Fehler:

KategorieBedingungBehandlung
Direkt erreichbar200 / 203 / 30xBestanden
Mutmaßlich Anti-Scraping403 / 412 / 429 / 503 / 000 (keine fatalen Fehler)Mit Browser überprüfen, nicht der Link ist falsch
Mutmaßlich defektcurl meldet eindeutig could not resolve host oder andere DNS-/ZertifikatsfehlerLink nach Bestätigung ersetzen oder löschen

Bereits getestete Fallstricke:

  • PubMed gibt 203 zurück, das ist kein Fehler. Früher wurde 203 fälschlich als Fehler gewertet, was zu unnötigen Überprüfungen führte.
  • curl -s unterdrückt DNS-Fehler stillschweigend, sodass beide völlig unterschiedlichen Fälle – „Domain existiert nicht“ und „Netzwerk blockiert“ – als 000 angezeigt werden. Das Skript verwendet jetzt -sS und unterscheidet anhand von stderr.

Zugriffseigenschaften häufiger Websites

WebsiteEigenschaft
nhc.gov.cn (Nationale Gesundheitskommission)curl gibt oft 412 Anti-Scraping zurück, Browser kann normal öffnen
Wanfang med.-DomainHat Anti-Scraping, verwenden Sie stattdessen d.wanfangdata.com.cn/periodical/<xxx>
CNKI (China National Knowledge Infrastructure)Bietet meist keine direkten Links, wenn der Artikel auffindbar ist, reicht das, URL nicht erzwingen
NEJM / LancetPaywall, curl gibt oft 403 zurück; DOI reicht aus

4. Schreibverfahren: Vermeidung von Zeichenfehlern

Dies ist der am leichtesten zu übersehende und zugleich schädlichste Punkt dieser Fähigkeit.

Verwenden Sie keine langen Heredocs, um große Literaturlisten direkt in docx / json / py zu schreiben. In der Praxis kommt es häufig zu Zeichenfehlern: Das DOI-Präfix wird falsch geschrieben (z. B. 10.7723 als 10.19546), Autorennamen enthalten Fehler oder politische Dokumentennummern sind verstümmelt, und der Schreibvorgang meldet keinen Fehler.

Richtiger Ansatz:

# 1) Literaturliste als Python-Datenstruktur erstellen und programmatisch als Ganzes schreiben
refs = [
    {"id": 1, "text": "Büller HR, ...", "url": "https://...", "doi": "10.1056/..."},
    ...
]

# 2) Prüfliste definieren
must_have = ["25482425", "10.1056/NEJMoa2513880", "国卫医发", "Büller"]
bads      = ["10.7723", "理相指南", "ERUOIMMUON"]

# 3) Nach dem Schreiben sofort zurücklesen und prüfen
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 enthält die wichtigsten Kennungen (PMID, DOI, Dokumentennummer, schwer zu schreibende Personen-/Ortsnamen), bads enthält bekannte falsche Schreibweisen. Beide sind erforderlich: Ersteres verhindert das Fehlen von Inhalten, Letzteres verhindert das Einfügen fehlerhafter Inhalte.

5. Häufige Fehlerliste (einmal durchgehen)

FehlerBeispielRichtige Schreibweise
Zusammenführen von Zahlen aus unterschiedlichen Kontexten„2-4% (RCT)“ und „2-5% (real-world)“ zu einer Zahl zusammenfassenKontext-Unterschiede beibehalten, getrennt schreiben
Band/Heft/Seiten falschBüller als 2009;361:1722Tatsächlich NEJM 2015;372:232-240
Sekundärzitat als PrimärzitatZahlen aus einem Übersichtsartikel übernommen, aber die ursprüngliche RCT zitiertOriginalquelle aufsuchen oder explizit „zitiert nach“ schreiben
Keine Quelle für politische DokumenteIm Text 5 Dokumente zitiert, aber keine einzige in der ReferenzlisteJedes im Text zitierte Dokument/bericht muss in der Liste erscheinen
Titel der Referenz stimmt nicht mit dem tatsächlichen Artikel übereinDer Titel von Referenz [1] und der tatsächliche Artikel sind unterschiedlichJeden Titel einzeln überprüfen
Tippfehler bei EigennamenEUROIMMUN als ERUOIMMUON geschriebenJeden Eintrag visuell mit Eigennamen abgleichen

6. Bezug zu Zotero / CSL

Wenn Sie den Zitierstil von Zotero anpassen müssen, ist es kontrollierbarer, die .csl-Datei direkt zu bearbeiten, anstatt Plugins zu verwenden. Beispielsweise fügt der numerische Stil GB/T 7714-2015 am Ende jeder Referenz ein [Zitierdatum] hinzu. Wenn Sie dies global entfernen möchten, suchen Sie das Makro accessed-date und leeren Sie den Makro-Rumpf zu <group/> (eine Änderung). Aktualisieren Sie gleichzeitig id/title/updated, um Konflikte mit dem offiziellen Stil zu vermeiden.

Aber seien Sie sich bewusst: GB/T 7714-2015 verlangt für elektronische Ressourcen die Angabe des Zitierdatums (Abschnitt 4.9). Das Entfernen kann bei formellen Einreichungen für Zeitschriften/Dissertationen gegen die Norm verstoßen. Dies ist eine Abwägung des Benutzers, die klar kommuniziert werden sollte, anstatt sie stillschweigend zu entfernen.

Eine verbleibende Zugriffs-Fallback im Makro issued-year ist sinnvoll (wenn issued fehlt, wird das Zugriffsjahr als Platzhalter verwendet). Löschen Sie diese nicht.

7. Checkliste

  • Die Kennung der Literaturart jeder Referenz und ob /OL konsistent ist
  • Die Behandlung von mehr als 3 Autoren ist durchgehend einheitlich
  • Westliche Personennamen: Nachname vorne, Vorname abgekürzt; diakritische Zeichen nicht verloren gegangen
  • Elektronische Ressourcen haben Zitierdatum (außer bei explizitem Verzicht) und Zugriffspfad
  • DOI-Präfix korrekt, keine Halb-/Vollbreiten-Vermischung
  • Links wurden mit check_refs.py getestet; „mutmaßlich Anti-Scraping“-Einträge mit Browser überprüft
  • Rückleseprüfung mit must_have / bads nach dem Schreiben bestanden
  • Jede im Text zitierte Referenz erscheint in der Literaturliste und umgekehrt

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.

Verwandte Skills