Communitygithub.com

walidboulanouar/vault-organizer

散らかったマークダウンベースのナレッジベース(Obsidian/PARA)を、Karpathyの3層LLM-wiki方式で整理、インデックス化するAIエージェントスキル。

vault-organizer とは?

このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)が、散らかったObsidian vaultやマークダウンナレッジベースを体系的に整理するためのものです。Karpathyの「知識をコードとして扱う」原則に基づき、未処理のRAWレイヤー、合成されたCOMPILEDレイヤー、インデックスとルールのSCHEMAレイヤーの3層構造を適用します。監査(audit)、トリアージ(triage)、クリーン(clean)、整理(organize)、登録(register)、リント(lint)という6段階のワークフローを提供し、欠落したメタデータやリンク切れ、重複などを自動検出・修正します。また、INDEX.mdの自動生成により、人間とLLMの両方が高速に情報を検索できるようになります。スキルはスタンドアロンPythonスクリプトとしても動作します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add walidboulanouar/vault-organizer

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Vault Organizer

散らかったマークダウン vault を、クリーンで相互リンクされ、インデックス化されたナレッジベースに変身させます。 LLM(またはチームメイト)が高速に情報を取得できるようになります。Karpathy の原則に基づいています: 知識をコードのように扱う。 生のソースはソースファイル、コンパイルされた wiki はビルド出力、 INDEX はスキーマ、そしてこのスキルがコンパイラ兼リンターです。

モデル(3層)

層内容場所
RAW未処理:トランスクリプト、クリップ、ダンプ、スクリーンショット00_Inbox/raw/、最も近いトピックフォルダ
COMPILED合成されたページ、[[wikilinks]] で相互参照PARA フォルダ(01_–04_)
SCHEMAINDEX ファイル、CLAUDE.md、ルールフォルダごとの INDEX.md + マスターインデックス

すべてのファイルは type: フロントマター(raw | compiled | reference | framework | client | index)を持ちます。 フロントマターと INDEX のテンプレートについては references/standards.md を参照してください。

ワークフロー

この順序で実行します。変更する前に監査と提案を行ってください。確認なしに削除や移動は絶対に行わないでください。変更を元に戻せるように git リポジトリを使用することを推奨します。

1. 監査(読み取り専用)

# vault 全体:
python3 scripts/audit.py <vault_root> --stale-days 120 --report /tmp/vault-audit.md
# 1つのサブフォルダ、ただし vault 全体に対して [[wikilinks]] を解決(誤った「リンク切れ」フラグを回避):
python3 scripts/audit.py <subfolder> --link-root <vault_root> --report /tmp/vault-audit.md

ヘルスレポートを返します:フロントマターの欠落、壊れた/存在しない wikilink、孤立したファイル、欠落した Related セクション、重複、古いファイル、INDEX のないフォルダ。レポートを読み、要約テーブルと 主要な問題をユーザーに表示します。(機械出力には --json を使用。)

2. トリアージ

発見事項をグループ化し、今すぐ修正するものと後で修正するものを尋ねます。 デフォルトの優先順位:

  1. INDEX のないフォルダ(情報取得が不可能)
  2. フロントマターの欠落(検索とプロパティが機能しない)
  3. 壊れた wikilink(グラフが機能しない)
  4. Related セクションの欠落と孤立したファイル(発見が困難)
  5. 古いファイル/重複(クリーンアップ)

3. クリーン(ファイルごと)

各フラグ付きファイルに対して:

  • YAML フロントマター(title, type, source, author, created, description, tags)を追加 — 内容から推測、created が不明な場合は今日の日付を使用。
  • vault 内の他の場所に存在する概念、ツール、人物、またはファイルへの最初の言及に [[wikilinks]] を追加。
  • ファイルの最後に ## Related セクションを追加(最も関連性の高いページへの [[wikilinks]] を3~8個)。そのファイルをそれらのページ(2~3ページ)の Related にも追加(双方向リンク)。
  • 壊れた wikilink を修正:正しいスラッグに変更、または後で対象を書く価値がある場合は意図的なスタブとして残す。 references/standards.md のテンプレートを使用してください。既存のフロントマターやリンクは削除しないでください。

4. 整理(まず提案)

  • 場所違いのファイルを適切な層/フォルダに移動(raw → 00_Inbox/raw/、compiled → PARA)。
  • ファイル名をケバブケースに統一、重複を統合またはリネーム。
  • 移動は小さく、元に戻せるようにしてください。すべての移動をリストアップし、実行する前に承認を得てください。

5. 登録(成果物)

  • 各コンテンツフォルダに対して、INDEX.md を生成または更新:ファイルごとに1行のポインター (- [[file-name]] — short hook)、タイプごとにグループ化、最新または最も重要なものから順に。
  • すべてのフォルダ INDEX にリンクするマスターインデックス(例:ルートの INDEX.md、または meta/ スキーマフォルダ)を構築/更新。
  • このレジストリにより情報取得が高速になり、チームメイトに渡すドキュメントとなります。

6. リント(確認)

audit.py を再実行します。before/after のカウントを表示します。フロントマター、 INDEX カバレッジ、リンク切れの数がすべてゼロになったとき、vault は「クリーン」と見なされます (孤立したファイル/古いファイルは意図的に残しても構いません)。

チームメイトに渡す

整理された vault をチームメイトと共有する場合:マスター INDEX が最新であること、すべてのフォルダに 独自の INDEX があること、ルートに短い README.md があり3層モデルとナビゲーション方法を説明していることを確認してください。 README + マスター INDEX がエントリポイントです。

ルール

  • 常に最初に読み取り専用の監査を実行。表面化させ、驚かせない。
  • 明示的な確認なしに削除や一括移動を行わない。事前にコミットすることを推奨。
  • .obsidian/、.git/、Claude Code 設定(settings.json、hooks)には触れない。
  • vault の既存の規約に従う(今回の場合:PARA と references/standards.md の標準)。
  • バッチで作業。各バッチ後、変更内容をレポート。

ファイル

  • scripts/audit.py — 読み取り専用スキャナー、エンジン。最初と最後に実行。
  • references/standards.md — フロントマター仕様、タイプ分類、INDEX + README テンプレート。

関連スキル