agent-memory — скилл для Claude Code: что делает и как установить
Разгружает разросшийся CLAUDE.md и переносит правила в четырёхуровневую память. Факты закрепляются только при повторении в разных сессиях.
/plugin marketplace add alirezarezvani/claude-skills
/plugin install agent-memory@claude-code-skillsЧто делает agent-memory
Скилл заменяет сплошной CLAUDE.md многоуровневым хранилищем: от сырых стенограмм L0 до общих для всех проектов правил L3. С первого раза факт не закрепится. Чтобы попасть в постоянный контекст проекта L2, знанию нужно повториться минимум в 3 отдельных сессиях за 2 разных календарных дня.
Внутри работают хуки SessionStart, UserPromptSubmit и SessionEnd вместе со скриптами на Python. Вся логика опирается только на стандартную библиотеку Python: баз данных, векторных индексов или вызовов внешних LLM здесь нет. Если факт изменён фильтром секретов или содержит неразрешённое противоречие, система замораживает его на уровне L1.
Кандидаты на сохранение попадают в папку .memory/staged/. Ни одна строчка не запишется в основной рабочий файл без подтверждения командой /cs-memory adopt. Этот скилл стоит поставить тем, чей агент регулярно забывает прошлые правки или тонет в случайных инструкциях.
Какие задачи решает
- Разгрузить переполненный файл
CLAUDE.mdбез потери важных правил - Отследить происхождение конкретной инструкции до строки стенограммы
- Заблокировать попадание вырезанных секретов в постоянный контекст
- Изолировать противоречивые правила до подтверждения человеком
Примеры запросов агенту
- agent-memory status
- agent-memory why "PR base branch is dev"
- agent-memory L1
Как установить agent-memory
1Через маркетплейс плагинов
/plugin marketplace add alirezarezvani/claude-skills/plugin install agent-memory@claude-code-skillsКоманда ставит плагин agent-memory целиком, со всеми его скиллами
2Через Skills CLI (Vercel)
npx skills add alirezarezvani/claude-skills --skill agent-memory -a claude-code3Вручную: положить файлы
~/.claude/skills/agent-memory/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/agent-memory/
Вручную: положить файлы
.agents/skills/agent-memory/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/agent-memory/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install alirezarezvani/claude-skills agent-memory2Вручную: положить файлы
.github/skills/agent-memory/SKILL.mdКомандой платформы
gemini skills install https://github.com/alirezarezvani/claude-skills --path engineering/agent-memory/skills/agent-memoryВручную: положить файлы
.devin/skills/agent-memory/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора349
Весь набор →Похожие
Вопросы о agent-memory
Как установить agent-memory в Claude Code?
Выполните команду /plugin marketplace add alirezarezvani/claude-skills, а затем установите компонент через /plugin install agent-memory@claude-code-skills. Также доступна установка через npx skills add alirezarezvani/claude-skills --skill agent-memory -a claude-code.
Что делает agent-memory?
Он собирает уроки и замечания из рабочих сессий, распределяя их по четырём уровням. Факты переходят в постоянный контекст только при подтверждённом повторении и после явного одобрения человеком.
Нужна ли внешняя база данных для работы agent-memory?
Нет. Скилл работает локально на стандартной библиотеке Python, не требуя сторонних баз данных, векторных эмбеддингов или сетевых вызовов моделей.
Исходный текст
SKILL.md · MIT
--- name: agent-memory description: Use when a project's CLAUDE.md has grown past what anyone reads and you want the agent to learn durable facts from its own sessions instead — or when asking why the agent keeps re-learning the same correction, why a remembered rule is wrong, or where a memory line came from. Implements a four-tier store (L0 transcripts / L1 candidates / L2 project context / L3 stable persona) where promotion is earned by recurrence across sessions and days, never by one confident statement, and nothing reaches a committed file without a human adopting it. argument-hint: "[optional: status | why \"<claim>\" | a tier name]" license: MIT metadata: version: 1.0.0 build_pattern: "Tencent TencentDB-Agent-Memory's tiering concept rebuilt natively on Claude Code hooks; deterministic recurrence gates, no LLM, no database" distinct_from: "llm-wiki (a vault you write on purpose; this writes itself from sessions); skillopt-sleep (replays tasks to improve a skill; this extracts facts to remember); memory-engineering (audits and prices any memory system; this IS one, and is a legitimate subject of that audit)" --- # Agent Memory — promotion is earned, not asserted > **Portability:** stdlib only. No database, no embeddings, no network, no LLM calls. ## The problem A project's `CLAUDE.md` is a memory system with one tier and no eviction: every durable fact and every passing preference land in the same always-loaded file, until the important lines are diluted by the incidental ones. Facts learned mid-session vanish at teardown unless someone writes them down. **The fix is not more storage — it is a promotion ladder.** A claim earns its way toward always-loaded context by recurring; a human confirms the last step. ## The four tiers Tiers are distinguished by **injection policy**, not storage format. | Tier | Holds | Injected | Committed | |---|---|---|---| | **L0** | raw session transcripts | never | no (already on disk) | | **L1** | candidate atoms | on relevance, at prompt time | no (gitignored) | | **L2** | this project's context | every session start | yes, after adopt | | **L3** | stable cross-project persona | always | yes, after adopt | ## The gates Nothing moves up because it sounded important. It moves up because it recurred. - **L0 → L1** — an explicit marker fires (a directive, a correction, a stated preference, a named lesson, a reproducible failure). Rule-based, high precision, deliberately low recall. - **L1 → L2** — ≥ 3 distinct sessions spanning ≥ 2 distinct calendar days. A claim stated outright needs 2 sessions; the distinct-day rule still applies. A verified claim promotes on one observation and is the only day-exempt path. - **L2 → L3** — held in ≥ 2 distinct projects, aged ≥ 30 days, uncontested. **Two gates refuse rather than guess.** A claim whose text was altered by redaction never promotes on evidence alone — the flag firing is evidence the source was sensitive, and a lexical filter finding one secret is not proof it found all of them. A claim with an open contradiction is frozen at L1 until a human resolves it; the incumbent is never silently overwritten. ## Use it ```bash # what is remembered, and what is blocking the next promotion python3 scripts/memory_inspect.py --tier L1 # where did this line come from — sessions, days, transcript, quoted source python3 scripts/memory_inspect.py --why "PR base branch is dev" # every claim with an open contradiction, both directions of the join python3 scripts/memory_inspect.py --contested # dry-run the promotion pass; writes nothing python3 scripts/memory_promote.py ``` Three hooks run the loop unattended: `SessionStart` injects L2 + L3, `UserPromptSubmit` recalls relevant L1 atoms, `SessionEnd` captures and stages. Each is disabled independently with `AGENT_MEMORY_SESSIONSTART=0`, `AGENT_MEMORY_USERPROMPTSUBMIT=0`, `AGENT_MEMORY_SESSIONEND=0`. Every hook fails open: a broken memory system costs you memory, never a session. ## Hard rules 1. **Redact before writing.** Every atom passes the filter before it reaches disk. Anything altered is quarantined from promotion. 2. **Propose, never apply.** Promotions land in `.memory/staged/`. Only an explicit `/cs-memory adopt` touches a `CLAUDE.md`, and it backs both up first. 3. **Cite, don't invent.** Every atom carries a back-pointer to the transcript line that produced it. `--why` resolving to *ambiguous* prints nothing rather than guess: a wrong citation is worse than a missing one. 4. **Never surface a contested claim as fact.** It is still injected — hiding the conflict is worse — but always tagged. 5. **The committed tiers carry no paths.** Promotion strips the back-pointer prefix, which embeds an OS username. ## Forcing questions Walk these one at a time before trusting the store. 1. Which line in your `CLAUDE.md` did you last actually read before acting? 2. Would you rather the agent forget a true thing, or remember a false one? 3. When two remembered rules disagree, who decides — and when? 4. What would make you delete `.memory/` entirely? Rationale, open decisions, field schema: [`../../DESIGN.md`](../../DESIGN.md).
© Alireza Rezvani · MIT · alirezarezvani/claude-skills