wiki-lint について
wiki-lintは、Obsidianのボルトを対象とする読み取り専用の検査スキルです。wikiの構造とメタデータを決定的に確認し、修正やレポートをボルト内に作成せず、リンクや孤立ページなどの問題を報告します。
主な機能
- 01リンク、ページ、メタデータ、索引のスキャン
- 02リンク切れと曖昧なリンクの検出
- 03孤立ページと空のセクションの報告
- 04繰り返し使えるglob規則でパスを除外
- 05テキストまたはMarkdownで出力
活用シーン
- 01公開や共有前のボルト検査
- 02ナビゲーション切れやリンクの曖昧さの特定
- 03必須フロントマターと古い索引項目の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ agricidaniel/ claude-obsidian --skill wiki-lintインストール後、Claude Code で/wiki-lintを入力して読み込まれたか確認します。
詳細
Wiki を lint する
可搬性のある lint エンジンを信頼できる情報源として使用します。Lint は Vault の状態を確認しますが、レポート、ダッシュボード、キャンバス、スタブ、修正を作成することはありません。
Vault や現在の作業ディレクトリではなく、このスキル自体の場所を基準に、インストール済み製品のルートを解決します。
PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
test -f "$CORE"
このファイル内のすべての ../wiki/references/ リンクは、選択した Vault の wiki/ ディレクトリを基準にするのではなく、$PRODUCT_ROOT の下にあるこのスキル自体のディレクトリを基準に、同じ方法で解決されます。
実行
ユーザーの Vault を解決し、次のいずれかを実行します。
python3 "$CORE" lint --vault "$VAULT"
python3 "$CORE" lint --vault "$VAULT" --format markdown
python3 "$CORE" lint --vault "$VAULT" --exclude "wiki/scratchpad/*"
繰り返し指定できる --exclude GLOB フラグを使うと、スクラッチパッドフォルダーなどのパスを、ページ、リンク解決、孤立ページ、フロントマター、空セクション、古いインデックスのスキャン対象から除外できます。
検出結果がある場合に終了コードを 0 以外にすることが自動化で役立つ場合に限り、--strict を使用してください。どちらの場合も、コマンドは読み取り専用です。
決定論的なパーサーは、Obsidian の Wiki リンクと埋め込み、Markdown リンク、エイリアス、見出しおよびブロックのフラグメント、エスケープされたエイリアス、コードフェンスを理解します。既定ではドットで始まるディレクトリをスキップし、Obsidian 独自のインデクサーと同じ動作をします。リンク解決では、Vault 内の .gitignore ファイルが考慮されます(git サブプロセスは使用しません)。ページと、ビルド成果物などの Git で無視されるファイルがリンク先の候補として曖昧になる場合、Git で無視される候補は除外されます。
検出結果には、リンク切れや曖昧なリンク、孤立ページ、必須フロントマターの不足(title を含む)、空セクション、古いインデックスエントリー、ソース/主張台帳の契約違反などのカテゴリが含まれます。出力に含まれるチェック項目と件数だけを報告してください。実際には実施していない意味的、文体的、文章レベルの矛盾分析を実施したと主張してはいけません。
検出結果の説明
- エンジンが示したパス、行番号、リンク先、カテゴリ、件数を保持します。
- 検出結果を、影響が大きいと思われる順にグループ化します。ナビゲーションの破損、解決先の曖昧さ、メタデータの品質、保守性の順にします。
- 孤立ページは意図的な場合があり、曖昧なベース名にはパスを指定したリンクが必要であることを説明します。検出結果だけから意図を推測してはいけません。
- 許可リストに登録された検出結果はポリシーとして扱い、リンク先が存在する証拠とはみなしません。
- 決定論的な事実と修正案を分けて示します。
Markdown のレンダリング結果を Vault に書き込まないでください。チャットまたは標準出力に返してください。
修復は別の操作です
lint の結果を自動修正してはいけません。ユーザーが修復する検出結果を具体的に選択した後、次の手順に従います。
- 各リンク先を再読み込みし、期待する SHA-256 を記録します。
- 選択された変更だけを下書きします。明示的な同意なしにページを削除したり、統合したりしてはいけません。
- 新しい操作 ID を使って、修復バンドルを 1 つ作成します。
- バンドルを確認し、変更されたパスを正確に示します。
- その個別のレビューが完了した後にのみ適用します。
- 読み取り専用で lint を再実行し、関連する検出結果を比較します。
操作トランザクションの契約に従ってください。 Lint 自体がこのトランザクションを適用したり、Git にコミットしたりすることはありません。
チェックポイント
決定論的なレポートを確認し、検出件数ではなく根本原因を考え、提案する修復内容を現在のハッシュと照合して検証します。同じ検出結果が繰り返される原因となったワークフローを改善し、より良いものにしていきます。