Communitygithub.com

rogerdigital/vault-inspector

Obsidian Vaultの健全性チェッカー。壊れたリンク、孤立アタッチメント、重複ファイル、フロントマターの型ズレ、古いタグ、巨大ファイルなどを検出します。

vault-inspector とは?

Vault Inspectorは、Obsidian Vault(ノート管理フォルダ)のメンテナンスを支援する読み取り専用の品質ゲートツールです。ターミナル、CIパイプライン、AIエージェントによるワークフローでの利用を想定しており、壊れたリンク、孤立アタッチメント、空のノート、外部リンク、重複ファイル、フロントマターの型の不一致、タグ使用状況の問題、巨大ファイルなどを自動スキャンします。 このツールは`vinspect`コマンドまたは`npx vault-inspector`で実行でき、出力形式はJSONやMarkdownをサポート。ベースライン機能を使って既知の問題と新たな問題を区別できるため、CIでの回帰テストに最適です。スキャナーはプラグイン単位で選択可能で、外部リンクチェックはオプトイン方式です。終了コードも明確で(0=問題なし、1=閾値超過、2=実行エラー)、エラー時には結果を無視するよう指示されています。 重要なのは、このスキルはあくまで読み取り専用であり、ファイルの修正・削除は行わないこと。`--fix`オプションは利用できず、孤立アタッチメントや重複候補は自動削除せず、ユーザーに手動レビューを促します。また、安定した自動化には`schemaVersion`や`fingerprint`などのフィールドを使い、`title`や`generatedAt`は避けるべきです。このツールは、Obsidian Vaultの整理・公開・エクスポート前、バルク編集後、CIでのリグレッションチェックなど、幅広いシナリオで役立ちます。

対応~Claude Code~Codex CLI~Cursor
npx skills add rogerdigital/vault-inspector

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

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

ドキュメント

Vault Inspector (Vaultインスペクター)

Vault Inspector は、Obsidian Vault のメンテナンスのための読み取り専用品質ゲートです。このスキルは、ターミナル、CI、およびエージェント管理下の Vault ワークフロー向けで、壊れたリンク、孤立アタッチメント、空のノート、外部リンク、重複ファイル、フロントマターの型ズレ、タグ使用の問題、巨大ファイルを検出します。

安全ルール

  • CLI を読み取り専用として扱います。このスキルの一部として Vault ファイルの修正、移動、削除、書き換えを行わないでください。
  • --fix を利用可能として提示しないでください。現在の CLI は修正実行時にエラーで終了します。
  • 孤立アタッチメント、重複候補、巨大ファイルを自動的に削除しないでください。証拠をまとめ、手動レビューを推奨してください。
  • title、message、generatedAt、durationMs を安定した自動化識別子として扱わないでください。
  • 自動化には安定したフィールドを使用してください: schemaVersion、toolVersion、summary、scannerId、severity、primaryPath、relatedPaths、evidence、fingerprint、fixAction、isNew、および summary.newIssues。
  • --progress を使用してスキャンの進行状況を stderr に出力し、stdout は機械可読のままにしてください。

実行タイミング

Vault Inspector を実行するタイミング:

  • Vault の再編成、公開、エクスポート、アーカイブの前
  • 生成後、またはエージェント管理下のノート変更後
  • リンク、タグ、フロントマター、アタッチメントへの一括編集の前後
  • Vault または生成ドキュメントリポジトリにリグレッションチェックが必要な CI 環境
  • ユーザーが Vault の衛生状態、壊れたリンク、孤立ファイル、重複ファイル、巨大ファイルの分析を求めたとき

基本コマンド

Vault 内から:

vinspect . --format json

グローバルインストールなしの一時利用:

npx vault-inspector /path/to/vault --format json

人間可読なレポートを出力:

vinspect . --format markdown --output report.md

選択したスキャナーのみ実行:

vinspect . --scanner broken-links,empty-notes,large-files --format json

ネットワークチェックが許容される場合のみ、オプトインの外部リンクスキャナーを実行:

vinspect . --scanner external-links --format json

stdout を汚さずに進捗を表示:

vinspect . --format json --progress

ベースラインワークフロー

ベースラインを作成:

vinspect . --format json --output .vault-inspector-baseline.json --fail-on none

新しい発見のみで失敗:

vinspect . --baseline .vault-inspector-baseline.json --fail-on new --format json

ベースラインを使用する場合、summary.newIssues と各 issue の isNew フィールドを検査してください。既知の既存 issue よりも新しい issue を先に報告します。

終了コード

  • 0: スキャンが完了し、設定された --fail-on しきい値に一致しませんでした。
  • 1: スキャンが完了し、設定された --fail-on しきい値に一致しました。
  • 2: CLI の使い方が無効、またはスキャンセットアップに失敗しました。

終了コードが 2 の場合、CLI エラーを報告し、stdout を正常なスキャン結果として解釈しないでください。

結果の解釈

発見事項を次の優先順位で処理:

  1. error 重要度の壊れたリンクと欠落したアタッチメントリンク。
  2. warning 発見事項。欠落した見出し、巨大ファイル、確認済みの重複ファイル、古い孤立アタッチメントを含む。
  3. info 発見事項。使用頻度の低いタグ、スキップまたはタイムアウトした外部チェック、最近の孤立アタッチメント、重複候補を含む。

各サマリーには以下を含めてください:

  • 合計 issue 数;
  • 重要度別の件数;
  • 実行されたスキャナー;
  • 高信頼性の issue を優先;
  • 手動レビューに必要なファイルパスと証拠;
  • 利用可能な場合、ベースラインからの新しい issue 数。

確信度を誇張しないでください。孤立アタッチメントと重複候補は、ファイルが CSS、Canvas、Dataview、公開パイプライン、外部ツールなどから参照されている場合に誤検出となる可能性があります。

推奨エージェント応答

スキャン結果を報告する際は、次の形式を使用してください:

Vault Inspector が <N> 件の issue を検出: エラー <E> 件、警告 <W> 件、情報 <I> 件。

最優先の発見事項:
- [<重要度>] <scannerId>: <primaryPath> - <簡潔な証拠に基づく説明>

注意:
- <ベースライン・新規 issue に関する注意事項(該当する場合)>
- <孤立・重複候補に関する手動レビュー注意事項(該当する場合)>

スキャンがパスした場合は、実行したコマンドと該当するゼロ件数を記載してください。Vault が完璧であるとは主張せず、Vault Inspector が選択されたスキャナーとフィルターに一致する issue を検出しなかったと述べてください。

関連スキル