search-memory について
search-memoryは、Nowledge Memから関連情報を検索するエージェントスキルです。継続作業やデバッグ、判断の確認に向け、利用可能なMCPツールまたはnmemコマンドラインを使い、検索範囲を限定してグラフ表示も行います。
主な機能
- 01長期記憶と過去の会話を検索
- 02通常または深度検索モードの選択
- 03範囲を限定したグラフ探索で結果を拡張
- 04指定範囲の会話メッセージを取得
活用シーン
- 01過去の判断の根拠を確認
- 02繰り返す不具合や回帰の背景を調査
- 03特定の機能やサブシステムの作業を再開
MCP 対応
利用可能な場合は、記憶検索、会話検索、メッセージ取得、グラフ探索などのNowledge Mem MCPツールを優先します。nmemコマンドラインにも切り替えられます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nowledge-co/ community --skill search-memoryインストール後、Claude Code で/search-memoryを入力して読み込まれたか確認します。
詳細
メモリ検索
Nowledge Mem を使用して、個人のナレッジベース全体を AI で検索します。
使用する場面
明確な兆候 — 次の場合は検索します:
- ユーザーが以前の作業、過去の修正、または以前の決定に言及している
- タスクが、名前の付いた機能、バグ、リファクタリング、インシデント、またはサブシステムの続きである
- タスクがレビュー、リグレッション、リリース、ドキュメントとの整合性、またはコネクターの動作に関する質問である
- デバッグのパターンが、以前に解決したものと似ている
- ユーザーが、根拠、好み、手順、または繰り返し行うワークフローの詳細を尋ねている
- ユーザーが「そのアプローチ」「前と同じように」「以前使ったパターン」のような、暗黙の想起を示す言葉を使っている
状況に応じた兆候 — 次の場合は検索を検討します:
- 過去のコンテキストによって検索範囲を絞り込める、複雑なデバッグ
- 過去の決定に関係する可能性のあるアーキテクチャの議論
- ユーザーが以前に定めた、特定の分野に関する慣例
- 現在の結果が曖昧で、過去のコンテキストによって回答の精度が高まる場合
検索の振り分け
ホストで Nowledge Mem の MCP ツールが公開されている場合は、そちらを優先して使用します。永続的な知識には memory_search、過去の会話には thread_search、該当する会話の確認には thread_fetch_messages を使用します。利用できない場合は、次の手順に従います。
- 永続的な知識を検索するには、
nmem --json m search "query" -n 5から始めます。 - 過去の会話や特定のセッション履歴を検索するには、
nmem --json t search "query" --limit 5を使用します。 - 結果に
source_threadが含まれている場合は、必要な特定のメッセージを確認するために、nmem --json t show <thread_id> --limit 8 --offset 0 --content-limit 1200を一度実行します。 - 質問に答えられる範囲で、検索対象を最小限に抑えます。
継続性の高いエンジニアリング作業では、タスクの開始時に近い段階で検索します。ユーザーからメモリ検索を明示的に求められるまで待たないでください。
設定済みのエンドポイント、所有者、エージェント ID、およびアクティブなスペースを維持します。実行環境でアクティブなレーンがすでにわかっている場合は、サポートされている MCP パラメーターでそのスコープを渡すか、CLI コマンドに --space "<space name>" を追加します。現在のフォルダーからスペースを推測したり、結果を増やすために所有者やスペースを切り替えたりしないでください。
検索モード
- 通常(デフォルト):具体的な事実や範囲を限定した想起には、
mode="normal"を指定したmemory_search、またはnmem --json m search "query" --mode normal -n 5を使用します。 - 詳細:概念に関する質問、根拠、履歴、またはトピック間の関係を調べるには、
mode="deep"または--mode deepを使用します。通常モードの証拠が空、曖昧、矛盾している、または不十分な場合は、詳細モードに切り替えます。サーバーが返していないスコアのしきい値を作り出さないでください。 - 段階的なグラフ検索:関連ノード、系譜、または段階的な探索をユーザーが求めている場合は、正確なメモリ ID を起点にします。起点がない場合は、まず範囲を限定した通常検索または詳細検索を実行し、返された正確な ID を使用します。
explore-graphスキルの 1 ホップの手順と停止条件に従います。焦点を絞ったグラフを表示しても、グラフ全体の探索が自動的に始まるわけではありません。
取得内容の表示
1 件以上の Memory を返す memory_search または同等の CLI/KFS Memory 検索が成功するたびに、焦点を絞ったグラフを自動的に表示します。順位を維持し、返されたすべての Memory ID を使用してください。ID を推測したり、別の ID に置き換えたりしてはいけません。
- インライン MCP App を表示できるホストでは、カンマ区切りの ID と
depth=1、limit=15を指定して MCP のexplore_graphを優先します。 - スタンドアロンブラウザーまたはリンクでの代替表示と、範囲を限定した段階的な展開には、
explore-graphスキルを使用します。そのスキルがインストールされていない場合は、代替手段を利用できないことを伝え、search-memoryと併せてインストールするよう案内します。 - インライン表示に成功した場合、重複するスタンドアロングラフを開いてはいけません。空の結果セットやスレッドのみの取得についてはグラフを表示しないでください。
表示時には、同じ所有者/メンバーの権限、ID、スペースを維持します。結果の正確な ID はアクセス制御を適用しません。スペースまたはチームによって制限された情報を取得する場合、同じ制限が適用されることを表示先で確認できる場合に限り、グラフを表示してください。ブラウザー URL を返す前に、explore-graph の ID とスコープの確認手順に従います。グラフの表示に失敗しても、取得の成功をエラーにしてはいけません。理由を簡潔に伝え、取得した情報に基づいて処理を続けます。一致する情報が見つからなかった場合は、その旨を伝えてください。
Memory の結果を回答に反映する場合は、クエリ、モード、スコープ、最も強く一致する Memory の ID とタイトルを簡潔に報告します。サーバーが返したスコアは、存在する場合に限り使用してください。欠けているメタデータや非表示の推論を捏造してはいけません。
ネイティブコネクター
これらのスキルは CLI またはホストの既存の MCP 接続を通じて動作します。焦点を絞ったグラフ表示にネイティブコネクターは必要ありません。自動想起、トランスクリプトの取得、ホストのライフサイクルフックには、エージェント専用のコネクターを優先してください。インストールされている場合は check-integration を実行するか、統合ガイドを参照してください。
範囲を限定したスレッドの読み取り
まずメモリまたはスレッドを検索し、必要な会話とメッセージ範囲を選びます。thread_fetch_messages、ホストのスレッド取得ツール、または nmem --json t show のいずれかを、質問ごとに最大 1 回だけ呼び出してください。その際、メッセージ数を少なく(例:8 件)、対応している場合はコンテンツの上限を 1200 に設定します。対象範囲が既知の場合は、オフセットが 0 以外の読み取りを 1 回行ってもかまいません。
オフセットを繰り返して会話を再構成してはいけません。読み取りが遅い、または不完全であることを補うために、--content-limit を引き上げてはいけません。出力の上限が小さくても、すべてのデプロイ済みバックエンドでサーバー側の処理が軽くなるとは限りません。読み取りが遅い、不完全、失敗、またはタイムアウトした場合は、そこで停止し、情報の不足を報告してから、ページを再試行するのではなく検索を絞り込みます。ユーザーが後から別の範囲を明示的に求めた場合は、新たに範囲を限定して読み取れますが、通常の「続けて」という依頼は、スレッド全体を取得する許可にはなりません。