Installs into .claude/skills of the current project.
Are you the author of Verify Refs?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/yha9806-verify-refs)
---
name: verify-refs
description: Use when checking BibTeX reference records for missing fields, malformed identifiers, duplicate keys, or metadata mismatches before submission.
allowed-tools: Read, Glob, Bash, WebFetch
---
# /verify-refs — Reference Authenticity Check
## Running Python helpers
Choose the interpreter before running the examples. For a globally installed
copy, use the private runtime recorded by its installer. In a checkout or linked
workspace, use `AWT_PYTHON` when set, otherwise the toolkit's `.venv` (follow the
skill directory link back to the toolkit): `Scripts/python.exe` on Windows,
`bin/python` on macOS/Linux. Without that environment, check that `python`
(Windows) or `python3` (macOS/Linux) actually runs and has the helper's dependencies.
Replace the example's `python3` with that executable. In PowerShell, prefix a
quoted executable with `&`; keep commands on one line and quote file paths.
## Purpose
Check reference records for missing required fields, duplicate keys, malformed DOI values, malformed arXiv identifiers, and invalid URLs. The default mode is offline and deterministic.
## Trigger Words
This skill activates on: `verify refs`, `verify references`, `reference check`, `/verify-refs`.
## Workflow
1. Identify the target Markdown or `.bib` file. If the user does not specify one, ask.
2. Run:
`python3 .claude/skills/verify-refs/scripts/verify-refs.py --bib "{path}" --json`
3. Report issues by entry key and severity.
4. For explicit metadata verification, run:
`python3 .claude/skills/verify-refs/scripts/verify-refs.py --bib "{path}" --json --online`
5. Use CrossRef for DOI metadata, Semantic Scholar as a secondary metadata source, and arXiv for preprint identifiers. Online checks must be explicit because they depend on network availability.
6. In tests or offline review, use `--metadata-dir "{dir}"` to read CrossRef JSON, Semantic Scholar JSON, and arXiv Atom fixtures instead of live network calls.
7. For a LaTeX manuscript, reconcile its citations with the `.bib` file both ways:
`python3 .claude/skills/verify-refs/scripts/reconcile-cites.py --bib "{bib}" --root "{repo}" --json "{main.tex}" ...`
It follows `\input`, `\include` and `\subfile`, reports keys cited but not defined and entries defined but cited
nowhere, and treats `\nocite{*}` as citing everything. Exit 2 when nothing could be read.
## Constraints
1. Do not import project-specific reference rules from other repositories.
2. Do not auto-fix reference records without user approval.
3. Keep output plain Markdown with no emoji.
4. Treat CrossRef, Semantic Scholar, and arXiv as verification sources, not as citation style authorities.