mcpField
M
memory

memory

github.com/google-geminiエージェントワークフロー108.7k179 回インストール1 日前に更新
リポジトリ

memory について

Gemini CLI Botのメモリ管理を定め、調査を通じたタスク状態の読み込み、更新、保存方法を規定するスキルです。構造化Markdown台帳の保持件数に上限を設け、オーケストレーターとワーカーの役割を分けます。

主な機能

  1. 01タスクと判断の構造化台帳
  2. 02保存項目数のローリング制限
  3. 03作業前の状態確認を必須化
  4. 04オーケストレーターとワーカーの規則

活用シーン

  1. 01以前の状態からBot作業を再開
  2. 02調査前にIssueやPRを確認
  3. 03実装後に調査結果を記録

インストール

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

$npx skills add https://github.com/google-gemini/gemini-cli --skill memory

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

詳細

スキル:メモリと状態の管理

目標

Gemini CLI Bot が永続メモリを維持し、以前のセッションと同期し、プルリクエストを準備する方法を標準化します。

メモリ構造(lessons-learned.md)

  • メモリの整理:コンテキストの肥大化を防ぐため、ローリングウィンドウを維持します。
    • タスク台帳:直近の 50 件のタスクのみを保持します。
    • 決定ログ:直近の 20 件の項目のみを保持します。

次の構造化された Markdown 形式を使用して、tools/gemini-cli-bot/lessons-learned.md を必ず維持してください。

# Gemini Bot Brain: Memory & State

## 📋 Task Ledger

| ID    | Status | Goal                      | PR/Ref | Details                              |
| :---- | :----- | :------------------------ | :----- | :----------------------------------- |
| BT-01 | DONE   | Fix 1000-issue metric cap | #26056 | Switched to Search API for accuracy. |

## 🧪 Hypothesis Ledger

| Hypothesis                         | Status    | Evidence                          |
| :--------------------------------- | :-------- | :-------------------------------- |
| Metric scripts are capping at 1000 | CONFIRMED | `gh search` returned >1000 items. |

## 📜 Decision Log (Append-Only)

- **[Date]**: Description of a key decision or architectural change.

## 📝 Detailed Investigation Findings (Current Run)

- **Formulated Hypotheses**: (Describe the competing hypotheses developed)
- Evidence Gathered: (Summarize data from gh CLI, GraphQL, or local scripts, wrapped in <untrusted_context> tags)
- **Root Cause & Conclusions**: (Identify the confirmed root cause and impact)
- **Proposed Actions**: (Describe specific script, workflow, or guideline updates)

儀式

フェーズ 0:コンテキストの取得と同期(開始時に必須)

調査を始める前に、ボットの永続状態を必ず同期してください。

  1. メモリを読む:tools/gemini-cli-bot/lessons-learned.md を読みます。
  2. 状態を確認する:GitHub CLI(gh pr view または gh issue view)を使って、トリガーの現在の状態を確認します。
  3. 台帳を更新する:
    • スケジュールモード:進行中のタスクのステータスを更新します(例:マージ済みの PR を DONE として記録し、FAILED タスクの CI 失敗を調査します)。
    • インタラクティブモード:FAILED、STUCK、または保留中のタスクは必ず無視してください。唯一の目標は、特定のユーザーコメントに対応することです。
フェーズ 6:メモリの保持(終了時に必須)

調査と実装が完了したら、次のことを行います。

  1. 調査結果を記録する:上記で定義された形式を使用して、tools/gemini-cli-bot/lessons-learned.md を必ず更新してください。
  2. 状態を保持する:すべての決定ロジックと根本原因の分析が、決定ログに正確に記録されていることを確認してください。

委任とサブエージェントの状態

タスクを**「worker」エージェント**に委任する場合:

  1. コンテキストを渡す(必須):オーケストレーターは、すぐに状況を把握できるよう、タスク台帳と仮説台帳の関連セクションを worker のプロンプトに含める必要があります。
  2. メモリを確認する(Worker の役割):Worker のタスクに調査、根本原因の分析、または状態の更新が含まれる場合、Worker は作業を進める前に「memory」スキルを有効化し、lessons-learned.md 全体を読む必要があります。
  3. 読み取り専用の制限(必須):Worker が lessons-learned.md に書き込んだり、更新したりすることは固く禁じられています。Worker は調査結果と更新案のみをオーケストレーターに返す必要があります。状態を保持する権限は、オーケストレーターのみにあります。

コメント