citecheck-216ddf — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited citecheck-216ddf (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <img src="assets/banner.jpg" alt="CiteCheck Banner" width="100%"> </p>
<p align="center"> <a href="README.md">English</a> | <a href="README.zh.md">中文</a> </p>
A portable agent skill + standalone CLI for verifying academic paper citations.
Extract references from LaTeX or PDF, validate formatting, verify existence via Crossref / Semantic Scholar / OpenAlex / PubMed / arXiv / dblp / Google Scholar / WebSearch, and score thematic / semantic relevance using cited paper abstracts — all without requiring an external LLM API key when used as a skill.
<p align="center"> <img src="https://img.shields.io/badge/agents-Claude%20%7C%20Codex%20%7C%20OpenClaw%20%7C%20Hermes%20%7C%20Gemini%20%7C%20Cursor-blue" alt="Supported Agents"> <img src="https://img.shields.io/badge/skill%20standard-agentskills.io-green" alt="Agent Skills Standard"> <img src="https://img.shields.io/badge/PyPI-CiteCheck-orange?logo=pypi" alt="PyPI"> </p>
CiteCheck is primarily a cross-agent skill that helps AI coding assistants verify citations in academic papers. It is designed to work across Claude Code, Codex, OpenClaw, Hermes, Gemini CLI, Cursor, and more — following the agentskills.io open standard.
It is also available as a standalone Python CLI for users who prefer running it directly from the terminal.
Key Design Principle: When used as a skill, thematic and semantic matching are performed directly by the host agent's own reasoning. No OpenAI API key is required. The CLI handles structured tasks (parsing, format checks, API queries) while the agent handles interpretive tasks (relevance scoring, claim verification).
Install CiteCheck as a skill for your coding agent. The agent will automatically discover and invoke it when you ask to check citations.
Step 1 — Install the skill
🟢 Easiest way — just ask your agent:
>
`` Install this skill for me: https://github.com/color4-alt/CiteCheck ``>
Your agent will clone the repo into the correct skill directory automatically.
If you prefer to install manually:
| Agent | Install Path |
|---|---|
| Claude Code | ~/.claude/skills/citecheck |
| Codex CLI | ~/.codex/skills/citecheck |
| OpenClaw | ~/.openclaw/skills/citecheck |
| Hermes | ~/.hermes/skills/citecheck |
| Gemini CLI | ~/.gemini/skills/citecheck |
| Cursor | .cursor/rules/citecheck.mdc (copy skills/citecheck/SKILL.md) |
| GitHub Copilot | Append AGENTS.md to .github/copilot-instructions.md |
Step 2 — Invoke
Use natural language or a slash command with a file reference:
/citation-verification @main.tex
/citation-verification @paper.pdf
/citation-verification @path/to/latex_project/Or simply tell your agent:
Check the citations in this paper.
Verify the references in my LaTeX project.
Are these citations accurate and relevant?The agent will:
citecheck CLI to parse the paper and check formattingNo API key needed. The agent handles steps 3–4 with its built-in LLM capabilities.
For users who prefer the command line or need to integrate into CI pipelines.
Step 1 — Install the Python package
pip install citecheck-cliFor PDF support:
pip install citecheck-cli[pdf]Or install from source:
git clone https://github.com/color4-alt/CiteCheck.git
cd CiteCheck
pip install -e ".[pdf,dev]"Step 2 — Run
# Check a LaTeX project (preferred)
citecheck path/to/latex_project/
# Check a single .tex file
citecheck main.tex
# Check a PDF (fallback)
citecheck paper.pdf -o report.md
# Skip online verification (offline mode)
citecheck main.tex --skip-verification
# Use external LLM for matching (requires --api-key)
citecheck main.tex --api-key $OPENAI_API_KEYCLI Options
citecheck [-h] [-o OUTPUT] [--skip-verification] [--skip-semantic] [--api-key API_KEY] [-v] input
positional arguments:
input Path to paper (PDF, .tex, or directory with .tex + .bib)
options:
-o OUTPUT Output report path (default: citation_check_report.md)
--skip-verification Skip all online verification (Crossref / Semantic Scholar / OpenAlex / PubMed / arXiv / dblp / Google Scholar / WebSearch)
--skip-semantic Skip semantic matching
--api-key API_KEY Optional OpenAI key for LLM matching (falls back to heuristics)
-v, --verbose Verbose outputInput (LaTeX / PDF)
│
▼
┌─────────────────┐
│ 1. Parse Paper │ ← Extract refs, citations, body text
└────────┬────────┘
│
┌────┴────┐
▼ ▼
┌────────┐ ┌─────────────┐
│ LaTeX │ │ PDF Fallback │
│(.bib) │ │ (PyMuPDF) │
└────────┘ └─────────────┘
│
▼
┌─────────────────┐
│ 2. Format Check │ ← Validate BibTeX fields, types, venues
└────────┬────────┘
│
▼
┌─────────────────────┐
│ 3. Queryability │ ← Crossref → Semantic Scholar → OpenAlex → PubMed → arXiv → dblp → Google Scholar → WebSearch
└────────┬────────────┘
│
▼
┌─────────────────────┐
│ 4. Thematic Match │ ← Skill: agent reasoning | CLI: heuristic/LLM
└────────┬────────────┘
│
▼
┌─────────────────────┐
│ 5. Semantic Match │ ← Skill: agent reasoning | CLI: heuristic/LLM
└────────┬────────────┘
│
▼
┌─────────────────────┐
│ 6. Generate Report │ ← Markdown report with findings
└─────────────────────┘CiteCheck generates a Markdown report containing:
.bib never referenced by \cite{} in the textSee examples/example_report.md for a full sample.
CiteCheck/
├── skills/citecheck/SKILL.md ← Agent skill entry (cross-platform)
├── .claude-plugin/plugin.json ← Claude Code marketplace metadata
├── .codex-plugin/plugin.json ← Codex CLI marketplace metadata
├── CLAUDE.md ← Project context for Claude Code
├── AGENTS.md ← Project context for Codex / generic agents
├── GEMINI.md ← Project context for Gemini CLI
├── src/citecheck/ ← Python CLI source
│ ├── cli.py
│ ├── parser.py
│ ├── bibtex_parser.py
│ ├── pdf_parser.py
│ ├── verifier.py
│ ├── matcher.py
│ ├── models.py
│ └── reporter.py
├── references/ ← Skill reference docs
│ ├── format-check-rules.md
│ ├── api-reference.md
│ ├── thematic-scoring-prompt.md
│ └── semantic-matching-prompt.md
├── tests/
├── examples/
└── README.md / README.zh.md# Clone
git clone https://github.com/color4-alt/CiteCheck.git
cd CiteCheck
# Install in editable mode with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/ -v
# Format & lint
black src/ tests/
ruff check src/ tests/skills/citecheck/SKILL.md must remain agent-agnostic (no brand-specific language)src/citecheck/cli.py and the READMEFixed
arXiv:2004.05150 were incorrectly parsed as the publication year. Now prefers year at end of citation and skips arXiv ID patterns.Added
MIT License — see LICENSE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.