wiki-query について
wiki-queryは、SQLite FTS5のBM25検索でwiki-builderのページを検索します。ユーザーやエージェントが既存資料や関連ページを見つけ、調査の重複を避けるために検索内容を引用できます。
主な機能
- 01BM25全文検索
- 02全Wikiまたは指定Wikiの検索
- 03関連ページの検索
- 04扱いやすいJSON形式の検索結果
- 05SessionStartでトピック別ヒントを提示
活用シーン
- 01ページ追加前にWikiの既存内容を確認
- 02分野の質問に関する既存回答を検索
- 03引用前にWikiの出典を検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ rohitg00/ pro-workflow --skill wiki-queryインストール後、Claude Code で/wiki-queryを入力して読み込まれたか確認します。
同梱ファイルscripts/query.js
詳細
Wiki Query
wiki-builderでインデックス化されたWikiページを対象とする、FTS5 BM25検索です。
使用するタイミング
- 新しいWikiページを書く前に、まず内容の網羅状況を確認する
- 既存のWikiに情報がある可能性のあるドメインに関する質問をユーザーから受けたとき
- 「 wiki に質問する:」
- 主張を引用する前に、出典を確認するとき
- プロンプトが既知のWikiトピックに一致したときに
SessionStartで自動読み込みする
コマンド
node $SKILL_ROOT/scripts/query.js search "<query>" [--wiki <slug>] [--limit 10] [--json]
node $SKILL_ROOT/scripts/query.js related <slug> <rel-path> [--limit 5]
node $SKILL_ROOT/scripts/query.js show <slug> <rel-path>
--wikiを指定せずにsearchを実行すると、すべてのWikiを対象に順位付けします。relatedは、ページのタイトルと概要をクエリとして再利用し、関連ページを検索します。
出力
JSON で扱いやすい形式です。各検索結果:
{
"page_id": 12,
"wiki_slug": "agent-memory",
"rel_path": "wiki/concepts/episodic-memory.md",
"title": "Episodic Memory",
"snippet": "... [time-stamped] traces, distinct from semantic ...",
"rank": -3.21
}
順位が低い(負の値が大きい)ほど、BM25 の一致度は高くなります。
引用元の提示
Wiki の検索結果はすべて、次の形式で引用する必要があります。
[wiki:<slug>] <title> — `<rel_path>`
出典を示さずに検索結果を言い換えないでください。
SessionStart との連携
pro-workflowのSessionStartフックは、ユーザーのプロンプト内にWiki関連の用語を検出すると、query.js search "<prompt>" --limit 3を実行し、上位の検索結果をヒントとしてセッションに挿入します。
[wiki-query] 3 relevant pages:
- agent-memory · wiki/concepts/episodic-memory.md
- agent-memory · wiki/papers/park-2023-generative-agents.md
- ...
調査をやり直す代わりに、Claude が既存の知識を想起するのに役立ちます。
制限(Phase 3.3.0)
- BM25 のみです。ベクトル検索は、sqlite-vec とともに 3.3.2 で追加されます。
- 再ランキングには対応していません。MMR による多様性は、3.3.1 のリサーチループとともに追加されます。
- スニペットの範囲は、一致箇所の前後 16 トークンです。
--snippet-lenで調整できます。
コメント
Markdown 対応