imozuru README

The project's README from github.com/MaryCache/imozuru. As one markdown file: README.md.

imozuru

imozuru

日本語 | English

imozuruは、知らない分野を、原文にたどりつくまで芋づる式に掘るClaude Codeのスキルです。 Batesのberrypicking、Ellisの探索行動のモデル、Kuhlthauの探索過程の研究など、図書館情報学の情報探索の研究から、考え方を応用しています。

ふつうに頼んだときとの違い

スキルなしで「調べて」と頼むと、LLMは検索上位の数件を読んで要約を返します。 要約はすぐに読めますが、判断に必要な細部が落ちやすい欠点を抱えています。 分野の用語を知らないうちは検索語も選べないため、最初に思いついた言葉の範囲から先へ進めません。

imozuruはまず分野の用語、中心にいる人、知見が集まる場を押さえ、そこから引用やリンク、著者をたどって原文を集めます。 集めた原文は要約せずに保存し、答えに必要な主張ごとに「どのファイルの何行目か」を示すに留まります。 原文を読んで判断するのは、ユーザー自身です。

動き方

flowchart LR
    A[問いと<br>要る主張を書く] --> B[地図づくり<br>用語・人・場]
    B --> C[たどる<br>引用・リンク・著者]
    C --> D[原文を落とす]
    D --> E{要る主張に<br>原文が付いた?}
    E -- まだ --> C
    E -- 付いた・飽和した --> F[抜き書きの<br>ページを作る]

Claudeはまず、問いと、答えるために必要な主張を3〜6個書き出します。 次に、探し方を変えた2本の検索役(Webを検索するサブエージェント)で用語、人、場を集め、地図(map.md)にまとめます。 その後、原文が見つかるまで参考文献や被引用、著者をたどっていきます。 論文のない分野では、記事の中のリンクや「〇〇さんの記事を参考にした」という記述をたどります。

見つけた原文は sources/ に保存し、404やログインを求めるページは中身を見て除きます。 すべての主張に原文が付くか、新しい資料が出てこなくなったら探すのをやめます。 最後に、原文から切り出した文を主張ごとに並べたページ(抜き書きのページ)を作ります。

見張りのモードでは、掘って見つけた場(QiitaやZennのタグ、note、YouTube、ブログ、arXiv)の新着をRSSで集めて並べます。

入れ方

skills のCLIで入れられます。

npx skills add MaryCache/imozuru

手動の場合は、skills/imozuru/ を ~/.claude/skills/imozuru/ にコピーしてください。

必要なもの

スクリプトはPython 3.10以上の標準ライブラリだけで動き、次のコマンドは入っていれば使います。

コマンド 使う場面 入っていない場合
pdftotext(popplerかXpdf) PDFから本文を取り出す PDFの本文が取れず FAIL になる
pdftoppm(popplerかXpdf)と tesseract 文字の層がない古いPDFをOCRにかける そのPDFは FAIL になる
yt-dlp YouTubeの字幕を取得する 動画は FAIL になる
ax HTMLをmarkdownにする 標準ライブラリで文字だけを取り出す(見出しや表の形はaxのほうがよく残る)

引用をたどる chain.py は OpenAlex のAPIを使いますが、APIキーは必要ありません。

使い方

Claude Codeで、次のように頼みます。

芋づる式に調べて: 歌ってみたのMIXで、上手い人がどういう順番で処理しているか
Gaussian Splattingってよく聞くけど全然わからない。論文とか解説の流れを掘ってほしい
/imozuru watch react

結果は ~/research/<話題>/ に、次の形で保存されます。

map.md         問い・要る主張・用語・人・場・原文の表・次の手がかり
log.md         周ごとに、何を探して何が出たか・判断とその理由
sources/       落とした原文
extracts.json  抜き書き
report.html    抜き書きのページ

抜き書きのページの見本は examples/demo/ にあり、次のコマンドでスクリプトだけを試せます。

python3 skills/imozuru/scripts/report.py examples/demo

設計の考え方

要約しない理由

