mcpField
L
llm-wiki

llm-wiki

github.com/akillness生産性53322 回インストール今日更新
リポジトリ

llm-wiki について

llm-wikiは、資料をもとに永続的なMarkdownナレッジベースを構築・保守するスキルです。研究など長期的な知識管理に向け、原資料を保持しながら関連ページや回答を蓄積し、構造も点検します。

主な機能

  1. 01Markdown保管庫の初期構築
  2. 02原資料の不変保持
  3. 03要約と統合ページの作成
  4. 04回答やレポートの記録
  5. 05リンク切れと孤立ページの点検

活用シーン

  1. 01ObsidianまたはMarkdownの研究保管庫を開始
  2. 02記事や論文を関連ノートに整理
  3. 03有用な回答を後から参照できる形で保存
  4. 04リンク切れや未接続ページを発見

MCP 対応

このスキルは導入時にMCPを追加しないことを勧めており、MarkdownナレッジベースのワークフローにMCPは必須ではありません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/akillness/jeo-skills --skill llm-wiki

インストール後、Claude Code で/llm-wikiを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

SKILL.toon
agents/
openai.yaml
evals/
evals.json
references/
architecture.md
ingest-playbook.md
maintenance-and-scaling.md
query-and-filing.md
schema-playbook.md
scripts/
bootstrap-vault.sh
ingest-url.sh
lint-wiki.py
new-query-note.sh
skill-autoresearch-llm-wiki/
changelog.md
dashboard.html
results.json
results.tsv
SKILL.md.baseline

詳細

llm-wiki - LLM が継続的に管理する Markdown Wiki

キーワード:llm-wiki · obsidian wiki · research vault · knowledge base

ユーザーが、クエリのたびに生のファイルから情報を再発見するのではなく、知識を蓄積していく管理対象の Markdown 成果物を求めている場合に、このスキルを使用します。

llm-wiki は、Andrej Karpathy の gist を実用的なワークフローに変換します。基本パターンはシンプルです。生のソースは不変のまま保持し、LLM に Wiki 層を管理させ、メンテナンスの取り決めを AGENTS.md または CLAUDE.md に記述します。

このスキルを使用する場合

  • 長期的なナレッジ作業用に、新しい Obsidian または Markdown の Vault を初期設定する
  • 生の記事、論文、トランスクリプト、メモを、ソースの要約と相互リンクされた Wiki ページに変換する
  • より大規模な検索インフラを追加する前に、ナビゲーションの基本要素として index.md と log.md を維持する
  • 優れた回答をチャット履歴に埋もれさせず、Wiki に記録する
  • 定期的な Lint を実行し、リンク切れ、孤立したページ、古い主張、統合ページの不足を確認する
  • URL 取り込み用の Scrapling、検索用の qmd、Vault 自動化用の Obsidian CLI など、任意のヘルパーを追加する

手順

ステップ 1:Vault を初期設定する

まず Wiki の骨組みを作成します。

bash scripts/bootstrap-vault.sh /path/to/vault

jeo ランタイムでは、新しい Vault の場所を独自に決めないでください。Vault は プロジェクト単位です。ツールフローのルール(~/.agents/rules/jeo-tool-flow.md)と 取り込みフックはどちらも、次のようにパスを解決します。 $LLM_WIKI_VAULT → <obsidian-mind vault>/llm-wiki。ここで obsidian-mind Vault は $OBSIDIAN_MIND_VAULT → 現在のディレクトリの git トップレベル → git リポジトリ外では ~/vaults/obsidian-mind の順に解決されます。 そのため、各リポジトリは <repo>/llm-wiki/ に独自の Wiki を持ちます。スキルの Vault とフックの Vault が同一になるよう、bootstrap-vault.sh にも同じパスを渡してください。

OM_VAULT="${OBSIDIAN_MIND_VAULT:-$(git rev-parse --show-toplevel 2>/dev/null || echo "$HOME/vaults/obsidian-mind")}"
bash scripts/bootstrap-vault.sh "${LLM_WIKI_VAULT:-$OM_VAULT/llm-wiki}"

