Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install google-gemini-gemini-cli-tools-gemini-cli-bot-gemini-skills-memorygit clone https://github.com/google-gemini/gemini-cli.gitcp gemini-cli/SKILL.MD ~/.claude/skills/google-gemini-gemini-cli-tools-gemini-cli-bot-gemini-skills-memory/SKILL.md---
name: memory
description: Expertise in maintaining persistent bot memory, synchronizing with previous sessions via the Task Ledger, and preserving decision logs.
---
# 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:
```markdown
# 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:
1. **Read Memory**: Read `tools/gemini-cli-bot/lessons-learned.md`.
2. **Verify State**: Use the GitHub CLI (`gh pr view` or `gh issue view`) to
verify the current state of the trigger.
3. **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:
1. **Record Findings**: You MUST update `tools/gemini-cli-bot/lessons-learned.md`
using the format defined above.
2. **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**:
1. **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.
2. **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.
3. **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.