archived/skills/fact-check/SKILL.md
Verify factual claims in documents against authoritative sources. Catches hallucinations, fabricated quotes, and misattributed claims.
npx skillsauth add nicsuzor/academicops fact-checkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Purpose: Verify factual claims in documents against authoritative sources. Assume any quotes or references are hallucinated unless demonstrably proven.
When to invoke:
Every factual claim carries a high burden of proof that must be discharged with evidence. Unlike normal reading where we assume good faith, verification requires demonstrating accuracy—not just absence of obvious error.
Why? LLM-generated content confidently produces plausible-sounding details that don't exist: invented statistics, misattributed quotes, fabricated publication dates, non-existent researchers.
Read the document and extract ALL factual claims requiring verification:
| Claim Type | Examples | | ---------------- | ------------------------------------------------- | | Names | Researchers, institutions, organizations | | Numbers | Sample sizes, percentages, dates, funding amounts | | Publications | Paper titles, journals, publication years | | Quotes | Direct quotes attributed to sources | | Credentials | Degrees, positions, affiliations | | Events | Presentations, grants, collaborations | | Timelines | Duration claims ("10-year collaboration") |
Use TodoWrite to track each claim category.
For each claim, determine what would constitute authoritative verification:
| Claim Type | Authoritative Sources | | ------------------ | ------------------------------------------------- | | Researcher details | University profiles, Google Scholar, dblp, ORCID | | Publications | Publisher websites, DOI links, preprint servers | | Institutions | Official websites, LinkedIn (for existence) | | Project details | Grant databases, project websites, research plans | | Statistics | Primary source documents, methodology sections | | Quotes | Original source (book, paper, interview) |
Critical: If the document references a primary source (e.g., "research plan PDF"), READ THAT FIRST. It's the authoritative source for claims about the project.
For each claim:
| Status | Meaning | Format | | ---------------------------- | ------------------------------------- | -------------------------------------- | | ✅ Verified | Claim matches authoritative source | Cite source with link/page | | ⚠️ Clarification needed | Source exists but details differ | Note discrepancy | | 🔍 Unverifiable | No authoritative source accessible | Note what was searched | | 📝 Professional judgment | Opinion/assessment, not factual claim | Note this is not a verification target |
Create verification report using template:
## Verified Claims (Accurate)
| Claim | Source |
| ------- | ----------------------- |
| [claim] | [source with link/page] |
## Claims Requiring Clarification
| Claim | Issue | Evidence |
| ------- | ------------- | ---------------- |
| [claim] | [discrepancy] | [what was found] |
## Unverifiable Claims
| Claim | Search Attempted |
| ------- | ----------------- |
| [claim] | [sources checked] |
## Professional Judgments (Not Verifiable)
- [assessment 1]
- [assessment 2]
## Conclusion
[Summary: hallucinations found? / clean? / caveats?]
Save report as {document-name}-verification.md in same directory as source document.
Watch especially for:
This skill verifies factual accuracy only.
User: "Triple check everything in my SNSF review - assume any quotes or references are hallucinated unless proven otherwise."
Agent:
1. Reads review document
2. TodoWrite: Lists all factual claims by category
3. Reads primary source (research plan PDF)
4. WebSearch: Verifies researcher profiles, publications, institutions
5. Cross-references each claim
6. Compiles verification report
7. Saves as {review}-verification.md
data-ai
Canonical session close — commit, push, PR, release_task, reflection blocks, handover. Use /dump for emergency bail (no commit/PR/reflection).
data-ai
Emergency session bail — fast resume task + short handover, no commit/PR/reflection. For when you (or the user) need a clean context now. Use /end-session for canonical close.
data-ai
Daily note lifecycle — compose and maintain a factual daily note. Reports the state of the day; does not prioritise or recommend. SSoT for daily note structure.
testing
Launder supervisor/worker task-log output into a Nic-facing narrative — what happened, where things are headed, and what (if anything) is genuinely his to decide. Never relays raw process detail (worker IDs, thread pointers, log paths) or verbatim task-log stream-of-consciousness.