MCP HubMCP Hub
Вернуться к навыкам

manage-memory

pjt222
Обновлено 2 days ago
10 просмотров
17
2
17
Посмотреть на GitHub
Разработкаai

О программе

Этот навык помогает разработчикам управлять постоянными файлами памяти Claude Code, организуя, извлекать, очищая и проверяя записи в MEMORY.md и связанных тематических файлах. Он особенно полезен при приближении к лимиту в 200 строк, после получения ценных инсайтов или когда изменения в проекте делают записи устаревшими. Ключевые возможности включают создание кратких индексов, обнаружение устаревшего контента и извлечение детальных тем в отдельные файлы для эффективного обслуживания памяти.

Быстрая установка

Claude Code

Рекомендуется
Основной
npx skills add pjt222/agent-almanac -a claude-code
Команда плагинаАльтернативный
/plugin add https://github.com/pjt222/agent-almanac
Git клонированиеАльтернативный
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-memory

Скопируйте и вставьте эту команду в Claude Code для установки этого навыка

Документация

管理记忆

维护 Claude Code 的持久化记忆目录,使其跨会话保持准确、简洁和有效。MEMORY.md 在每次对话时加载到系统提示中——200 行之后的内容会被截断,因此该文件必须是指向专题文件获取详情的精简索引。

适用场景

  • MEMORY.md 接近 200 行截断阈值
  • 一次会话产生了值得保存的持久洞察(新模式、架构决策、调试解决方案)
  • MEMORY.md 中某主题章节超过 10-15 行,应予以提取
  • 项目状态变更(文件重命名、新增领域、更新数量),记忆条目可能过期
  • 开始新工作领域时,检查是否已存在相关记忆
  • 会话间的定期维护,保持记忆目录健康

