Skill Pack
Generate and verify BibTeX entries from paper notes, writing `citations/ref.bib` and `citations/verified.jsonl`. **Trigger**: citation, BibTeX, ref.bib, verified.jsonl, references, 引用, 参考文献. **Use when**: 已有 `papers/paper_notes.jsonl`,需要为 prose/LaTeX 准备可追溯的引用(每条都有 url/date/title 验证记录)。 **Skip if**: 还没有 paper notes(或本次产出不需要引用/参考文献)。 **Network**: 自动验证通常需要网络;无网络时可先 record,再标注 needs manual verification。 **Guardrail**: 每个 BibTeX entry 必须对应一条 `citations/verified.jsonl` 记录;prose 只能使用已存在于 `citations/ref.bib` 的 citation keys。
Generate citations/ref.bib and ensure every entry has a traceable verification record in citations/verified.jsonl.
When network access is restricted, prefer a “record now, verify later” workflow: keep URLs/titles consistent and leave a clear verification note.
papers/paper_notes.jsonlcitations/ref.bibcitations/verified.jsonlbibkey, title, url, year, authors from papers/paper_notes.jsonl.citations/ref.bib:
arxiv_id / primary_category exist (eprint, archivePrefix, primaryClass).citations/verified.jsonl with at least:
bibkey, title, url, datenotes field (e.g., “auto-generated; needs manual verification”) and/or request human confirmation depending on your policy.verified.jsonl record.url/date/title in verification records.When network access is restricted, run in offline mode to produce auditable records now, then verify later.
verification_status: offline_generated--verify-onlyverification_statusoffline_generated: record was generated without network verification (needs later verification)verified_online: URL/title verified successfully by the scriptverify_failed: verification was attempted but failed (network error or title mismatch)needs_manual_verification: missing/ambiguous fields (e.g., empty url/title)uv run python .codex/skills/citation-verifier/scripts/run.py --helpuv run python .codex/skills/citation-verifier/scripts/run.py --workspace <workspace> --offline--offline: do not attempt network verification; write verification_status=offline_generated--verify-only: verify existing citations/verified.jsonl records (does not rewrite BibTeX)--verification-note <text>: stored in citations/verified.jsonl notesuv run python .codex/skills/citation-verifier/scripts/run.py --workspace <workspace> --offline --verification-note "auto-generated; needs manual verification"uv run python .codex/skills/citation-verifier/scripts/run.py --workspace <workspace> --verify-onlyurl, date, title.{} in titles to keep bibtex parsing robust.& % $ # _) and rewrites superscript patterns like X^N or X$^N$ as X\textsuperscript{N} to keep LaTeX builds stable.url fields (BibTeX styles wrap them with \url{...}); @misc uses howpublished=\url{...}.offline_generated as a to-do for human/network verification.bibkey / missing url in notesSymptom:
citations/ref.bib is missing entries, or verified.jsonl has empty url/title.Causes:
papers/paper_notes.jsonl lacks bibkey/url fields.Solutions:
bibkey and a canonical url.verification_status=offline_generatedSymptom:
Causes:
--offline was used, or network verification was unavailable.Solutions:
--verify-only to upgrade records.citations/verified.jsonl with notes.citations/verified.jsonl record.url, date, title.