Kuhlthau(1991)は、調べ始めの混乱した段階で詳しくまとめると、早すぎる閉じ(premature closure)を招き、探索の過程が妨げられると述べています。 そのためimozuruは、原文の場所を示すところまでにとどめています。

止めどきの決め方

止める条件は2つです。 1つ目は、すべての主張に原文の場所が付くことで、証拠がそろったかで止めどきを決めるRohとHan(2026)のHALTにならいました。 主張が甘くならないよう、少なくとも1つは依頼の言葉の条件をそのまま含め、半分以上は原文を読まないと答えられない形にしています。

2つ目は飽和で、2本の検索役が挙げた資料の7割以上がすでに地図にあれば止めます。 独立した2回の探索の重なりから全体の数を見積もる考え方(Kastner 2007)を借りたもので、7割は試しながら決めた仮の目安です。

方向を1つに決めない理由

Zhouら(2026)のHypoSearchによると、AIの検索は方向がいくつもありうる段階で1つを選び、後の検索でもその道を選び続けて失敗しがちです。 そこで迷ったときは、別の仮説を持たせた検索役を2本並べ、結果を比べてから進みます。

論文のない分野の扱い

塗り方やMIXのように論文がほとんどない分野では、知見の多くが個人のブログや動画にあります。 imozuruはそうした記事も論文と同じようにたどるので、保存した原文には次の印を付け、どれを信じるかはユーザーに任せています。

抜き書きを機械で照合する理由

原文を何十本も保存しただけでは、どこから読めばよいか分かりません。 そこでEllisのモデルにある抜き書き(extracting)にならい、主張ごとに原文の該当部分を切り出したページを作ります。 report.py は、切り出した文が原文の指定の行にそのまま在るかを照合し、1語でも違えばページを作りません。

決まりの出典

スキルの各決まりがどの論文のどこから来ているかは、skills/imozuru/references/theory.md にまとめています。

注意点

ライセンス

MIT

imozuru (MaryCache/imozuru)

Searching Database…

What is this?imozuru is a Claude Code skill that digs into an unfamiliar topic by tracing citations, links, and authors back to original sources, instead of just summarizing top search results.
Is this a standalone app or something that plugs into Claude Code?It is a Claude Code skill: a folder of scripts and instructions you drop into Claude Code's skills directory, not a separate application you launch on its own.
What tools does it need to work fully?The core scripts only need Python 3.10+ and its standard library, but it also uses pdftotext/pdftoppm with tesseract to read and OCR PDFs, yt-dlp for YouTube subtitles, and optionally ax for cleaner HTML-to-markdown conversion; the citation-chasing script chain.py calls the OpenAlex API, which needs no key.
What happens if a source is paywalled or a field has no papers to trace?It never bypasses paywalls; anything it can't legitimately fetch is reported as unreachable rather than obtained another way, and in fields without papers it instead treats blog posts and videos as the original sources to trace.
Does it keep my research questions private?No — its search sub-agents send the content of your question out to the web as search terms, so the README warns against using it for confidential or personal research.
Why doesn't it just summarize the sources it finds?It follows Kuhlthau's (1991) finding that summarizing too early causes premature closure and cuts exploration short, so imozuru only points to where in the original text a claim comes from instead of condensing it.
How does it decide when to stop digging for sources?It stops once every claim has a verified citation to an original source, or once 70%+ of the sources its two search agents find are already on its map — a saturation estimate borrowed from overlapping independent searches (Kastner 2007).
How does it avoid chasing one wrong search direction?It runs two search sub-agents with different hypotheses in parallel and compares their results before continuing, based on research (HypoSearch, Zhou et al. 2026) showing single-direction AI search tends to lock onto an early guess.
Where do the results end up?Output is saved under ~/research/, including a map.md of terms/people/venues, a sources/ folder of original texts, and extraction pages that pair each claim with a verbatim, line-checked quote; a sample run is in examples/demo/.
Creator
MaryCache
Size
0.2 MB
Stars
780
Updated
CommitOct 19
Age
6d
Commits · 90 Days