wiki-fold について
wiki/log.md の生ログを範囲指定でまとめ、追加型のロールアップを作成するスキルです。子エントリーは変更せず、出典との対応を確認し、通常はレビュー用の草稿を作成します。
主な機能
- 01範囲を限定してログ項目を選択
- 02出典付きの抜粋型ロールアップを作成
- 03項目対応と数値の追跡可能性を確認
- 04草稿をプレビューし任意でトランザクション適用
活用シーン
- 01wikiログ項目のまとまりを要約
- 02複数のログにまたがるテーマを整理
- 03適用前に出典付き要約を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ agricidaniel/ claude-obsidian --skill wiki-foldインストール後、Claude Code で/wiki-foldを入力して読み込まれたか確認します。
同梱ファイルreferences/fold-template.md
詳細
抽出的ログの集約
生の wiki/log.md エントリから、追加型の集約を作成します。子エントリやそのページは変更、移動、削除しないでください。集約の集約は行わず、集約を自動的に開始しないでください。
このスキルのインストール先からポータブルコアを解決します。ユーザーボルトは、明示的な --vault、CLAUDE_OBSIDIAN_VAULT、ワークスペース設定、現在のディレクトリからの検出の順に解決します。プラグイン/製品のルートをボルトとして扱わないでください。
PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
test -f "$CORE"
このファイル内のすべての ../wiki/references/ リンクは、選択したボルトの wiki/ ディレクトリからの相対パスではなく、$PRODUCT_ROOT 配下にあるこのスキル自身のディレクトリからの相対パスとして解決します。
このスキルにはネットワークへの外部接続は必要ありません。外部サービスを呼び出さないでください。
範囲を指定する
バッチ指数 k を使い、サイズを 2^k とします。デフォルトは k=4 です。明示的なエントリ範囲で上書きできます。エントリ数が要求数に満たない場合は、不足数を報告して停止し、不完全なバッチを集約しないでください。
選択したログエントリをすべて読みます。参照先の子ページを読むのは、ログに十分なコンテキストがない場合だけにします。読み取り数は0~10件を目標とし、上限は15件です。ページが見つからない場合は、明示的な page_missing レコードとして残します。
構造 ID は入力のみから導出します。
fold-k{K}-from-{EARLIEST-DATE}-to-{LATEST-DATE}-n{COUNT}
wiki/folds/{FOLD_ID}.md がすでに存在する場合は、何もせずに終了します。置き換えるには、明示的な強制リクエストと、別途レビュー済みの replace 提案が必要です。
抽出して下書きを作成する
fold-template.md に従います。すべての子ログエントリは、フロントマターに決定論的な child_key を1つ持ち、Child Entries テーブルに一致する行をちょうど1つ持つ必要があります。ページ単位で子を重複排除しないでください。ただし、最終的な Child Pages リンク一覧では重複排除してかまいません。
すべての結果に、その出典となるエントリを明記します。すべての数値は、選択したエントリで検証可能でなければなりません。複数のエントリにまたがるテーマには、寄与したエントリを少なくとも2つ明記します。創作するよりも ambiguous in source または source missing を優先します。子ページとログエントリの内容が食い違う場合は、両方を保持して不一致を特定します。集約の主な出典はログエントリです。
書き込みを提案する前に、次のチェックを実行します。
- 決定論的な ID と正確なエントリ数
- フロントマターとテーブルの全単射
- 数値の追跡可能性
- すべての結果とテーマに出典の引用があること
- 子、出典、出典台帳、主張台帳に変更がないこと
集約は新たな事実の証拠を追加しないため、主張の評価を格上げしたり、出典レコードを作成したりしません。正規の主張を編集するのではなく、見つかった矛盾を後で確認するために報告します。
デフォルトではプレビュー
ボルトを変更せずに、集約の完全な下書き、ID、子の範囲、読み取り予算、変更予定のパスを返します。並列エージェントが子エントリを確認して抜粋を返してもかまいませんが、集約を組み立てるのはオーケストレーターだけです。ワーカーは書き込みを行いません。
ユーザーが集約の適用またはコミットを明示的に指示した場合は、operation_type: fold を指定した claude-obsidian.transaction.v1 バンドルを1つ作成します。トランザクション契約を読みます。次をまとめて扱います。
createモードをデフォルトとしてwiki/folds/{FOLD_ID}.mdwiki/index.mdの集約カタログエントリwiki/log.mdのファイル先頭に追加する新しい集約エントリ1件
wiki/hot.md は更新しないでください。3つすべての対象に SHA-256 の事前条件を記録します。ホストの Write/Edit、Obsidian トランスポートによる書き込み、非推奨のロック、自動コミット、ファイルごとの適用は使用しないでください。
1回だけ適用する前に確認します。
python3 "$CORE" transaction inspect /path/to/fold-bundle.json --vault /path/to/vault
# Set APPROVAL_SHA256 to the inspect result's approval_sha256 after review.
python3 "$CORE" transaction apply /path/to/fold-bundle.json --vault /path/to/vault \
--approved-plan-sha256 "$APPROVAL_SHA256"
操作 ID と、変更した正確なパスを報告します。同一のバンドルと ID なら冪等です。終了コード75の場合は、再読み込みして再構築します。中断後は transaction recover を使用します。
Git 履歴の確認は、独立した任意のアクションです。
python3 "$CORE" checkpoint OPERATION_ID --vault /path/to/vault
選択したすべてのエントリを確認し、追跡可能性と件数を検証したうえで、子エントリに実際に記載されている内容のみを使って集約を拡張します。