memory について
Gemini CLI Botのメモリ管理を定め、調査を通じたタスク状態の読み込み、更新、保存方法を規定するスキルです。構造化Markdown台帳の保持件数に上限を設け、オーケストレーターとワーカーの役割を分けます。
主な機能
- 01タスクと判断の構造化台帳
- 02保存項目数のローリング制限
- 03作業前の状態確認を必須化
- 04オーケストレーターとワーカーの規則
活用シーン
- 01以前の状態からBot作業を再開
- 02調査前にIssueやPRを確認
- 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:コンテキストの取得と同期(開始時に必須)
調査を始める前に、ボットの永続状態を必ず同期してください。
- メモリを読む:
tools/gemini-cli-bot/lessons-learned.mdを読みます。 - 状態を確認する:GitHub CLI(
gh pr viewまたはgh issue view)を使って、トリガーの現在の状態を確認します。 - 台帳を更新する:
- スケジュールモード:進行中のタスクのステータスを更新します(例:マージ済みの PR を
DONEとして記録し、FAILEDタスクの CI 失敗を調査します)。 - インタラクティブモード:FAILED、STUCK、または保留中のタスクは必ず無視してください。唯一の目標は、特定のユーザーコメントに対応することです。
- スケジュールモード:進行中のタスクのステータスを更新します(例:マージ済みの PR を
フェーズ 6:メモリの保持(終了時に必須)
調査と実装が完了したら、次のことを行います。
- 調査結果を記録する:上記で定義された形式を使用して、
tools/gemini-cli-bot/lessons-learned.mdを必ず更新してください。 - 状態を保持する:すべての決定ロジックと根本原因の分析が、決定ログに正確に記録されていることを確認してください。
委任とサブエージェントの状態
タスクを**「worker」エージェント**に委任する場合:
- コンテキストを渡す(必須):オーケストレーターは、すぐに状況を把握できるよう、タスク台帳と仮説台帳の関連セクションを worker のプロンプトに含める必要があります。
- メモリを確認する(Worker の役割):Worker のタスクに調査、根本原因の分析、または状態の更新が含まれる場合、Worker は作業を進める前に「memory」スキルを有効化し、
lessons-learned.md全体を読む必要があります。 - 読み取り専用の制限(必須):Worker が
lessons-learned.mdに書き込んだり、更新したりすることは固く禁じられています。Worker は調査結果と更新案のみをオーケストレーターに返す必要があります。状態を保持する権限は、オーケストレーターのみにあります。
コメント
Markdown 対応