Agent skill · research science · nousresearch

grounded-citations

Ground answers and documents in cited, verifiable sources.

Why this skill is useful

Adds a ledger script for managing citations and verifying sources that the AI wouldn't generate on its own.

What it needs

Requires python3 installed locally. About 8k tokens when loaded. Last updated 2026-08-07. 226,679 stars on the source repository.

What this skill does

Grounded Citations Every claim taken from an outside source gets an inline numbered citation and a Sources: list, Perplexity-style. A ledger script owns the url → [n] mapping so the numbers and URLs come from retrieval, never from memory — the model only ever emits small integers it was handed. For high-stakes work the same ledger doubles as a fact-checking chain: verbatim quotes are attached to each source (rejected unless they literally appear in the fetched page text), claims from model knowledge are flagged [unverified], and verify --evidence fails any draft whose cited sources carry no evidence. This skill covers answers in chat, written documents (markdown, PDF, docx, slides), and research reports. It does not cover academic BibTeX pipelines — for conference papers use the arxiv skill, which this skill feeds (see references/citation-formats.md). When to Use Use whenever an answer or artifact rests on information you fetched rather than knew: Research, comparisons, news summaries, "what is the current state of X" Any deliverable you write to disk that quotes, paraphrases, or reports outside facts — reports, briefs, docs, decks, wiki pages Fact-finding where the user will want to check your work Multi-source synthesis where conflicting sources must be attributed Skip inline citations when the retrieval is incidental to another task — a quick syntax/version lookup mid-coding, casual conversation, creative writing. Mention a URL only if the user would plausibly want the link. Prerequisites None beyond the standard toolset. scripts/sources.py is stdlib-only Python 3. Retrieval comes from whatever is configured: websearch, webextract, browserexec, or terminal (curl, CLIs). Ledger location: $HERMESHOME/cache/citations/ledger.json (profile-aware). Override per task with --ledger <path> or HERMESCITATIONLEDGER. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills nousresearch/grounded-citations

View the source on GitHub

Browse the @skills marketplace