Cited web research notes with quotes, dates and hashes

Log every web research claim with URL, fetch date, verbatim quote and the SHA-256 of the saved page, then catch unsourced claims, bad quotes and duplicate or dead sources and render a cited report.

ClaudeHermes AgentCodexCursorMIT (modify, redistribute and use commercially)Python

What it does

Keeps web research traceable down to the exact sentence on the exact page, and checks it mechanically before you answer.

  • Registering a source fetches and saves the page and records fetch time, HTTP status, title and SHA-256 (or registers a file you saved from a browser)
  • Each claim is stored with source ids and verbatim quotes (several sources per claim allowed)
  • Validation finds: claims without sources, citations without quotes, quotes that do not appear in the saved page, saved files that changed or disappeared (hash mismatch), duplicate URLs, byte-identical copies (syndication), single-source claims and unused sources
  • --check-live re-requests every URL and reports 404s and redirects
  • Renders a Markdown report with numbered citations; refuses while errors exist, or marks unverified claims
  • Notes can be JSON or Markdown

How to use

python scripts/research_notes.py init notes.json --topic "Research question"
python scripts/research_notes.py add-source notes.json https://example.org/page
python scripts/research_notes.py add-claim notes.json --text "Claim" --cite S1 "verbatim quote"
python scripts/research_notes.py validate notes.json
python scripts/research_notes.py render notes.json --out report.md --quotes

The agent researches this way and answers only with validated, numbered citations.

Requirements

  • Python 3 (standard library only)
  • Network access only for fetching sources and for --check-live

Caveats

  • The script proves that a quote exists in the saved page, not that it supports the claim; the agent must read and judge that.
  • PDF sources are saved and hashed, but quotes inside them are not matched automatically (register a text extraction as well).
  • It never deletes saved files and refuses to overwrite existing evidence or reports.

How to install

  1. Unzip the downloaded file (it contains a cited-web-research-notes/ folder with SKILL.md).
  2. Copy the whole folder into your agent's skills folder.
    • Claude: ~/.claude/skills/ (per project: .claude/skills/)
    • Hermes Agent: ~/.hermes/skills/
    • Codex: ~/.agents/skills/ / Cursor: ~/.cursor/skills/
    • Claude app (claude.ai): upload the ZIP in Customize → Skills
  3. Restart the agent and check that the skill appears in its skill list.

Step-by-step install for Windows / Mac and each agent

Seller

AI Skill Market (official)

44 published skills

Seller profile and all skills