setup-all-skills-prompt.md(ステップ 5、「ナレッジパイプラインフック」)は、フルモードのインストール中に このスクリプトを同じ解決方法で呼び出し、Claude Code、Codex、Gemini の prompt-in / turn-end フックとして hooks/ingest-prompt.py を登録します。取り込みスクリプトは、ほかのリポジトリで最初にプロンプトを取得した際に Vault がなければ初期設定します。そのため、新規の jeo セットアップと手動での初期設定が食い違うことはありません。

初期設定では、次のものが作成されます。

  • 不変のソース Markdown またはコピーしたファイル用の raw/sources/
  • ダウンロードした画像や添付ファイル用の raw/assets/
  • ソースごとの要約用の wiki/sources/
  • 長期的に維持する統合ページ用の wiki/entities/ と wiki/concepts/
  • 記録した回答や、より価値の高い成果物用の wiki/queries/ と wiki/reports/
  • index.md、log.md、AGENTS.md

スキーマファイルを省略しないでください。エージェントが一般的なアシスタントではなく、規律ある管理者として動作するためのものです。references/architecture.md と references/schema-playbook.md を参照してください。

ステップ 2:AGENTS.md または CLAUDE.md を運用上の取り決めとして扱う

スキーマには、セッションをまたいでも変わらないルールを記述します。

  • raw/ は信頼できる唯一の情報源であり、不変のまま維持する
  • wiki/ と index.md、log.md は LLM が管理する作業成果物である
  • 取り込みのたびに、ソースの要約、関連する統合ページ、index.md、log.md を更新する
  • 長期的に価値のあるクエリの回答はすべて、wiki/queries/ または wiki/reports/ に記録する
  • Lint では、リンク切れ、孤立したページ、古い主張、矛盾、ページ化すべき候補の不足を確認する

スキーマは短く、実行可能な内容にしてください。エージェントが実際に従う簡潔な取り決めのほうが、誰も読み返さない巨大なポリシーファイルよりも優れています。bootstrap-vault.sh の初期スキーマは意図的に最小限にしています。references/schema-playbook.md を参照して調整してください。

ステップ 3:ワークフローが安定するまで、ソースを一度に 1 つずつ取り込む

ソースがすでにローカルにある場合は、raw/sources/ に配置し、エージェントに処理を依頼します。ソースが URL の場合は、Scrapling を利用したヘルパーを使用します。

bash scripts/ingest-url.sh /path/to/vault "https://example.com/article"
bash scripts/ingest-url.sh /path/to/vault "https://app.example.com/post" --mode fetch --wait-selector article
bash scripts/ingest-url.sh /path/to/vault "https://protected.example.com/post" --mode stealth --solve-cloudflare

取り込み時に想定される更新箇所:

  1. 変更されない生データのキャプチャを raw/sources/ に保存する
  2. wiki/sources/ にソースページを作成または更新する
  3. 関連するエンティティページまたは概念ページを更新する
  4. index.md を更新する
  5. log.md に時系列順の項目を追記する

開始時は、ソースを一度に 1 つずつ取り込むことをおすすめします。これにより、人間が Wiki の変更内容を確認し、不足している規約を洗い出して、スキーマを改善できます。ワークフローの信頼性が高まったら、まとめて処理してもかまいません。運用チェックリストには、references/ingest-playbook.md を使用してください。

ステップ 4:生データの山ではなく、Wiki を使って質問に回答する

質問に回答する際は、次の手順に従います。

  1. 最初に index.md を読む
  2. 最も関連性の高い Wiki ページを開く
  3. Wiki の根拠付けや情報の矛盾解消が必要な場合に限り、生データのソースを詳しく確認する
  4. ページのパスと生データのソースパスを明記して引用する
  5. 長期的に役立つ成果物を vault に保存する

明示的に Jevgrep の使用を求められた場合は、選択した vault の wiki/ ソースドキュメントに対して jevgrep を実行し、別途設けられたリモートコンテンツ/コストの確認ゲートに従ってください。上記のインデックスを最初に読む手順、引用、長期保存の手順は引き続き変わりません。生データのソース取り込みとグラフの更新は、この任意の検索には含まれません。

価値の高い回答には、再利用できるノートのひな形を作成します。

