出典つきWebリサーチノート(引用・取得日・ハッシュで検証)
Cited web research notes with quotes, dates and hashes
Webで調べた主張を1つずつ「URL・取得日・原文の引用・保存ページのSHA-256」と結びつけて記録し、出典のない主張や引用の食い違い・重複/リンク切れの出典を自動で検出して、出典番号つきのレポートにします。
できること
Webで調べたことを「どのページの、どの文に書いてあったか」まで追跡できる形で記録し、答えの前に機械的にチェックします。
- 出典を登録すると、ページを取得して保存し、取得日時・HTTPステータス・タイトル・SHA-256 を記録(ブラウザで保存したファイルの登録も可)
- 主張ごとに、出典IDと原文どおりの引用を記録(1つの主張に複数の出典も可)
- 検証コマンドで次を検出:出典のない主張、引用のない出典参照、保存ページに実在しない引用、保存後に変わった/消えたファイル(ハッシュ不一致)、同じURLの重複、中身が同一の転載コピー、出典が1つしかない主張、使われていない出典
--check-liveで現在のURLを再確認し、404などのリンク切れやリダイレクトを報告- 出典番号つきの Markdown レポートを生成(エラーがあると生成を止め、未検証の主張を明示)
- ノートは JSON でも Markdown でも書けます
使い方
python scripts/research_notes.py init notes.json --topic "調べたい問い"
python scripts/research_notes.py add-source notes.json https://example.org/page
python scripts/research_notes.py add-claim notes.json --text "主張" --cite S1 "原文の引用"
python scripts/research_notes.py validate notes.json
python scripts/research_notes.py render notes.json --out report.md --quotes
エージェントはこの手順で調べ、検証を通った内容だけを出典番号つきで回答します。
必要な環境
- Python 3(標準ライブラリのみ)
- 出典ページの取得と
--check-liveのときだけネットワークを使います
注意点
- スクリプトが確かめるのは「引用が保存ページに実在するか」までです。引用が主張を本当に裏づけているかは、エージェントが読んで判断します。
- PDF の出典は保存とハッシュ記録はしますが、引用の自動照合はしません(テキスト化したものを別に登録してください)。
- 保存ファイルを削除したり、既存の証拠やレポートを上書きしたりしません。
English description
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.
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-livere-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.
インストール方法
- ダウンロードしたZIPを展開します(中に
cited-web-research-notes/フォルダとSKILL.mdがあります)。 - フォルダごと、使うエージェントのスキル置き場にコピーします。
- Claude:
~/.claude/skills/(プロジェクト単位なら.claude/skills/) - Hermes Agent:
~/.hermes/skills/ - Codex:
~/.agents/skills//Cursor:~/.cursor/skills/ - Claude アプリ(claude.ai):「カスタマイズ → スキル」からZIPをアップロード
- Claude:
- エージェントを再起動し、スキル一覧に表示されることを確認します。
出品者
出品スキル 44 件