mcpField
S
sync-memory

sync-memory

github.com/indranilbanerjeeエージェントワークフロー913115 回インストール今日更新
リポジトリ

sync-memory について

sync-memoryは、セッションで得た知見、インサイト、キャンペーン履歴を永続メモリに保存するデジタルマーケティング向けスキルです。コンテンツハッシュで新規・変更項目を識別し、差分同期、事前確認、失敗項目の再試行に対応します。

主な機能

  1. 01コンテンツハッシュによる差分同期
  2. 02インサイト、キャンペーン、セッション知見の同期
  3. 03ドライランで変更内容を確認
  4. 04失敗項目を次回実行時に再試行

活用シーン

  1. 01作業終了前にセッションの知見を保存
  2. 02キャンペーンまたはインサイトだけを同期
  3. 03保存前に同期対象を確認

MCP 対応

ベクトルデータベースのMCPが接続されていれば、整形した項目を通じて保存します。未接続の場合はローカルインデックスを使用します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/indranilbanerjee/digital-marketing-pro --skill sync-memory

インストール後、Claude Code で/sync-memoryを入力して読み込まれたか確認します。

詳細

/digital-marketing-pro:sync-memory

スクリプトの場所。 ホストで ${CLAUDE_PLUGIN_ROOT} が設定されていない場合、スクリプトはこのプラグインの skills/ と同じ階層にある scripts/ フォルダーにあります。Python 3.10 以降で実行してください。python が見つからない場合(macOS、Linux の多くのシステム)は python3 を使用します。

目的

現在のセッションで得られた学び、insights.json のエントリー、キャンペーン履歴を永続メモリーレイヤーに一括同期します。このセッションで得られた価値ある知識を、各項目を /digital-marketing-pro:save-knowledge で手動保存しなくても、今後のセッションで活用できるようにします。最後の同期チェックポイント以降に追加された項目だけを対象に増分同期するため、繰り返し実行しても高速で、冪等性が保たれ、安全です。差分の検出から保存、チェックポイントの更新まで一連の処理を実行し、同期、スキップ、失敗した内容を詳細に報告します。成果のあったセッションを終える前に実行し、記録する価値のある情報をすべて保存してください。

必要な入力

ユーザーが以下の情報を指定する必要があります(指定がない場合は入力を求められます)。

  • 同期範囲:同期する内容です。all(insights、キャンペーン、セッションでの学び)、insights-only(insights.json のエントリーのみ。パフォーマンスデータ、メトリックスナップショット、自動化された学び)、または campaigns-only(キャンペーンデータ、振り返りからの学び、戦略上の決定のみ)を指定します。デフォルトは all です
  • 全件同期を強制(任意):true に設定すると、最後の同期チェックポイントを無視し、以前の同期状態にかかわらずすべてを再同期します。データ破損、ベクターデータベースの移行、インデックスの再構築後、またはローカルのインデックスと永続ストレージが一致していない可能性がある場合に便利です。デフォルトは false(最後のチェックポイントからの増分同期)です
  • コンテンツタイプの上書き(任意):同期するすべての項目に特定の content_type 分類を強制的に適用します。自動検出より優先されます。通常は不要ですが、知識分類を移行する際に一括で再分類するときに便利です
  • ドライラン(任意):true に設定すると、実際には保存せず、同期される内容をプレビューします。確認用に、差分全体、ペイロードのプレビュー、推定ストレージ使用量を表示します。前回の同期以降に蓄積された内容を監査する際に便利です
  • 適用するタグ(任意):この同期バッチのすべての項目に適用する追加タグです。例:「q1-2026-review」、「pre-rebrand」、「campaign-retrospective」。自動検出されたタグを置き換えるのではなく、それらに追加されます
  • 除外パターン(任意):この同期でスキップするコンテンツのパターンまたは種類です。例として、ドラフトのインサイト、未完成のキャンペーンデータ、特定のコンテンツタイプを除外できます。未完成または作業中の知識が同期されるのを防ぎます

