Maintains a lightweight, always-current "project encyclopedia" in `.memory-bank/` — capturing architecture, stack, conventions, key entities, and active tasks. After each meaningful change, the AI suggests concise updates or explicitly confirms no update is needed.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add alexeyshishin/as-skill --skill memory-bank --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Memory Bank?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/alexeyshishin-memory-bank)More formats (shields.io, HTML) on the badges page.
---
name: memory-bank
description: >
Maintains a lightweight, always-current "project encyclopedia" in
`.memory-bank/` — capturing architecture, stack, conventions, key entities,
and active tasks. After each meaningful change, the AI suggests concise
updates or explicitly confirms no update is needed.
when_to_use: >
After every chat interaction that may alter stable project knowledge:
architecture decisions, API contracts, conventions, stack changes, new tasks.
Skip for local implementation details, temporary experiments, minor refactors,
and style-only changes.
applies_to: Claude Code, Cursor, Codex
language: en
---
# Memory Bank Steward — A Skill for Keeping Project Knowledge Current
This skill describes **how** to maintain a living project knowledge base, not
**what** to store in it. It activates after each chat message: evaluate whether
an important, lasting fact has changed, suggest a concise update if yes, and
explicitly say "no update needed" if not.
The Memory Bank is a lightweight, always-current "project encyclopedia." It
describes architecture, stack, conventions, key entities, and active tasks — the
things a new contributor (human or AI) needs to orient quickly.
---
## Memory Bank structure
```
.memory-bank/
├── index.md # Table of contents, quick orientation
├── product-overview/ # What the product does, who it serves
├── steerings/ # How to work in this project
│ ├── development-conventions.md # Code style, branching, review norms
│ └── testing-conventions.md # Test strategy, frameworks, coverage goals
├── tech-details/ # Stack, architecture, module interactions
└── tasks/ # Current and planned work (SDD-level)
```
`index.md` is the entry point. It links to every other file and gives a
one-paragraph orientation for a newcomer.
---
## Phase 1 — Evaluate
After each chat message, decide whether the conversation produced a fact that
belongs in the Memory Bank. Ask two questions:
1. **Is it stable project knowledge?** Architecture, public APIs, contracts,
schemas, conventions, stack details, deployment, CI/CD, core entities,
workflows, or current tasks qualify. Temporary fixes, local helpers, and
one-off experiments do not.
2. **How important is it?**
| Level | Meaning | Example | Action |
|-------|----------|--------------------------------------------|---------------|
| 3 | Major | New module, API, or architectural change | Suggest |
| 2 | Moderate | New convention, interface, or contract | Suggest |
| 1 | Minor | Internal helper refactor | Skip |
| 0 | Noise | Typo fix, formatting | Skip |
Only suggest an update when importance is **≥ 2**.
### Anti-patterns
- Suggesting updates for every file touch.
- Recording implementation details that will change next sprint.
- Duplicating information already present in `.memory-bank/`.
- Including secrets, tokens, credentials, or private data — **never**.
---
## Phase 2 — Suggest (when update is needed)
Use this structured format so suggestions are machine-parseable and easy to
review:
```
MEMORY_SUGGESTION
version: 1
importance: <2|3>
summary: "<short summary>"
rationale: "<why this matters for the project>"
changes:
- path: ".memory-bank/<folder>/<file>.md"
op: "<create|update|append>"
section: "<section heading or null>"
content_format: "<md|yaml|mermaid|diff>"
content: |-
<concise, factual update>
validation:
conflicts_checked: true
secrets_present: false
END
```
### Field guide
| Field | Notes |
|------------------|--------------------------------------------------------------|
| `importance` | 2 or 3 only — lower values should not reach this phase |
| `summary` | ≤ 15 words |
| `rationale` | Why a future reader (or AI) needs this fact |
| `path` | Relative to project root, always starts with `.memory-bank/` |
| `op` | `create` for new files, `update` to replace a section, `append` to add to end |
| `section` | Markdown heading to target; `null` for whole-file ops |
| `content_format` | `md` for prose, `yaml` for structured data, `mermaid` for diagrams, `diff` for patches |
| `content` | The actual text — concise and factual |
| `conflicts_checked` | Confirm you read existing `.memory-bank/` to avoid dupes |
| `secrets_present` | Must be `false` — abort if you catch yourself including secrets |
### Style rules
- Be concise and factual — no filler, no opinions.
- Prefer short Mermaid or C4 diagrams over long prose for architecture.
- Prefer minimal YAML contracts over verbose descriptions for APIs.
- One fact per suggestion; split compound changes into separate entries.
- Always read existing `.memory-bank/` content before suggesting, to avoid
duplicates and contradictions.
---
## Phase 3 — Decline (when no update is needed)
When nothing in the conversation warrants a Memory Bank change, say so
explicitly:
```
NO_MEMORY_UPDATE
reason: "<why not — one sentence>"
```
This is the expected outcome for most messages. Silence is not acceptable — the
user should always know whether you considered the Memory Bank.
---
## Bootstrapping a new Memory Bank
If `.memory-bank/` does not exist yet and the conversation reveals facts at
importance ≥ 2, suggest creating the directory with at least `index.md`. A
minimal bootstrap looks like:
```
MEMORY_SUGGESTION
version: 1
importance: 3
summary: "Initialize Memory Bank"
rationale: "Project has no .memory-bank/ yet; creating the foundation."
changes:
- path: ".memory-bank/index.md"
op: "create"
section: null
content_format: "md"
content: |-
# Memory Bank — <Project Name>
## Overview
<one paragraph: what this project is and who it serves>
## Structure
- [Development Conventions](steerings/development-conventions.md)
- [Testing Conventions](steerings/testing-conventions.md)
- [Tech Details](tech-details/)
- [Tasks](tasks/)
validation:
conflicts_checked: true
secrets_present: false
END
```
---
## Default rule
**When unsure — do not suggest an update.** A missing fact can be added later;
a wrong or noisy fact erodes trust in the Memory Bank.Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!