Skip to content
Back to skills

Verify Refs

ASecurity

Use when checking BibTeX reference records for missing fields, malformed identifiers, duplicate keys, or metadata mismatches before submission.

  • 41 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 3, 2026
ai-agentspythonshellbash

Security analysis

A100/100

Scanned September 24, 2026

npx -y skills add yha9806/academic-writing-toolkit --skill verify-refs --agent claude-code

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.

Security grade badge for Verify Refs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/yha9806-verify-refs/badge)](https://www.skillsdirectory.com/skills/yha9806-verify-refs)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.