プロセス

  1. ブランドのコンテキストを読み込む:~/.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)?」と尋ねるか、デフォルト設定で続行します。
  2. 同期状態を読み込む:python "${CLAUDE_PLUGIN_ROOT}/scripts/memory-manager.py" --brand {slug} --action sync-insights を実行して、~/.claude-marketing/brands/{slug}/memory/_last_sync.json から最後の同期チェックポイントを読み込みます。最後に同期した日時、以前に同期した項目(コンテンツハッシュ単位)、および失敗地点から再開が必要な部分同期を特定します。強制同期が要求された場合は、チェックポイントをエポックゼロにリセットします。
  3. 同期可能な項目を収集する:insights.json のエントリ、campaigns/ のキャンペーンデータ、現在の作業コンテキストで蓄積されたセッションの学びを読み込みます。同期範囲フィルター(all、insights-only、campaigns-only)を適用し、除外パターンを反映して候補セットを作成します。
  4. 新規項目と変更項目を特定する:候補セットを同期チェックポイントと比較します。各候補のコンテンツハッシュ(SHA-256)を生成し、ローカルのコンテンツハッシュレジストリと比較します。項目を新規(以前に同期されていない)、変更あり(前回の同期以降にコンテンツが変更されたもの。ハッシュが不一致)、変更なし(すでに同期済みのためスキップ)に分類します。続行する前に差分の概要を報告します。
  5. 保存ペイロードを準備する:新規または変更ありの各項目について、memory-manager.py --action prepare-store を実行し、メタデータペイロードを構成します。ソースに基づいて content_type を自動検出し(insight エントリは performance-insight、キャンペーンの振り返りは campaign-learning、戦略上の決定は campaign-learning、ガイドラインは guideline)、自動検出したタグとユーザー指定の一括タグを適用し、source を sync に設定します。
  6. 設定済みのメモリサービスを確認する:python "${CLAUDE_PLUGIN_ROOT}/scripts/memory-manager.py" --brand {slug} --action get-memory-status を実行します。これは環境変数のみを確認します。どのバックエンドが設定されているかを報告するものであり、バックエンドに到達可能かどうかや、リモートの残容量を示すものではありません(リモートプロバイダーの使用量は測定できません)。ベクトル DB の環境変数が設定されていない場合は、ローカルに保存し、ベクトル DB の接続を推奨します。
  7. 一括保存を実行する:準備した各項目を、接続済みのベクトル DB MCP(例:Pinecone)経由で保存します。接続されていない場合は、ローカルインデックスに保存します。失敗に適切に対処できるよう、項目を順番に処理します。項目の保存に失敗した場合は、エラーの詳細とともに失敗を記録し、残りの項目の処理を続けます。保存に成功するたびにローカルのコンテンツハッシュレジストリを直ちに更新し、同期が中断されても進捗が失われないようにします。
  8. 同期状態を更新する:すべての項目の処理後、新しいチェックポイントの日時、同期した項目の累計、スキップした項目、失敗した項目(再試行用のコンテンツハッシュを含む)、およびレイヤーごとの保存状態で _last_sync.json を更新します。失敗した項目がある場合、そのハッシュは次回の同期実行時に自動再試行されるようキューに追加されます。
  9. 同期の概要を報告する:実行可能な詳細を含む完全な同期レポートを提示します。同期した項目、スキップした項目とその理由、失敗した項目と解決方法、ストレージの使用状況、およびこのブランドの永続メモリの現在の状態を報告します。

出力

以下を含む構造化された同期レポートです。

  • 同期の概要:処理された項目の合計と内訳 — 新規に同期した項目、変更されたため更新した項目、重複としてスキップした項目(理由別の件数:ハッシュ一致、除外パターン)、および失敗した項目と、それぞれの具体的なエラー理由と対処手順
  • 同期した項目の詳細:同期した各項目の一覧と、コンテンツの概要(先頭100文字)、割り当てられた content_type、適用されたタグ(自動検出+バッチタグ)、参照用のベクターデータベース内のストレージ ID
  • スキップした項目:重複項目と除外された項目を理由とともに一覧表示 — コンテンツハッシュの一致(永続ストレージにすでに存在)、除外パターンへの該当、または前回の同期以降に変更なし — ユーザーが重要な項目の見落としがないことを確認できるようにします
  • 失敗した項目:保存できなかった項目 — 完全なエラーメッセージ、失敗理由(API タイムアウト、検証エラー、容量制限、不正なペイロード)、再試行時の識別に使うコンテンツハッシュ、および具体的な対処手順を含みます
  • 同期状態の更新:新しいチェックポイントのタイムスタンプ、永続メモリ内の累計項目数(すべての同期分の合計)、前回の同期からの差分(純増項目数)、および現在のセッション活動率に基づく次回同期サイズの推定
  • レイヤーごとの状態:データを受け取ったメモリレイヤー — ベクターデータベースに保存した項目(名前空間を含む)、作成したナレッジグラフのエンティティ(グラフサーバーに接続されている場合)、更新したセッション間エントリ(セッション間ストアに接続されている場合)、登録したローカルインデックスのエントリ
  • ローカルインデックスのサイズ:今回の実行でローカルインデックスから同期した項目の合計数と、ローカルの累計件数。(DMP はリモートのベクターデータベースのプラン使用状況を読み取れません。残り容量はプロバイダーのダッシュボードで確認してください。)
  • 次回の同期に関する推奨事項:セッションの活動量とストレージ容量に基づく次回同期の推奨タイミング — セッションを終了する前に /digital-marketing-pro:sync-memory を実行すれば、学習内容が失われないことを知らせるリマインダーを含みます

使用するエージェント

  • memory-manager — 同期チェックポイントの読み込み、コンテンツハッシュレジストリとの増分差分計算、新規および変更された項目の検出に用いる SHA-256 ハッシュの生成、自動分類されたコンテンツタイプとソースベースのタグ付けを含むペイロードの準備、項目ごとのエラー処理と進捗の永続化を伴うベクターデータベース MCP 経由のバッチ保存処理、保存成功後のローカルインデックスとコンテンツハッシュレジストリの更新、中断された同期の部分的な進捗復旧に対応した同期状態チェックポイントの管理、使用率アラートを伴うストレージ容量の監視、再試行キュー管理を含む包括的な同期レポートの生成

コメント