verification-agent
Verify claims, quotations, citations and references against live primary sources, and produce a reproducible audit record instead of an assertion.
Skill by MoizIbnYousaf
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/moizibnyousaf-verification-agent
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, presentations, design, frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/verification-agent
What's inside
- Skill name
verification-agent- Description
- Verify claims, quotations, citations and references against live primary sources, and produce a reproducible audit record instead of an assertion. Use when asked to: check whether a quotation, verse, statistic, date, attribution or citation is accurate; verify references before publishing a report, thesis, article, slide deck or legal filing; confirm a text against an authoritative database; cross-check a claim across independent sources; build a citation register or verification appendix; find out whether two datasets agree; detect a misattributed or fabricated quotation; or audit a document's existing citations. Source-agnostic by design, with working providers for REST/JSON APIs, scraped HTML, bulk corpora, bibliographic catalogues (OpenLibrary), DOI resolution (Crossref) and reference works (Wikipedia) -- including scriptural tiers (Qur'an.com, sunnah.com and an independent hadith corpus) with full diacritic handling for Arabic, Hebrew, Greek and any script with optional marks. Covers content-addressed matching when sources disagree on numbering, graded match verdicts, byte-level integrity checks, published-string verification, and a catalogue of silent failure modes (identifier divergence, mojibake, scraper blocking, false-positive keyword rules, missing glyphs, unreliable PDF text layers).
- License
- MIT
- Metadata
- version: 1.0.0
- Instructions
- 190 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- description: longer than 1024 characters
Files (19)
- README.md
- SKILL.md
- embeds.example.json · assets/
- records.schema.json · assets/
- refs.example.json · assets/
- domains.md · references/
- failure-modes.md · references/
- matching-and-normalization.md · references/
- protocol.md · references/
- providers.md · references/
- content-index.mjs · scripts/
- corpus.mjs · scripts/lib/
- io.mjs · scripts/lib/
- match.mjs · scripts/lib/
- normalize.mjs · scripts/lib/
- providers.mjs · scripts/lib/
- qa-records.mjs · scripts/
- render-check.mjs · scripts/
- verify.mjs · scripts/
SKILL.md (first lines)
# Verification Agent
You verify claims against sources. You do not summarise search results and call it verification.
## The distinction that governs everything
**Retrieval** proves you fetched something. **Verification** proves that what you fetched is
the text you claim, from a source you can name, found by a rule you can state, confirmed
against something independent, and reproducible by a third party. Most "I checked it" claims
fail at the second sentence.
A verification is not complete until you can hand someone a record containing: the source URL,
the exact retrieved text, the UTC time, a content fingerprint, the matching rule you used, and
the result of an independent cross-check. If a reader cannot re-run your check, you have not
verified anything — you have asserted it.
## When invoked
Find out what is being verified and how much rigour the context needs:
1. **A specific claim or quotation** → verify it, report the verdict and the evidence.
2. **A document with citations** → extract every checkable reference, verify them all, report
a table of results with failures surfaced rather than buried.
3. **A text to be published** → run the full pipeline and ship the records alongside the
document, so the verification is part of the deliverable.
4. **Two sources that disagree** → establish which numbering or edition each uses, then match
by content, never by identifier.
Ask which sources are authoritative if it is genuinely ambiguous. Otherwise pick the
canonical source for the domain and say which you used.
## Workflow
### 1. Build a reference manifest
One JSON file listing every checkable item. Each entry names a provider and a locator:
```json
{ "id": "quran-43-61", "label": "Qur'an 43:61",
"source": "quran-uthmani", "locator": { "surah": 43, "ayah": 61 },
"profile": "arabic",
"assert": { "field": "text", "contains": "لَعِلْمٌ" },
"crossCheck": { "via": "corpus", "corpus": "hadith-api-book",
"locator": { "edition": "ara-bukhari" } } }
```
See `assets/refs.example.json` for one provider of every kind. Add entries incrementally; a
manifest is a living artefact, not a one-off.
### 2. Check the provider exists; add one if not
`references/providers.md` catalogues the built-ins and shows how to add a source. Most
sources need only a URL template and a pointer to the field. Write code only when a source
genuinely resists description.
### 3. Retrieve, and let the tool record provenance
```bash
node scripts/verify.mjs --refs refs.json --out ./verification
```
Emits `records.json` (machine-readable) and `records.md` (human-readable), each carrying URL,
UTC timestamp, retrieved text, per-field fingerprints, assertion results and cross-check
verdicts. Statuses: `VERIFIED`, `RETRIEVED`, `MISMATCH`, `FAILED`.
**`FAILED` and `MISMATCH` are results, not errors.** Record them, report them, and never ship
an unresolved citation. In one real project this caught a reference that resolved to nothing
and a dataset whose `muslim:155` was an unrelated hadith.
### 4. Cross-check by content, not by identifier
This is the step that turns retrieval into verification, and the step most often skipped.
```bash
node scripts/content-index.mjs find --corpus hadith-api-book \
edition=ara-bukhari --probe "@matn.txt"
```
Two sources rarely share numbering. In one documented case, Sunnah.com's `muslim:155` was the
independent corpus's `muslim:389`, while that corpus's `muslim:155` was a different narration
entirely — a number-matching check would have confirmed the wrong text and reported success.
Match by content; then read the identifier off the matched record.
**Probe distinctive content.** A probe taken from shared apparatus — a citation chain, a
boilerplate formula, a headnote — matches many records and tells you nothing. If a probe
returns more than a handful of hits, you probed the wrong passage.
### 5. Generate, never transcribe
Whatever consumes the verified text — a report, a bibliography, a UI string, a dataset —
must be **generated from the records**, not retyped from them. Transcription is where
verification silently dies: the text was right in the record and wrong on the page, and no
check catches it.
```bash
node scripts/qa-records.mjs --records verification/records.json --embeds embeds.json
```
`embeds.json` is a flat map of `recordId` or `recordId.field` to the string your generator
actually published. This proves the published string *is* the verified string.
### 6. Check the output, not just the source
```bash
node scripts/render-check.mjs --log build.log
```
A missing glyph is invisible to every other check: the text is present in the source, absent
from the page, and all upstream checks pass. Scan the build log.
Be aware of what cannot be checked: **text-layer extraction is unreliable for complex scripts**
(Arabic, Hebrew, Devanagari) in PDFs from XeLaTeX and several other engines, because the
ToUnicode CMap maps contextual glyph forms incompletely. A negative result there is not
evidence of error. Say "not checkable this way" and inspect rendered pages visually.
### 7. Report
State, for each item: what was verified, against which source, by what matching rule, with
what result. Then state **what the verification does not establish**. Retrieving a textFrom MoizIbnYousaf/ai-agent-skills, MIT.
More from MoizIbnYousaf/ai-agent-skills
- 0.689score
best-practices
MoizIbnYousaf
Transforms vague prompts into optimized Claude Code prompts.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
curate-a-team-library
MoizIbnYousaf
Use when building a managed team skills library for a real stack.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
review-a-skill
MoizIbnYousaf
Use when evaluating whether a skill belongs in a library.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
install-from-remote-library
MoizIbnYousaf
Use when installing skills from a shared ai-agent-skills library repo.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
migrate-skills-between-libraries
MoizIbnYousaf
Use when moving skills between library workspaces or upgrading from a personal library to a team library.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
share-a-library
MoizIbnYousaf
Use when a managed library is ready to publish to GitHub and hand to teammates as an install command.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
update-installed-skills
MoizIbnYousaf
Use when syncing or updating previously installed skills to their latest version.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
build-workspace-docs
MoizIbnYousaf
Use when regenerating README.md and WORK_AREAS.md in a managed library workspace.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
audit-library-health
MoizIbnYousaf
Use when checking the overall health of a skills library.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
browse-and-evaluate
MoizIbnYousaf
Use when exploring the ai-agent-skills catalog to find, compare, and evaluate skills before installing.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.683score
code-documentation
MoizIbnYousaf
Writing effective code documentation - API docs, README files, inline comments, and technical guides.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.683score
backend-development
MoizIbnYousaf
Backend API design, database architecture, microservices patterns, and test-driven development.
SkillCFreshness: C★ 1.2KClaude Code +9
Signals
- Stars
- 1,153
- Forks
- 135
- Open issues
- 1
- Last commit (this folder)
- Sep 21, 2026 (1 month ago)
- Last release
- May 3, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.0
- License
- MIT
- Repository
- github.com/MoizIbnYousaf/ai-agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from MoizIbnYousaf
- 0.689score
best-practices
MoizIbnYousaf
Transforms vague prompts into optimized Claude Code prompts.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
browse-and-evaluate
MoizIbnYousaf
Use when exploring the ai-agent-skills catalog to find, compare, and evaluate skills before installing.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
curate-a-team-library
MoizIbnYousaf
Use when building a managed team skills library for a real stack.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
audit-library-health
MoizIbnYousaf
Use when checking the overall health of a skills library.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
build-workspace-docs
MoizIbnYousaf
Use when regenerating README.md and WORK_AREAS.md in a managed library workspace.
SkillCFreshness: C★ 1.2KClaude Code +9 - 0.687score
install-from-remote-library
MoizIbnYousaf
Use when installing skills from a shared ai-agent-skills library repo.
SkillCFreshness: C★ 1.2KClaude Code +9
Cite this page
verification-agent skill. Agent Mart. https://agentmart.dev/skills/moizibnyousaf-verification-agent (last updated 2026-10-24)