mcpbeat

Memory

google-gemini/memory

Expertise in maintaining persistent bot memory, synchronizing with previous sessions via the Task Ledger, and preserving decision logs.

916 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
106350
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/google-gemini/gemini-cli --skill memory

The instruction itself

7 sections, as written by the author

Skill: Memory & State Management

Goal

Standardize how the Gemini CLI Bot maintains its persistent memory,

synchronizes with previous sessions, and prepares Pull Requests.

Memory Structure (lessons-learned.md)

  • Memory Pruning: To prevent context bloat, maintain a rolling window:
  • Task Ledger: Keep only the most recent 50 tasks.
  • Decision Log: Keep only the most recent 20 entries.

You MUST maintain tools/gemini-cli-bot/lessons-learned.md using the following

structured Markdown format:

# 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)

Rituals

Phase 0: Context Retrieval & Synchronization (MANDATORY START)

Before beginning your investigation, you MUST synchronize with the bot's

persistent state:

  • Read Memory: Read tools/gemini-cli-bot/lessons-learned.md.
  • Verify State: Use the GitHub CLI (gh pr view or gh issue view) to

verify the current state of the trigger.

  • Update Ledger:
  • Scheduled Mode: Update the status of active tasks (e.g., mark merged

PRs as DONE, investigate CI failures for FAILED tasks).

  • Interactive Mode: You MUST ignore any FAILED, STUCK, or pending tasks.

Your ONLY goal is to address the specific user comment.

Phase 6: Memory Preservation (MANDATORY END)

Once your investigation and implementation are complete:

  • Record Findings: You MUST update tools/gemini-cli-bot/lessons-learned.md

using the format defined above.

  • State Preservation: Ensure all decision logic and root-cause analysis

are accurately captured in the Decision Log.

Delegation & Sub-agent State

When delegating a task to a 'worker' agent:

  • Pass Context (Mandatory): The Orchestrator MUST include the relevant

sections of the Task Ledger and Hypothesis Ledger in the worker's prompt

to provide immediate grounding.

  • Verify Memory (Worker Role): If the worker's task involves investigation,

root-cause analysis, or updating state, the Worker MUST activate this

'memory' skill to read the full lessons-learned.md before proceeding.

  • Read-Only Restriction (Mandatory): The Worker is STRICTLY FORBIDDEN from

writing to or updating lessons-learned.md. It must only return its

findings and proposed updates to the Orchestrator, which remains the sole

authority for state preservation.

How to use it

Copy the folder

Take google-gemini/memory from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.