project-memory:用 `.memory/` 把项目上下文写进仓库

前言

在 Cursor 里开新对话时,Agent 往往看不到上一轮讨论过的架构取舍和未决问题;对话变长后,窗口里塞满历史消息,既费 token,又容易把旧结论和当前任务混在一起。有人把要点贴在 README 或随手笔记里,但和「每次对话该怎么恢复、怎么收尾」并没有固定流程。

下面介绍 SkillHub 上的 project-memory(坐标 @user_69484e35/memoryrz2r,版本 1.0.0,社区来源,分类 ai-agent)。它在项目根目录维护 .memory/ 下的结构化 Markdown,用三条斜杠命令把「读记忆、压摘要、写回文件」串成可重复的工作流;页面标注支持 Cursor,且 requires_api_key=false。

这是什么

project-memory 是一套基于通用 SKILL.md 格式的 Agent Skill,由 SkillHub 用户 user_69484e35 发布。它解决的是:如何把项目现状、决策和开放问题落在仓库里的固定路径,并在新对话开始或对话结束时,用同一套结构读写这些文件。

记忆目录约定在项目根下的 .memory/,核心文件包括 project.md、context.md、decisions.md(Skill 还会在需要时初始化整套目录结构)。

核心功能

以下能力均来自 SkillHub 官方简介与页面说明,可按三条命令理解。

/memory.bootstrap

新对话开始时,读取 project.md、context.md、decisions.md,输出项目现状摘要,用于快速恢复上下文。用户说出 /memory.bootstrap,或提到「记忆」「恢复上下文」等表述时,Skill 会按规则触发。

/memory.summarize

将当前对话压缩为结构化摘要,字段固定为:

  • Goal
  • Decisions
  • Context
  • Open Questions
  • Next Actions

适合在「上下文太长」、需要收尾整理时再开下一轮时使用。触发方式包括 /memory.summarize 或自然语言里提到压缩、摘要类意图(与官方列出的关键词一致)。

/memory.update

把上一步(或等价的)摘要写回对应记忆文件;decisions.md 中会追加带精确日期的决策条目,避免覆盖历史决策链。触发方式包括 /memory.update 或「更新记忆」等表述。

目录初始化与时间信息

除上述三步外,Skill 还支持:

  1. 初始化 .memory/ 目录结构(在项目中尚未建立记忆布局时使用)。
  2. 从 Cursor agent-transcripts 目录下 .jsonl 文件的文件系统时间戳提取对话开始、结束时间,精度到分钟;用户提到「对话时间」时可配合使用。

安装与启用

SkillHub 页面给出的安装方式是:让当前 AI 按官方安装文档处理,并安装坐标 @user_69484e35/memoryrz2r。文档地址为 skillhub.cn/install/skillhub.md。

若本机已安装 skillhub CLI,可按 SkillHub 通用说明将技能装进当前 Agent 的 skills 目录(须使用 --dir,否则默认 ./skills/ 可能不会被识别)。Cursor 常用路径为 ~/.cursor/skills/。示例:

command -v skillhub && skillhub --version

未安装 CLI 时,官方提供一键安装脚本(完整安装或仅 CLI),见同一安装文档中的 curl 命令。

安装完成后,在具体项目仓库根目录使用本 Skill:Agent 会在该根下读写 .memory/。页面未单独列出 Codex CLI、Claude Code 的差异配置;若在其它客户端使用,需自行对照该客户端的 skills 目录(安装文档中列出了 Claude Code、Codex 等常见路径)。

向 Agent 发送的提示词示例(与 SkillHub 页面一致):

请根据 https://skillhub.cn/install/skillhub.md,安装 `@user_69484e35/memoryrz2r`。

典型用法

可按「先恢复、再压缩、最后落盘」的顺序操作;每一步对应一条斜杠命令或等价自然语言。

1. 新会话开头恢复上下文

在已存在 .memory/ 且三个核心文件有内容的项目里,输入:

/memory.bootstrap

Agent 应读取三份文件并给出现状摘要,便于接着改代码或讨论方案。

2. 长对话后生成结构化摘要

在本轮任务告一段落、窗口已较长时,输入:

/memory.summarize

期望得到包含 Goal、Decisions、Context、Open Questions、Next Actions 的摘要,便于人工核对后再写入仓库。

3. 将摘要写回记忆文件

确认摘要无误后:

/memory.update

决策类内容进入 decisions.md 时应带日期追加;其它字段写入与 Skill 定义对应的文件。

4. 首次在该仓库使用

若项目根下还没有 .memory/,可通过 Skill 的初始化能力建立目录结构,再按上面三步维护内容。需要核对某次 Cursor 对话的起止时间时,可说明「对话时间」,由 Skill 结合 agent-transcripts 下 .jsonl 的时间戳处理。

适用场景与注意

适合谁

  • 长期在单一仓库里用 Cursor Agent,且希望上下文可版本管理、可跨对话复用的开发者。
  • 团队希望决策有 decisions.md 时间线,而不是散落在聊天记录里。

限制与注意

结尾

经过上面的步骤,project-memory 把「开对话读什么、关对话留什么」收敛到项目根 .memory/ 与三条命令上,减轻重复讲项目背景的成本。若你已在用 Cursor 并希望记忆跟着仓库走,可按 SkillHub 页面安装 @user_69484e35/memoryrz2r,从 /memory.bootstrap 试起。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye