SKILL.md
---
name: verify-citations
description: Verify citations and references in a document, report, or article against real sources. Use when the user asks to fact-check, verify references, check citations, or validate evidence in research reports, tender responses, whitepapers, or academic writing.
category: document-verification
risk: critical
source: community
source_repo: Sketchjar/stipple-agent-skills
source_type: community
date_added: "2026-08-31"
author: Sketchjar
tags: [document-verification, fact-checking, stipple, authenticity]
tools: [claude, cursor, gemini, codex]
license: "Apache-2.0"
license_source: "https://github.com/Sketchjar/stipple-agent-skills/blob/main/LICENSE"
---
# Citation Verification
Verify that citations in a document actually resolve and support the claims they're attached to. Uses the Stipple API (free anonymous tier, no signup) for citation resolution, arithmetic recomputation, and unsupported-claim detection.
## When to use
- Before submitting or publishing a research report, tender response, or whitepaper
- Reviewing an LLM-generated document (LLM citations are plausibly-formatted and frequently wrong)
- Due diligence on third-party reports
- Academic reference checking
## Instructions
1. **Get the document.** Ask the user for a URL to the report, or a local file path (PDF, DOCX, Markdown). If the user pastes text directly, skip to step 3 with `text` input.
2. **Run verification.** POST the document to Stipple's citation verification endpoint:
```bash
curl -X POST https://www.stipple.sh/v1/verify-references \
-F "file=@report.pdf" \
-H "Authorization: Bearer $STIPPLE_API_KEY"
```
The anonymous free tier works without the Authorization header. Deep mode (`?deep=true`) costs more credits but cross-checks citations against live web sources.
3. **Interpret the response.** The result includes:
- `verification_coverage` — percentage of claims verified (e.g. "78%")
- `citations[]` — per-citation status: resolved and matching, resolved but mismatched, or unresolvable, with the issue explained
- `arithmetic[]` — recomputed figures vs stated figures (flags decimal shifts, wrong sums)
- `unsupported_claims[]` — claims with no citation at all
4. **Report honestly.** Present results as *verification coverage*, not a truth verdict:
- "21/27 citations resolve and match"
- "[x] FY24+FY25 revenue stated $4.2m, actual $3.7m"
- "[!] 'industry-leading accuracy' — no source in document"
- Unverified ≠ false. The goal is telling the user *which* claims are backed and which aren't.
5. **Offer remediation.** For failed citations, suggest: fixing the decimal shift, finding the correct source, or removing the unsupported claim.
## Output format
```
Verification coverage: 78%
Citations: 21/27 resolve and match
[+] "ABS unemployment 4.1% April 2026" — matches abs.gov.au
[-] "AI adoption grew 340% in 2025" — source states 34%, decimal shifted
Arithmetic: 12/13 recompute correctly
[x] FY24 + FY25 revenue — stated $4.2m, actual $3.7m
Unsupported claims: 2
[!] "industry-leading accuracy" — no source in document
```
## Limitations and Safety
- Uploading a report or manuscript sends its contents to a hosted third party; deep
mode also retrieves external sources. Obtain approval before transmission, remove
confidential or personal material, and verify current retention and deletion terms.
- Resolution and textual support do not establish that a source is authoritative or
that a claim is true. Inspect consequential citations in the primary source and
preserve page, edition, date, and access context.
- Treat unresolved or unsupported claims as review items, not proof of fabrication,
and keep a human reviewer responsible for publication or academic decisions.
## Notes
- Works on PDF, DOCX, MD, TXT. For pasted text, POST JSON: `{"text": "..."}`
- Deep verification (`deep=true`) is slower and costs more credits but resolves citations against live sources
- Pairs well with `verify-document` (is the source doc itself authentic?) run first
- Anonymous free tier: shared weekly allowance. Get a free key at https://www.stipple.sh for your own metering
When Claude will use it
Use when the user asks to fact-check, verify references, check citations, or validate evidence in research reports, tender responses, whitepapers, or academic writing.