输入

  • 必需:访问记忆目录(通常为 ~/.claude/projects/<project-path>/memory/
  • 可选:具体触发原因(例如"MEMORY.md 太长"、"刚完成重大重构")
  • 可选:需要添加、更新或提取的主题

步骤

第 1 步:评估当前状态

读取 MEMORY.md 并列出记忆目录中的所有文件:

wc -l <memory-dir>/MEMORY.md
ls -la <memory-dir>/

对照 200 行限制检查行数。盘点现有专题文件。

预期结果: 清楚了解总行数、专题文件数量以及 MEMORY.md 中存在哪些章节。

失败处理: 若记忆目录不存在,创建它。若 MEMORY.md 不存在,创建一个最简版本,包含 # Project Memory 标题和 ## Topic Files 章节。

第 2 步:识别过期条目

将记忆声明与当前项目状态进行对比。常见的过期模式:

  1. 数量偏移:添加或删除后发生变化的文件数量、技能数量、领域数量
  2. 路径变更:已移动、重命名或删除的文件或目录
  3. 已过时的模式:修复后不再需要的临时方案
  4. 矛盾条目:关于同一主题说法不一的两个条目

使用 Grep 快速核查关键声明:

# 示例:验证技能数量声明
grep -c "^      - id:" skills/_registry.yml
# 示例:验证文件是否仍然存在
ls path/claimed/in/memory.md

预期结果: 列出过期条目及其正确的当前值。

失败处理: 若无法验证某条声明(例如引用了无法检查的外部状态),保留该条目但添加 (unverified) 注释,而非静默保留可能错误的信息。

第 3 步:决定添加内容

对于新条目,写入前应用以下筛选标准:

  1. 持久性:下次会话时这还是真的吗?避免会话专属上下文(当前任务、进行中的工作、临时状态)。
  2. 非重复:CLAUDE.md 或项目文档中是否已涵盖此内容?不要重复——记忆用于记录其他地方未捕获的内容。
  3. 已验证:这是经过多次交互确认的,还是单次观察?单次观察应先与项目文档核实再写入。
  4. 可操作:了解这一点会改变行为方式吗?"天空是蓝色的"没什么用,"退出码 5 表示引号错误——使用临时文件"则改变了工作方式。

例外情况:若用户明确要求记住某事,立即保存——无需等待多次确认。

预期结果: 筛选后值得添加的条目列表,每条都满足持久性+非重复+已验证+可操作标准。

失败处理: 若不确定某条目是否值得保留,倾向于简短地保留在 MEMORY.md 中——日后修剪比重新发现容易。

第 4 步:提取过大的主题

当 MEMORY.md 中某章节超过约 10-15 行时,将其提取到专用专题文件:

  1. 创建 <memory-dir>/<topic-name>.md,包含描述性标题
  2. 将 MEMORY.md 中的详细内容移至专题文件
  3. 在 MEMORY.md 中用 1-2 行摘要和链接替换该章节:
## Topic Files
- [topic-name.md](topic-name.md) — Brief description of contents

专题文件命名规范:

  • 使用小写连字符格式:viz-architecture.md,而非 VizArchitecture.md
  • 按主题命名,而非按时间:patterns.md,而非 session-2024-12.md
  • 归并相关条目:将"R 调试"和"WSL 特殊情况"合并到 patterns.md,而非每个事实创建一个文件

预期结果: MEMORY.md 保持在 200 行以内。每个专题文件可独立阅读,无需 MEMORY.md 上下文。

失败处理: 若专题文件内容不足 5 行,可能不值得提取——保留在 MEMORY.md 内联即可。

第 5 步:更新 MEMORY.md

应用所有更改:删除过期条目、添加新条目、更新数量,并确保"专题文件"章节列出所有专用文件。

MEMORY.md 结构应遵循以下模式:

# Project Memory

## Section 1 — High-level context
- Bullet points, concise

## Section 2 — Another topic
- Key facts only

## Topic Files
- [file.md](file.md) — What it covers

指南:

  • 每条要点最多 1-2 行
  • 使用内联格式(code粗体)提高可扫描性
  • 最常需要的上下文放在前面
  • 专题文件章节始终放在最后

预期结果: MEMORY.md 在 200 行以内,内容准确,所有专题文件的链接有效。

失败处理: 若提取后仍超过 200 行,找出使用频率最低的章节并提取。每个章节都是候选——即使是项目结构概述也可以提取到专题文件,仅留 1 行摘要。

第 6 步:验证完整性

进行最终检查:

  1. 行数:确认 MEMORY.md 在 200 行以内
  2. 链接:验证 MEMORY.md 中引用的每个专题文件均存在
  3. 孤立文件:检查未在 MEMORY.md 中引用的专题文件
  4. 准确性:对 2-3 个事实性声明与项目状态进行抽查
wc -l <memory-dir>/MEMORY.md
# 检查失效链接
for f in $(grep -oP '\[.*?\]\(\K[^)]+' <memory-dir>/MEMORY.md); do
  ls <memory-dir>/$f 2>/dev/null || echo "BROKEN: $f"
done
# 检查孤立文件
ls <memory-dir>/*.md | grep -v MEMORY.md

预期结果: 行数在 200 以内,无失效链接,无孤立文件,抽查的声明准确无误。

失败处理: 修复失效链接(更新或删除)。对于孤立文件,要么在 MEMORY.md 中添加引用,要么删除不再相关的文件。

验证清单

  • MEMORY.md 在 200 行以内
  • MEMORY.md 中引用的所有专题文件在磁盘上存在
  • 记忆目录中无孤立 .md 文件(每个文件都从 MEMORY.md 链接)
  • 任何记忆文件中无过期的数量或重命名路径
  • 新条目满足持久性/非重复/已验证/可操作标准
  • 专题文件有描述性标题且可独立阅读
  • MEMORY.md 读起来是有用的快速参考,而非变更日志

常见问题

  • 记忆文件污染:将每次会话观察都写入记忆。大多数发现是会话专属的,无需持久化。写入前应用第 3 步的四个筛选标准。
  • 数量过期:更新代码但未更新记忆。数量(技能、智能体、领域、文件)会悄悄偏移。在信任记忆之前,始终对照事实来源验证数量。
  • 按时间组织:按"学到它的时间"而非"它涉及的内容"组织。基于主题的组织(patterns.mdviz-architecture.md)比基于日期的文件更有利于检索。
  • 重复 CLAUDE.md 内容:CLAUDE.md 是权威项目指令文件。记忆应捕获 CLAUDE.md 中没有的内容——调试洞察、架构决策、工作流偏好、跨项目模式。
  • 过度提取:为每个 3 行章节创建专题文件。仅在章节超过约 10-15 行时才提取。小章节保留内联完全没问题。
  • 忘记 200 行限制:MEMORY.md 在每次系统提示中加载。200 行之后的内容会被静默截断。若文件增长超过这个限制,底部内容实际上是不可见的。

相关技能

  • write-claude-md — CLAUDE.md 捕获项目指令;记忆捕获跨会话学习
  • prune-agent-memory — manage-memory 的逆操作:审计、分类和选择性遗忘存储的记忆
  • write-continue-here — 为会话交接编写结构化续接文件;作为短期上下文桥梁补充记忆
  • read-continue-here — 在会话开始时读取并执行续接文件;交接的消费端
  • create-skill — 新技能可能产生值得记忆的模式
  • heal — 自我修复可能作为整合步骤的一部分更新记忆
  • meditate — 冥想会话可能浮现值得持久化的洞察

GitHub репозиторий

pjt222/agent-almanac
Путь: i18n/zh-CN/skills/manage-memory
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Похожие навыки

qmd

Разработка

qmd — это локальный инструмент командной строки для поиска и индексирования, который позволяет разработчикам индексировать и осуществлять поиск по локальным файлам с использованием гибридного поиска, сочетающего BM25, векторные эмбеддинги и реранкинг. Он поддерживает как использование через командную строку, так и режим MCP (Model Context Protocol) для интеграции с Claude. Инструмент использует Ollama для создания эмбеддингов и хранит индексы локально, что делает его идеальным для поиска по документации или кодовой базе прямо из терминала.

Просмотреть навык

subagent-driven-development

Разработка

Этот навык выполняет планы реализации, создавая нового суб-агента для каждой независимой задачи, проводя проверку кода между задачами. Он позволяет быстро итерировать, сохраняя контроль качества через этот процесс ревью. Используйте его при работе в основном с независимыми задачами в рамках одной сессии, чтобы обеспечить непрерывный прогресс со встроенными проверками качества.

Просмотреть навык

mcporter

Разработка

Навык mcporter позволяет разработчикам управлять и вызывать серверы Model Context Protocol (MCP) напрямую из Claude. Он предоставляет команды для вывода списка доступных серверов, вызова их инструментов с аргументами, а также для обработки аутентификации и управления жизненным циклом демона. Используйте этот навык для интеграции и тестирования функциональности серверов MCP в вашем рабочем процессе разработки.

Просмотреть навык

adk-deployment-specialist

Разработка

Этот навык развертывает и оркестрирует агентов Vertex AI ADK с использованием протокола A2A, управляя обнаружением AgentCard, отправкой задач и поддерживая инструменты, такие как песочница для выполнения кода и Memory Bank. Он позволяет создавать мультиагентные системы с последовательными, параллельными или циклическими схемами оркестрации на Python, Java или Go. Используйте его, когда требуется развернуть агентов ADK или оркестрировать рабочие процессы агентов в Google Cloud.

Просмотреть навык