wiki-mode について
wiki-modeは、選択した方式に基づいてノートの保存先を提案するスキルです。ノートを整理する人向けで、既存ページを変更せず、検証を経た非破壊的なルーティングを行います。
主な機能
- 01generic、LYT、PARA、Zettelkasten方式でルーティング
- 02Vaultのパス検証と名前のサニタイズ
- 03ページを書き込まず保存先を提案
- 04レビュー済みトランザクションで方式を変更
- 05既存ノートをそのまま保持
活用シーン
- 01新しい概念やソースの保存先選択
- 02方式変更前のノート振り分け確認
- 03既存ページを移行せずVaultの方式を変更
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ agricidaniel/ claude-obsidian --skill wiki-modeインストール後、Claude Code で/wiki-modeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
templates/lyt/atomic-template.mdmoc-template.mdtemplates/para/area-template.mdproject-template.mdresource-template.mdtemplates/zettel/atomic-template.md詳細
ボルトの方法論によるルーティング
このスキルは、保存先の提案を返します。ナレッジページの作成や既存のノートの移動は行いません。.vault-meta/mode.json が存在しない場合は、generic を使用します。ファイルが存在するものの無効な場合は、安全側に倒して処理を中止し、ルートを提案する前に、レビュー済みの設定操作を通じて修復してください。破損したユーザー設定を、黙って Generic に置き換えてはなりません。
ボルトや現在の作業ディレクトリではなく、このスキル自体の場所からインストール済み製品のルートを解決します。
PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
MODE_HELPER="$PRODUCT_ROOT/scripts/wiki-mode.py"
test -f "$CORE" && test -f "$MODE_HELPER"
このファイル内の ../wiki/references/ のリンクはすべて、選択したボルトの wiki/ ディレクトリからではなく、$PRODUCT_ROOT 配下にあるこのスキル自体のディレクトリを基準に、同じ方法で解決されます。
安全な読み取りとルーティング
必ずボルトを明示的に選択してください。
python3 "$MODE_HELPER" --vault "$VAULT" get
python3 "$MODE_HELPER" --vault "$VAULT" config
python3 "$MODE_HELPER" --vault "$VAULT" route concept "Concept name"
python3 "$MODE_HELPER" --vault "$VAULT" route source "Source title"
このヘルパーは、選択したボルトを検証し、パスを制限し、名前をサニタイズして、提案のみを出力します。呼び出し元のスキルは、ユーザーがより具体的なプロジェクト、エリア、MOC、または親ノートを指定した場合、提案を上書きできます。ただし、最終的な書き込みは必ず1つの操作トランザクションを通じて適用してください。
| モード | ルーティングの意図 |
|---|---|
generic | ソース、エンティティ、概念、セッションなど、種類ごとのフォルダーを使用します。 |
lyt | wiki/notes/ 配下にアトミックノートを作成し、MOC を通じてつなぎます。 |
para | 実行可能性に応じて、プロジェクト、エリア、リソース、アーカイブを選択します。 |
zettelkasten | 時系列で並べ替え可能で衝突しにくい識別子と明示的なリンクを使い、フラットなアトミックノートを作成します。 |
テンプレートは構造上のガイドとして使用してください:LYT アトミック、
LYT MOC、PARA エリア、
PARA プロジェクト、
PARA リソース、または
Zettelkasten アトミック。これらは
claude_obsidian/page_schema.py の正規の type 値と、独立したフラットな
methodology_role プロパティを使用します。
| テンプレート | タイプ | 方法論上の役割 |
|---|---|---|
| LYT アトミック | concept | atomic |
| LYT MOC | meta | moc |
| PARA エリア | concept | area |
| PARA プロジェクト | entity | project |
| PARA リソースコレクション | concept | resource |
| Zettelkasten アトミック | concept | zettel |
リソーステンプレートは、トピックのコレクションを記述します。新しいページが、特定の取り込んだソースを表す場合は、代わりに source を使用してください。方法論上の役割によってルーターのタイプが追加されることはありません。正規のタイプを渡し、選択したプロジェクト、エリア、または MOC の保存先に従ってください。構造用 MOC には明示的な保存先を指定します。meta は、新規ノートにルーティング可能なタイプではありません。既存のユーザーページ、カスタムタイプの語彙、保存済みの Dataview クエリは変更されません。移行が必要な場合は、独立したレビュー済みの計画が必要です。モードを切り替えても既存のノートは書き換えられません。
モードの変更
モードの変更は1つの設定操作として行い、まずドライランを実行します。
-
現在の
.vault-meta/mode.jsonを読み取ります。存在しない場合は、ヘルパーのデフォルト設定を使用します。 -
要求されたモードが
generic、lyt、para、zettelkastenのいずれかと完全に一致することを検証します。その他のモード固有の設定は保持します。 -
両方のコマンドで固定した UTC タイムスタンプと操作 ID を選択し、保持します。
-
正規の設定トランザクションをプレビューします。このコマンドは現在の対象ハッシュを記録し、書き込み先を
.vault-meta/mode.jsonに限定します。python3 "$CORE" mode set "$MODE" --vault "$VAULT" \ --generated-at "$GENERATED_AT" --operation-id "$OPERATION_ID" -
変更前のモード、変更後のモード、変更される正確なパス、プレビューの全内容を表示します。レビュー後にのみ、その
approved_plan_sha256をコピーしてください。 -
同じボルトにひも付いたプランを再生成して適用します。
python3 "$CORE" mode set "$MODE" --vault "$VAULT" \ --generated-at "$GENERATED_AT" --operation-id "$OPERATION_ID" \ --approved-plan-sha256 "$APPROVAL_SHA256" --apply
操作トランザクションの仕様に従ってください。このワークフローを回避するために、scripts/wiki-mode.py の旧式の直接書き込み set アクションやセットアップスクリプトを使用しないでください。
モードの変更が影響するのは、今後の操作のルーティングのみです。副作用としてフォルダーを一括作成したり、ノートを移動したり、ウィキリンクを書き換えたり、既存のページを移行したりしてはなりません。後から移行を依頼された場合は、独自のハッシュとトランザクションを用意し、別の操作として計画してレビューしてください。
チェックポイント
ユーザーの現在の構成を観察し、ノートの取得方法や活用方法を考え、設定を変更する前にいくつかのルート案を検証します。実際に分類で不便が生じたときにのみ、モードを見直して成長させます。