mcpField
W
wiki-lint

wiki-lint

github.com/agricidaniel生産性16.0k461 回インストール1 週間前に更新
リポジトリ

wiki-lint について

wiki-lintは、Obsidianのボルトを対象とする読み取り専用の検査スキルです。wikiの構造とメタデータを決定的に確認し、修正やレポートをボルト内に作成せず、リンクや孤立ページなどの問題を報告します。

主な機能

  1. 01リンク、ページ、メタデータ、索引のスキャン
  2. 02リンク切れと曖昧なリンクの検出
  3. 03孤立ページと空のセクションの報告
  4. 04繰り返し使えるglob規則でパスを除外
  5. 05テキストまたはMarkdownで出力

活用シーン

  1. 01公開や共有前のボルト検査
  2. 02ナビゲーション切れやリンクの曖昧さの特定
  3. 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 を含む)、空セクション、古いインデックスエントリー、ソース/主張台帳の契約違反などのカテゴリが含まれます。出力に含まれるチェック項目と件数だけを報告してください。実際には実施していない意味的、文体的、文章レベルの矛盾分析を実施したと主張してはいけません。

検出結果の説明

  1. エンジンが示したパス、行番号、リンク先、カテゴリ、件数を保持します。
  2. 検出結果を、影響が大きいと思われる順にグループ化します。ナビゲーションの破損、解決先の曖昧さ、メタデータの品質、保守性の順にします。
  3. 孤立ページは意図的な場合があり、曖昧なベース名にはパスを指定したリンクが必要であることを説明します。検出結果だけから意図を推測してはいけません。
  4. 許可リストに登録された検出結果はポリシーとして扱い、リンク先が存在する証拠とはみなしません。
  5. 決定論的な事実と修正案を分けて示します。

Markdown のレンダリング結果を Vault に書き込まないでください。チャットまたは標準出力に返してください。

修復は別の操作です

lint の結果を自動修正してはいけません。ユーザーが修復する検出結果を具体的に選択した後、次の手順に従います。

  1. 各リンク先を再読み込みし、期待する SHA-256 を記録します。
  2. 選択された変更だけを下書きします。明示的な同意なしにページを削除したり、統合したりしてはいけません。
  3. 新しい操作 ID を使って、修復バンドルを 1 つ作成します。
  4. バンドルを確認し、変更されたパスを正確に示します。
  5. その個別のレビューが完了した後にのみ適用します。
  6. 読み取り専用で lint を再実行し、関連する検出結果を比較します。

操作トランザクションの契約に従ってください。 Lint 自体がこのトランザクションを適用したり、Git にコミットしたりすることはありません。

チェックポイント

決定論的なレポートを確認し、検出件数ではなく根本原因を考え、提案する修復内容を現在のハッシュと照合して検証します。同じ検出結果が繰り返される原因となったワークフローを改善し、より良いものにしていきます。

コメント