mcpField
M
memory-integration

memory-integration

github.com/troykellyエージェントワークフロー1257 回インストール41 週間前に更新
リポジトリ

memory-integration について

memory-integrationは、会話履歴の検索と構造化ナレッジグラフを使い、セッションをまたいでプロジェクトの文脈を保つエージェントスキルです。検索や記録のタイミング、過去の決定や学びをもとに作業を再開する手順を示します。

主な機能

  1. 01会話履歴の意味検索と概念検索
  2. 02検索結果から会話全体を参照
  3. 03エンティティ、観察記録、関係の保存
  4. 04セッション開始・作業中・終了のチェックリスト

活用シーン

  1. 01課題に着手する前に過去の作業を確認
  2. 02変更計画時に過去の決定を参照
  3. 03解決策や成果を後続セッション向けに記録

MCP 対応

episodic-memoryの検索・読み取りにMCPツールを使い、mcp__memoryのナレッジグラフで構造化された文脈を保存・取得する方法を示します。

インストール

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

$npx skills add https://github.com/troykelly/claude-skills --skill memory-integration

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

詳細

メモリー統合

概要

両方のメモリーシステムを使用して、セッションをまたいでコンテキストを維持します。

基本原則: セッション間で記憶は保持されません。これらのツールを使って記憶を保存してください。

システム:

  • エピソード記憶 - 会話履歴の検索
  • ナレッジグラフ (mcp__memory) - 構造化された事実と関係

メモリーを使用するタイミング

タイミングメモリー操作
セッション開始時関連するコンテキストを検索する
課題に取り組む前過去の作業を検索する
判断を下すとき過去の判断を確認する
作業完了時重要な学びを保存する
セッション終了時重要な成果を保存する

エピソード記憶

保存される内容
  • 会話履歴全体
  • 下した判断
  • 解決した問題
  • 試したアプローチ
  • 得られた教訓
エピソード記憶の検索

エピソード記憶スキルまたは MCP ツールを使用します。

Search for:
- Issue number: "issue 123", "#123"
- Feature name: "authentication", "user login"
- Problem type: "TypeScript error", "build failure"
- Project name: repository name
セマンティック検索(単一クエリ)
// Search with natural language
mcp__plugin_episodic-memory_episodic-memory__search({
  query: "user authentication implementation decisions"
})
精密検索(複数の概念)
// Search for intersection of concepts
mcp__plugin_episodic-memory_episodic-memory__search({
  query: ["authentication", "session", "JWT"]
})
会話全体を読む

関連する結果が見つかったら、次のようにします。

// Read the full conversation
mcp__plugin_episodic-memory_episodic-memory__read({
  path: "/path/to/conversation.jsonl"
})
検索対象
状況検索語
課題 #123 に取り組む「issue 123」、「#123」
認証に取り組む「authentication」、「login」、「session」
TypeScript の問題「TypeScript」、「type error」、具体的なエラーメッセージ
類似機能機能名、関連する概念

ナレッジグラフ(mcp__memory)

保存される内容
  • エンティティ(プロジェクト、課題、判断、パターン)
  • エンティティ間の関係
  • エンティティに関する観察事項
エンティティの作成

重要な事実を保存します。

// Create an entity for a project decision
mcp__memory__create_entities({
  entities: [{
    name: "Decision: Use JWT for Auth",
    entityType: "Decision",
    observations: [
      "Decided on 2024-12-01",
      "JWT chosen over sessions for API statelessness",
      "Related to issue #123",
      "Implementation in src/auth/jwt.ts"
    ]
  }]
})
関係の作成

エンティティを相互に関連付けます。

// Create relationships
mcp__memory__create_relations({
  relations: [
    {
      from: "Project: MyApp",
      to: "Decision: Use JWT for Auth",
      relationType: "has_decision"
    },
    {
      from: "Issue #123",
      to: "Decision: Use JWT for Auth",
      relationType: "resulted_in"
    }
  ]
})
グラフの検索
// Search for relevant nodes
mcp__memory__search_nodes({
  query: "authentication"
})

// Open specific nodes
mcp__memory__open_nodes({
  names: ["Decision: Use JWT for Auth"]
})

// Read entire graph (for small graphs)
mcp__memory__read_graph({})

メモリープロトコル

セッション開始時
  1. エピソード記憶を検索して、次の情報を確認します。

    • 現在の課題番号
    • プロジェクト/リポジトリ名
    • 取り組み中のアクティブな機能
  2. ナレッジグラフを検索して、次の情報を確認します。

    • プロジェクトのエンティティ
    • 関連する判断
    • 既知のパターン
  3. 作業を進める前に、コンテキストを統合します。

作業中

作業を進めながら保存します。

イベント保存先
重要な判断ナレッジグラフのエンティティ
問題の解決課題のエンティティに観察事項を追加
パターンの発見ナレッジグラフのエンティティ
教訓を得た観察事項を追加
セッション終了時
  1. ナレッジグラフを更新して、次の内容を記録します。

    • 新たに下した判断
    • 解決した問題
    • 発見したパターン
  2. 既存のエンティティに観察事項を追加します。

    • 課題の進捗
    • 学び
    • 次のステップ

エンティティタイプ

ナレッジグラフで推奨されるエンティティタイプ:

タイプ用途例
プロジェクトリポジトリ/コードベース「Project: MyApp」
課題GitHub の課題「Issue #123: Auth」
判断アーキテクチャ上の判断「Decision: Use JWT」
パターンコードパターン「Pattern: Repository Layer」
問題既知の問題「Problem: Race Condition in X」
人物共同作業者「Person: Alice (maintainer)」

例:課題のメモリーフロー

セッション 1:課題への着手
// Search for any previous context
const episodic = await search("issue 456 user profile");
const graph = await search_nodes("user profile");

// If nothing found, create fresh entity
await create_entities({
  entities: [{
    name: "Issue #456: User Profile Page",
    entityType: "Issue",
    observations: [
      "Started: 2024-12-01",
      "Scope: Profile display, edit, avatar upload"
    ]
  }]
});
セッション 1:作業中の判断
// Store a decision made
await add_observations({
  observations: [{
    entityName: "Issue #456: User Profile Page",
    contents: [
      "Decision: Using react-image-crop for avatar cropping",
      "Reason: Best mobile support, active maintenance"
    ]
  }]
});
セッション 2:作業の再開
// Search for context
const results = await search("issue 456");
// Read: "Using react-image-crop for avatar cropping"

// Continue with context maintained

保存する内容

必ず保存する内容
  • 根拠を含むアーキテクチャ上の判断
  • 自明ではない問題の解決策
  • 発見した重要な制約
  • コンポーネント間の依存関係
保存しない内容
  • 些細な実装の詳細
  • コードから明らかな内容
  • 一時的なデバッグメモ
  • 結論の出ていない推測

チェックリスト

セッション開始時:

  • 課題/プロジェクトについてエピソード記憶を検索する
  • コンテキストについてナレッジグラフを検索する
  • 関連する調査結果を記録する

作業中:

  • 重要な判断を保存する
  • 問題の解決策を記録する
  • 発見したパターンを記録する

セッション終了時:

  • 進捗をエンティティに反映する
  • 新たな学びを追加する
  • 次のステップを記録する

統合

このスキルは次から呼び出されます。

  • session-start - 初期コンテキストの収集
  • issue-driven-development - ステップ 4

このスキルは次を支援します。

  • セッションをまたいだ継続性
  • 判断の記録
  • パターンの発見

コメント