wiki-narrate について
wiki-narrateは、Obsidian wikiからトピック別の引用付きMarkdown解説を作るエージェントスキルです。主張台帳で内容を根拠のある情報に限定し、保存は指定された場合のみ行います。
主な機能
- 01トピックに関連するVaultページを検索
- 02briefing、plain-language、lecturerの文体に対応
- 03事実の主張にVaultページの引用を付与
- 04推論と未解決の矛盾を明示
- 05--save指定時のみ解説を保存
活用シーン
- 01Wikiのトピックについて引用付きの解説を作成
- 02指定した文体で簡潔な読み物を作成
- 03不一致または不足のあるVault内証拠を整理
- 04依頼に応じて完成した解説を保存
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ar9av/ obsidian-wiki --skill wiki-narrateインストール後、Claude Code で/wiki-narrateを入力して読み込まれたか確認します。
同梱ファイルreferences/voices.md
詳細
Wiki Narrate — 引用付きナラティブ読み上げ
このスキルは、トピックベースの Markdown 読み上げにのみ使用してください。タグやページリストによる選択、過去のクエリの入力、音声エイリアス、HTML、PDF、スライド、レンダラーへの引き渡し、新しいコンパイル済みナレッジページの追加は行わないでください。
コマンド仕様
/wiki-narrate <topic> [--voice briefing|plain-language|lecturer] [--save]
- 空でない
<topic>を必須とします。 - デフォルトの音声は
briefingです。 - 音声名は正規の表記と大文字・小文字を区別します。サポートされていない値が指定された場合は、検索や書き込みを行わず、
briefing、plain-language、lecturerを列挙したエラーを返してください。 - 永続化を有効にする唯一のスイッチは
--saveです。 - トピックが指定されていない場合、オプションの形式が不正な場合、またはサポートされていない音声が指定された場合は、短い使用方法または検証エラーを返し、検索、書き込み、ログイベントの追記、
hot.mdの変更を行わないでください。
検索と取得
執筆プロファイル: 自然言語の Markdown を起草または書き直す前に、llm-wiki/SKILL.md の Writing Profile Resolution セクションを読み、適用してください。フレームワークのスキーマ、出典、安全性、および操作固有の要件が優先されます。
WRITING.md の設定は、新たに起草または書き直す自然言語の Markdown にのみ適用します。ソースコンテンツと構造化された記録は保持してください。
- インラインの
@nameによる Vault の上書きを含め、Config Resolution Protocol に従って設定を解決し、対象 Vault にAGENTS.mdがある場合は読み込んでください。引用を起草する前にOBSIDIAN_LINK_FORMATを読み込んでください。 - 最初に
hot.mdとindex.mdを読みます。本文を読む前に、フロントマターと要約に基づいて候補を選択してください。 - 設定されている場合は
rgより先に QMD を使用します。QMD がない場合、未設定の場合、または失敗した場合は、インデックスとrgの手順を続行してください。QMD の出力は候補の参考情報として扱い、証拠としては扱わないでください。各主張の根拠は、許可された Vault ページ自体から確認してください。 - 「public only」「user-facing」「no internal content」「as a user would see it」「exclude internal」などのフィルターモードを示す表現を尊重してください。そのモードでは、
visibility/internalまたはvisibility/piiのタグが付いたページはスキップし、読んだり、引用したり、内容を公開したりしないでください。 - 候補から
_readouts/、_raw/、_archives/、_meta/、index.md、log.md、hot.md、_insights.mdを除外してください。 - ページ全体を読む前に該当するセクションを読み、事実に関する主張を別の方法で確認できない場合に限り、ページ全体を読んでください。関連するライフサイクルと鮮度に関する注記を保持し、ページの信頼性を引き上げないでください。
主張台帳と引用監査
文章を作成する前に台帳を作成してください。各項目には、主張、裏付けとなる [[vault page]] リンク、および次のいずれか1つのステータスを含めます:裏付けのある事実、推論による関連付け、または曖昧な矛盾。
OBSIDIAN_LINK_FORMAT=markdown の場合は、同じ裏付けページを標準の Markdown リンクとして表示します。それ以外の場合は、Vault の [[wikilink]] 形式を使用します。
事実に関するすべての文に、隣接する裏付けの引用があることを確認してください。推論による関連付けには ^[inferred] を付け、未解決の矛盾には ^[ambiguous] を付けてください。情報の不足を埋めるために、ウェブ上の知識、モデルの記憶、または架空の例を使ってはいけません。裏付けのない主張は省略し、その情報不足を Coverage に記載してください。推論または曖昧さのマーカーは、隣接する引用を補足するものであり、引用の代わりにはなりません。
起草と出力
references/voices.md を読み、指定された音声のスケルトンをそのまま使用してください。選択した音声によって文章や順序を変えてもかまいませんが、台帳で定めた事実の範囲は変更できません。次の構成で Markdown のみを返してください。
- トピックと選択した音声を示すタイトル。
- 選択した音声のセクションを、ドキュメントで定義された順序で記載。
- 各事実文の直後に、
OBSIDIAN_LINK_FORMATに従って表示した引用を記載。 - 引用したページ、推論を含む文の数、および既知の証拠不足を列挙する
## Coverageフッター。
証拠が不十分または矛盾している場合は、裏付けのある部分のみを作成してください。未解決の矛盾にはそれぞれ、矛盾するすべてのページへの引用とともに ^[ambiguous] を付け、残りの情報不足を ## Coverage に記載してください。
永続化
デフォルトでは結果を提示します。--save の場合は、必要に応じて _readouts/ を作成し、title、topic、voice、sources、created、updated を含むフロントマターを付けて _readouts/<slug>.md に書き込みます。トピックから決定的に生成した、ファイルシステムで安全な <slug> を使用してください。会話で返したものと同じ、完成した Markdown のリードアウトを保存します。
リードアウトは派生出力です。検索対象から _readouts/ を除外し、index.md や .manifest.json を更新してはいけません。--save が成功するまでは、_readouts/ やリードアウトファイルを作成してはいけません。
ロギングとホットキャッシュ
検索に進んだナレーションの試行後、log.md に WIKI_NARRATE イベントを1件追記します。
obsidian-wiki memory log WIKI_NARRATE \
topic="<topic>" voice=<voice> result_pages=<N> \
mode=<normal|filtered> saved=<true|false> \
outcome=<success|no_match|write_failed>
これは、--save を指定しないナレーションで許可される唯一の書き込みです。index.md や hot.md を手動で変更してはいけません。
--saveを指定しない場合は、リードアウトを返した後にsaved=falseを付けてイベントを追記します。リードアウトを作成したり、hot.mdを変更したりしてはいけません。--saveの書き込みに成功した場合は、saved=trueを付けてイベントを追記し、トピック、語り口、引用ページ数、保存したリードアウトのパスを含む1行の要約でホットキャッシュを更新します:obsidian-wiki memory hot --takeaways "<line>"。hot.mdを変更できるのは保存成功後のみであり、その場合もこのコマンドを通じてのみ変更します。- 下書きの作成後にリードアウトの書き込みに失敗した場合は、完成したリードアウトを会話で返し、保存に失敗したことを報告します。
log.mdに書き込み可能であれば、saved=false outcome=write_failedを付けたWIKI_NARRATEイベントを追記し、hot.mdは更新しません。 log.mdへの追記に失敗した場合は、リードアウトの結果を保持し、ロギングの失敗を別途報告します。ロギングや保存の失敗を成功として扱ってはいけません。
安全な失敗時の動作
- 一致するページがない場合: トピックに関する資料が保管庫にないことを説明します。
--saveが指定されていてもリードアウトファイルを作成せず、hot.mdを変更しません。また、log.mdに書き込み可能であれば、outcome=no_matchを付けたWIKI_NARRATEイベントを記録します。 - 根拠が弱い場合、または情報源が矛盾する場合: 外部知識で矛盾を解消してはいけません。裏付けのある主張のみを返し、該当する場合は曖昧さを明示して、
## Coverageで不足を明確にします。このような部分的なリードアウトでも、正常に作成できた場合は保存できます。 - QMD が利用できない場合、または設定されていない場合: 作業中の更新でフォールバックを簡潔に述べ、
index.mdとrgを使って安全に続行します。QMD が利用できないことだけを理由にナレーションを失敗させてはいけません。 - 書き込みに失敗した場合: 部分的なリードアウトを保存済みとして提示してはいけません。
hot.md、index.md、.manifest.jsonを更新してはいけません。