wiki-ingest について
wiki-ingestは、テキスト、文書、ノート、ディレクトリを構造化されたwikiページに変換するナレッジベース編集スキルです。検索可能な知識ネットワークを作る人向けに、エンティティ別ページ、相互参照、索引、操作ログを管理します。
主な機能
- 01テキスト、ファイル、ディレクトリの取り込み
- 02概念、製品、パターン、比較項目の抽出
- 03エンティティごとのページ作成と更新
- 04Obsidian互換の相互参照の追加
- 05索引と追記式ログの管理
活用シーン
- 01記事を検索可能なwikiに整理
- 02文書を一括処理してリンク付きページを作成
- 03新しい資料で既存wikiを更新
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sanyuan0704/ sanyuan-skills --skill wiki-ingestインストール後、Claude Code で/wiki-ingestを入力して読み込まれたか確認します。
同梱ファイルreferences/page-templates.md
詳細
Wiki Ingest — ナレッジベースコンパイラー
あらゆるテキストコンテンツ(記事、文書、メモ)を、相互参照を含む構造化された Wiki ページに変換し、検索可能で相互につながったナレッジネットワークを構築します。
鉄則:Wiki ページ 1 つにつきナレッジエンティティ 1 つです。複数の概念を 1 つのページに詰め込まないでください。
Wiki ディレクトリ構造
Wiki のデフォルトの保存先は、現在のプロジェクトルート直下の wiki/ です。ユーザーは別のパスを指定できます。
wiki/
├── index.md # Full table of contents
├── log.md # Append-only operation log
├── concepts/ # Core concept pages
├── products/ # Product/tool entity pages
├── patterns/ # Engineering patterns & design decisions
└── comparisons/ # Cross-topic comparison pages
ワークフロー
1. 入力の確認
ユーザーが指定した以下のコンテンツソースを受け付けます。
- 直接貼り付けられたテキスト
- ファイルパス(md、txt、pdf など)
- ディレクトリパス(一括処理)
ユーザーが Wiki のパスを指定しない場合は、wiki/ を使用します。ディレクトリが存在しない場合は作成します。
2. 既存の Wiki の確認
wiki/index.md が存在する場合は読み込み、既存ページを把握して重複を避けます。
3. ナレッジエンティティの抽出
コンテンツから以下を抽出します。
- 概念(
concepts/):抽象的なアイデア、用語、理論 - 製品(
products/):特定の製品、ツール、サービス - パターン(
patterns/):エンジニアリングパターン、設計上の決定、方法論 - 比較(
comparisons/):製品間またはアプローチ間の分析
抽出の基準:他のページから参照される場合に限り、エンティティに独立したページを作成します。
4. ページの作成または更新
各エンティティを Wiki ページ 1 つに対応させます。
→ ページテンプレートを読み込むには、references/page-templates.md を参照してください。
ルール:
- ページがすでに存在する場合 → 更新し、新しい情報を追記します。既存の内容を上書きしないでください。
- 新しいコンテンツによって明らかにより良い定義が得られない限り、1 行の定義は変更しないでください。
- 「Sources」と「Related Pages」セクションの更新を優先します。
5. 相互参照の更新
既存の Wiki ページをすべて確認します。新しいコンテンツが他のページで参照されている概念に関係する場合は、以下を行います。
- 「Related Pages」リストを更新する
- 「Sources」リストを更新する
- 詳細セクションに新しい情報を補足する
6. index.md の更新
新しいページの項目を、カテゴリ別に整理して wiki/index.md に追加します。
7. log.md への追記
wiki/log.md に以下を追記します。
## YYYY-MM-DD: Ingest <source title>
**Source**: <file path or "user input">
**New pages**: list newly created pages
**Updated pages**: list modified pages
**New cross-references**: list newly established links
8. 結果の報告
作成したページ、更新したページ、新たに設定した相互参照をユーザーに伝えます。
ファイル名
- すべて小文字にし、ハイフンで区切ります:
agent-loop.md、kv-cache.md - 番号ではなく、エンティティの名前を使います
相互参照の形式
- Obsidian 互換の二重リンク形式
[[category/page-name]]を使用します。例:[[concepts/agent-loop]]、[[products/claude-code]] - ディレクトリ間での曖昧さを避けるため、必ずカテゴリの接頭辞を含めます
- 各ページの末尾に、関連するすべてのページを列挙します
ガイドライン
- ページの重複を作成しないでください。必ず最初に wiki/ を確認します。
- 些細なエンティティは抽出しないでください。概念が一度しか登場せず、他の場所から参照されない場合はスキップします。
- 一括処理では、まずすべてのエンティティを抽出してから、ページを作成し、相互参照をまとめて更新します。中間状態の不整合を避けるためです。
- 取り込みのたびに、必ず index.md と log.md を更新します