bash scripts/new-query-note.sh /path/to/vault "How does Company A differ from Company B?" --question "How does Company A differ from Company B?"
bash scripts/new-query-note.sh /path/to/vault "Q2 product thesis" --section reports --citation "[[wiki/concepts/product-thesis]]"

質問形式の成果物には wiki/queries/ を、メモ、比較資料、プレゼンテーションの骨子など、より長期的に使える統合成果物には wiki/reports/ を使用してください。詳しくは references/query-and-filing.md を参照してください。

ステップ 5:定期的に Wiki を検査して修復する

ローカルのヘルスチェックを実行します。

python3 scripts/lint-wiki.py /path/to/vault
python3 scripts/lint-wiki.py /path/to/vault --format json

このスクリプトは、情報の正しさではなく構造を対象としています。必須ファイルとディレクトリ、Wiki リンク切れ、孤立ページをチェックします。検査結果を、人間が主導する整理作業の出発点として活用してください。

  • 重複する概念を統合する
  • 頻繁に参照されるアイデアを独立したページに昇格させる
  • 新しいソースに置き換えられた古い主張を削除する
  • グラフが疎な場合は、バックリンクや概要ページを追加する

より詳細な検査チェックリストについては、references/maintenance-and-scaling.md を参照してください。

ステップ 6:規模に見合う場合にのみ、検索と自動化を追加する

小規模から中規模の vault では、index.md と log.md で十分です。より高度なツールは、必要になってから追加してください。

  • URL の取り込みが一般的になったら Scrapling
  • Wiki 検索でインデックスだけでは不十分になったら qmd
  • 実行中のデスクトップアプリに対してシェルから vault を自動化したい場合は Obsidian CLI
  • frontmatter に基づくテーブルやリストを活用し始めたら Dataview
  • バージョン履歴、ブランチ、レビュー可能な差分のため、初日から Git

初日から埋め込み、MCP、ブラウザー自動化を無理に導入しないでください。このワークフローの要点は、シンプルな Markdown リポジトリだけでも、驚くほど効果的に知識を蓄積できることです。

例

例 1:新しい vault を初期化する
bash scripts/bootstrap-vault.sh ~/vaults/company-research
例 2:静的な記事を生データのソースに取り込み、ソースのひな形を作成する
bash scripts/ingest-url.sh ~/vaults/company-research "https://example.com/article"
例 3:JavaScript でレンダリングされるページを取り込む
bash scripts/ingest-url.sh ~/vaults/company-research "https://app.example.com/dashboard" --mode fetch --network-idle
例 4:長期保存するクエリノートを作成する
bash scripts/new-query-note.sh ~/vaults/company-research "Why this market is consolidating" \
  --question "Why is this market consolidating?" \
  --citation "[[wiki/concepts/market-structure]]"
例 5:クエリノートの代わりにレポートのひな形を作成する
bash scripts/new-query-note.sh ~/vaults/company-research "Q3 diligence memo" --section reports
例 6:構造検査を実行する
python3 scripts/lint-wiki.py ~/vaults/company-research

ベストプラクティス

  1. raw/ は変更しないでください。修正は、書き換えた raw キャプチャではなく、Wiki ページまたは追加のソースノートに反映してください。
  2. 取り込み、クエリの記録、lint の各実行時に、index.md と log.md を更新してください。これらにずれが生じると、ワークフロー全体が使いにくくなります。
  3. 質の低い断片を大量に作るより、質の高いエンティティページやコンセプトページを少数作ることを優先してください。価値が積み重なるのは、ページ数ではなく統合によるものです。
  4. 時間のかかる検索を行う前に、index.md を読んでください。中規模の Vault では、これが最もシンプルで実用的な検索システムです。
  5. 事実と統合を区別してください。ソースページは根拠に基づいたものにし、コンセプトページではより解釈を加えることができます。
  6. 有用な回答は Vault に記録してください。一度重要だった回答は、再び重要になる可能性が高いです。
  7. Wiki の監査可能性を保つため、取り込み、クエリ、lint の操作は Git のコミットで分けてください。
  8. スキーマを常に整備してください。繰り返し発生するずれや曖昧さに気付いたら、AGENTS.md を更新してください。

参考資料

コメント