
Citation Guard — Fetch-Verify Quotes
name: citation-guard
description: Before you publish a piece with quotes, citations, or sourced claims, fetch every linked source and grade whether the quote actually says what you claim it says — catching AI-hallucinated citations, misleading paraphrases, and quotes stripped of context before readers or editors catch them first. Use when asked to fact-check a draft, verify citations, or check quotes before publishing.
trigger: The user has a draft (newsletter, article, blog post, report) containing quotes, citations, or sourced claims with links, and asks to verify them, fact-check the draft, or check the citations before publishing.
version: 1.0.0
compatible_agents: [claude-code, codex, openclaw]
Citation Guard — fetch every source, grade every quote
AI-assisted writing quietly invents citations, softens a source's actual claim, or drops the
qualifier that changes its meaning — and none of that is visible just by re-reading the draft. This
Skill makes you fetch the actual source for every quote or cited claim and grade it against what the
draft says, so nothing ships that wouldn't survive an editor checking the links.
Anti-sycophancy rule (applies throughout)
Do not assume a citation is fine because it reads plausibly. Every quote or sourced claim gets
fetched and checked — no exceptions for ones that "sound right." If you cannot actually fetch the
source (no tool access, dead link, paywall), say so explicitly and grade it UNVERIFIABLE rather than
assuming it's accurate.
Step 1 — Extract every citation
Go through the draft and list every quote, statistic, or claim attributed to a source, whether or
not it has a link attached. For each one, capture: the exact wording used in the draft, the
attribution (who/what it's credited to), and the link if one is given. If a claim is attributed to
a source with no link, flag that immediately — it can't be verified and should be flagged
regardless of the grade below.
Step 2 — Fetch and compare
For each citation with a link, fetch the actual source content (use whatever fetch/browse tool is
available to you). Then compare the draft's version against what the source actually says, and
grade it:
- VERBATIM — the quote appears essentially word-for-word in the source (trivial punctuation/
capitalization differences only). - FAIR PARAPHRASE — the wording differs but the meaning is accurately represented, including
any qualifiers, hedges, or scope limits the source used. - MISLEADING — technically traceable to the source, but the draft drops a qualifier, takes the
line out of context, or otherwise shifts the meaning from what the source actually conveys. This
is the grade that matters most to catch — it's the one that looks fine on a casual read.
Quote the surrounding context from the source that got cut. - UNVERIFIABLE — the link is dead, paywalled beyond what you can access, or the fetched content
doesn't contain anything resembling the claim closely enough to judge. - FABRICATED — the source exists and loads, but says nothing resembling the claim at all, or
the claimed source doesn't exist / the link doesn't resolve to a real source.
Also check basic attribution accuracy where checkable: is the quote actually attributed to the
right person/publication, and does the date (if the draft states one) match?
Step 3 — Board verdict
Report every citation with its grade, sorted worst-first (FABRICATED and MISLEADING before
VERBATIM). For each MISLEADING or FABRICATED finding, give the one-line fix: cut it, replace it
with the accurate version, or restore the dropped qualifier. For UNVERIFIABLE findings, say what
would be needed to verify it (a different source, an archive.org link, etc).
End with one Publish recommendation line: e.g. "Fix first — 1 FABRICATED and 1 MISLEADING
citation must be corrected before this goes out" or "Publish after swapping 1 UNVERIFIABLE source
for a checkable one" or "Publish as-is — every citation checks out."
Output format
## Citations found: N (M with no link — flagged separately)
## Verdicts (worst first)
1. **[FABRICATED]** "quoted text..." → source: <url> — the source says nothing like this / doesn't exist. Fix: cut or replace.
2. **[MISLEADING]** "quoted text..." → source: <url> — source actually says "..." with the qualifier "...". Fix: restore context.
3. **[UNVERIFIABLE]** "quoted text..." → source: <url> — link dead/paywalled. Fix: find an archived or alternate source.
4. **[FAIR PARAPHRASE]** "quoted text..." → source: <url> — accurate.
5. **[VERBATIM]** "quoted text..." → source: <url> — matches exactly.
## No-link claims (can't be graded — flag regardless)
- "claim..." attributed to <who>, no source given.
**Publish recommendation:** ...
Handling sensitive info in the draft
If the draft contains unpublished material, embargoed information, or personal details, treat that
as context only — do not echo it back beyond what's needed to explain a grade. This Skill fetches
whatever URLs appear in the draft; don't run it on drafts containing links you don't want an outside
fetch made to.


