search-knowledge について
search-knowledgeは、自然言語クエリでブランドの蓄積知識を検索するDigital Marketing Proのスキルです。利用可能なベクトル、グラフ、ローカルのメモリ検索をまとめ、フィルターと出典情報を付けて表示します。
主な機能
- 01自然言語による知識検索
- 02セマンティック・完全一致・ハイブリッド検索
- 03種類・日付・タグ・優先度の絞り込み
- 04接続済みメモリ層の横断検索
- 05出典付きの順位表示
- 06関連項目と知識不足の特定
活用シーン
- 01ブランドボイスやコンプライアンス指針の検索
- 02過去のキャンペーン知見の取得
- 03競合やオーディエンスに関する調査
MCP 対応
設定済みの場合、接続されたMCP連携を通じてベクトルデータベースやナレッジグラフサーバーを検索し、ローカルインデックスも併用します。外部メモリサービスは任意で接続します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ indranilbanerjee/ digital-marketing-pro --skill search-knowledgeインストール後、Claude Code で/search-knowledgeを入力して読み込まれたか確認します。
詳細
/digital-marketing-pro:search-knowledge
スクリプトの場所。 ホストで
${CLAUDE_PLUGIN_ROOT}が設定されていない場合、スクリプトはこのプラグインのscripts/フォルダー(skills/の隣)にあります。Python 3.10 以降で実行してください。pythonが見つからない場合は、python3を使用してください(macOS、多くの Linux システム)。
目的
ベクトルデータベースとナレッジグラフに保存されている、ブランドに関するあらゆる知識を意味的に検索します。「第4四半期のメール施策で効果があったものは?」「ブランドのトーンと表現に関するガイドラインは?」「オーディエンス X についての学びを見せて」「競合 Y の価格設定について何が分かった?」などの質問に答えます。関連するエントリーを類似度順に、出典の完全なコンテキストとともに返すため、エージェントやユーザーは現在のセッションで覚えていることだけでなく、ブランドがこれまでに学んだすべてに基づいて判断できます。接続されたすべてのメモリレイヤーを同時に検索します。意味的類似性を調べるベクトル DB、エンティティ間の関係を調べるナレッジグラフ、未同期の新しいエントリーを調べるローカルインデックスです。
必須入力
ユーザーは次の情報を指定する必要があります(または入力を求められます)。
- 検索クエリ:自然言語での質問またはトピック。例:「開封率を最も高めたメールの件名パターンは?」「EU 市場におけるコンプライアンス上の制限は?」「競合 X について分かっていることをすべて見せて」「第4四半期にミレニアル世代のオーディエンスに効果があったキャンペーン戦略は?」。クエリは埋め込み表現に変換され、意味的に照合されるため、保存済みコンテンツと完全に同じ表現である必要はありません
- コンテンツタイプフィルター(任意):結果を特定のタイプに絞り込みます。
guideline、campaign-learning、competitive-intel、performance-insight、brand-assetのいずれかを指定してください。すべてのタイプを検索する場合は省略します。複数のタイプをコンマ区切りで指定できます - 日付範囲フィルター(任意):結果を期間で絞り込みます。例:「過去90日間」、「2025年第4四半期」、「2025-01-01 to 2025-06-30」、「今年」。古い知識が古くなっていたり、更新されていたりする可能性のある、最新性が重要なクエリで役立ちます
- 最大結果数(任意):返す結果の数です。デフォルトは10、最大は50です。包括的な調査クエリやナレッジ監査では大きい値を、簡潔な事実確認では小さい値を指定してください
- タグフィルター(任意):特定のタグでさらに絞り込みます。例:「email」、「paid-social」、「audience-millennials」、「black-friday」。コンテンツタイプおよび日付範囲と AND 条件で組み合わせ、精度の高い検索を行います
- 優先度フィルター(任意):ナレッジの優先度で絞り込みます。
highは優先的に提示するインサイト、normalは標準的なエントリー、all(デフォルト)はすべてです。最も影響の大きい学びだけが必要な場合はhighを指定してください - 期限切れを含める(任意):有効期限を過ぎたナレッジエントリーを含めるかどうかを指定します。デフォルトは
falseです。古くなったナレッジにもアーカイブとしての価値がある過去の調査ではtrueに設定してください - 検索モード(任意):
semantic(デフォルト。自然言語の類似性)、exact(キャンペーン名や指標値など、正確な用語をキーワードで照合)、またはhybrid(両方を重み付けスコアで組み合わせる)
処理
- ブランドのコンテキストを読み込む:
~/.claude-marketing/brands/_active-brand.jsonを読み込み、有効なスラッグを確認してから、~/.claude-marketing/brands/{slug}/profile.jsonを読み込みます。ブランドのトーン、対象市場向けのコンプライアンスルール(skills/context-engine/compliance-rules.md)、および業界のコンテキストを適用します。また、~/.claude-marketing/brands/{slug}/guidelines/_manifest.jsonがあるか確認し、存在する場合は制約を読み込みます。~/.claude-marketing/sops/にエージェンシーの標準業務手順書(SOP)があるか確認します。ブランドが存在しない場合は、「最初にブランドを設定しますか(/digital-marketing-pro:brand-setup)?」と尋ねるか、デフォルト設定で進めます。 - 設定済みのメモリサービスを確認する:
python "${CLAUDE_PLUGIN_ROOT}/scripts/memory-manager.py" --brand {slug} --action get-memory-statusを実行し、どのメモリバックエンドが環境変数で設定されているかを確認します(環境変数のみを確認します。実際の接続状態や容量はテストしません)。実際に接続されているバックエンドのみを照会します。意味的類似性を調べるベクトル DB(例:Pinecone)、関係性を調べるナレッジグラフサーバー(接続されている場合)、セッション間ストア(接続されている場合)、および常に利用可能なローカルインデックスが対象です。DMP にはこれらは含まれていません。ローカルインデックスは常に動作し、それ以外は任意で利用できます。 - ベクトル検索を実行する:ベクトル DB 用 MCP(例:Pinecone)が接続されている場合、ユーザーの検索クエリを使って照会し、コンテンツタイプ、日付範囲、タグ、優先度のフィルターをメタデータ条件として適用します。コサイン類似度で順位付けした上位 N 件の結果を、メタデータの全項目とともに返すよう要求します。
- グラフ検索を実行する(グラフサーバーが接続されている場合のみ):稼働中のナレッジグラフ MCP サーバーが接続されている場合(任意で利用でき、標準では同梱されていません)、クエリに関連するエンティティ間の関係や因果関係の連鎖も照会します。例:「どのキャンペーンがオーディエンスの成長に影響したか」「以前のアプローチに代わってどの戦略が採用されたか」「競合他社 X のポジショニングはどのように変化したか」。グラフ検索の結果からは、ベクトル検索だけでは把握できない関係性や時間的なコンテキストが得られます。
- ローカルインデックスを検索する:
memory-manager.py --action search-localを実行し、ベクトルデータベースにまだ同期されていない項目がローカルメモリインデックスにないか確認します。これにより、/digital-marketing-pro:save-knowledgeを使ってローカルに保存され、/digital-marketing-pro:sync-memoryによる永続ストレージへの同期がまだ行われていない、直近のセッションで得られた知識を検出できます。 - 結果を統合して順位付けする:照会したすべてのレイヤー(ベクトル DB、ナレッジグラフ、ローカルインデックス)の結果を統合し、コンテンツハッシュで重複を除去してから、複合的な関連度に基づいて順位付けします。ベクトル類似度スコア、グラフ上の関係性の強さ、情報の新しさ、優先度を加味します。生の類似度スコアは、ユーザーに分かりやすい関連度のカテゴリ(非常に関連性が高い、関連性がある、間接的に関連する)に置き換えます。
- コンテキストとともに結果を提示する:順位付けした結果を、出所の詳細とともに表示します。コンテンツの概要、コンテンツタイプ、タグ、ソース、保存日、関連度カテゴリ、優先度、関連項目を含めます。グラフ検索の結果には、エンティティ間の関係性と時間的なコンテキストも含めます。結果に見られるパターンに基づいて、追加の検索クエリを提案します。
出力
次の情報を含む、構造化された検索結果です。
- クエリの解釈:自然言語のクエリをどのように解析したかを示します。抽出された主要な概念、適用されたフィルター(コンテンツタイプ、日付範囲、タグ、優先度)、使用された検索モード、検索対象となったメモリレイヤーが含まれます
- 結果リスト:関連度カテゴリ(非常に関連性が高い、関連性がある、間接的に関連している)、コンテンツの概要、コンテンツタイプ、タグ、出典、保存日、優先度、ストレージレイヤー(ベクトル DB、グラフ、ローカル)、該当する場合は有効期限の状態を含む、関連度順に並べられた項目です
- グラフの関係性(該当する場合):キーワードの一致を超える構造的な背景情報を加える、エンティティ間で見つかった関係性です。キャンペーン間のつながり、因果関係の連鎖、時系列、戦略の変遷、競合関係のマップが含まれます
- 相互参照:結果間のつながりです。たとえば、キャンペーンから得た学びとパフォーマンスに関する洞察、競合情報の項目をつなぎ、複数の知識タイプにまたがる全体像を示します
- 知識の不足領域:クエリから知識が存在すると推測されるものの、該当する項目が見つからなかった領域です。
/digital-marketing-pro:save-knowledgeまたはデータ収集を通じて不足を補うための具体的な推奨事項を示します - 追加の検索候補:現在の結果で見つかったタグ、エンティティ、コンテンツタイプに基づき、関連知識を調べるためにユーザーが実行できる、絞り込んだクエリや拡張したクエリを提案します
- レイヤー別の結果数:各メモリレイヤー(ベクトル DB、ナレッジグラフ、ローカルインデックス)から得られた結果数の内訳を示し、検索範囲と同期状態の透明性を確保します
- 検索パフォーマンス:検索の遅延や外部メモリサービスの接続問題の診断に役立つよう、レイヤーごとおよび合計のクエリ実行時間を示します
使用エージェント
- memory-manager — 概念の抽出とフィルターの構築によるクエリ解析、複数レイヤーでの並列検索(接続された MCP 経由のベクトル DB、利用可能な場合は接続されたグラフ MCP 経由のナレッジグラフ、ファイルシステム経由のローカルインデックス)、コンテンツハッシュによる検索結果の重複排除、複合的な関連度ランキングによるレイヤー間の結果のマージ、類似度スコアの読みやすいカテゴリへの変換、グラフ検索結果からの関係性の文脈抽出、クエリの網羅性分析に基づく知識の不足領域の検出、検索結果のパターン分析に基づく追加クエリの生成を行います