Project memory cn
Lightweight project memory system for AI coding agents — cross-session state, bug queue, ADR decisions, and handoff notes as Markdown files. Bilingual (EN/CN) with one-click install for Claude Code & Codex.
npx -y skills add RRFRRF/project-memory-skill --skill project-memory-cnAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
初始化轻量级项目记忆系统。创建 CLAUDE.md、AGENTS.md、LOOP.md、BUGS.md 与 .mem/ 文件。初始化后日常维护规则已嵌入 AGENTS.md(通过系统提示词持续生效),无需重复调用本 skill。仅用于初始化、记忆状态查询、压缩清理。默认中文。
SKILL.md
12.9 KB, as published. Nobody here has run it
project-memory-cn
你负责维护一个轻量级项目记忆系统。它用于跨 agent、跨 session 的代码项目协作。
目标是让新 session 快速知道:
- 项目是什么
- 当前做到哪里
- 有哪些 bug 优先处理
- 做过哪些长期决策
- 上一个 session 留下了什么交接
- 下一步应继续哪里
核心原则:
读得快,写得少,只记录会影响下一次 agent 判断的内容。
默认使用中文回复和维护记忆文件,除非用户或项目要求英文。
1. 目标结构
在仓库根目录维护:
project-root/
├── CLAUDE.md
├── AGENTS.md
├── LOOP.md
├── BUGS.md
└── .mem/
├── project.md
├── state.md
├── decisions.md
└── handoff.md
职责:
CLAUDE.md:Claude Code 入口,只导入AGENTS.mdAGENTS.md:共享项目规则入口BUGS.md:轻量 bug 队列LOOP.md:长期目标和循环约束.mem/project.md:稳定项目事实.mem/state.md:当前进度和下一步.mem/decisions.md:长期 ADR 决策.mem/handoff.md:跨 session 交接记录
2. 激活场景
本 skill 的核心职责是初始化记忆系统。初始化完成后,AGENTS.md 中已包含完整的工作规则、更新原则、协作规则和安全规则——这些规则通过 CLAUDE.md → @AGENTS.md 作为系统提示词持续生效。日常更新 .mem/state.md、BUGS.md、.mem/handoff.md 等操作由 AGENTS.md 驱动,无需重复调用本 skill。
仅在以下场景调用本 skill:
- 初始化项目记忆 / 建立记忆系统
- 查看记忆状态(用户明确询问"记忆状态")
- 压缩/清理记忆文件
- 用户明确要求使用 project-memory skill
注意:如果项目缺少记忆文件,但用户没有明确要求初始化,不要擅自创建整套记忆系统。可以简短提醒用户此项目适合初始化项目记忆。
3. 初始化协议
只有当用户明确要求初始化项目记忆时,才创建完整记忆系统。
用户要求初始化时:
- 识别仓库根目录。
- 生成本 session 代号。
- 创建缺失文件:
CLAUDE.mdAGENTS.mdLOOP.mdBUGS.md.mem/project.md.mem/state.md.mem/decisions.md.mem/handoff.md
CLAUDE.md写入一行:@AGENTS.md- 扫描仓库中可验证的信息,例如:
README.mdpackage.jsonpyproject.tomlrequirements.txtpnpm-lock.yamldocker-compose.ymlDockerfileMakefilesrc/tests/
- 能确认的项目事实写入
.mem/project.md。 - 不能确认的不要编造;少写
未知,统一放到To Verify。 - 在
.mem/handoff.md登记当前 session。 - 在
.mem/decisions.md添加ADR-001,说明采用该项目记忆系统。 - 不要保存密钥、token、密码或
.env内容。
4. 会话代号
每个 session 启动时创建唯一代号:
<agent>-YYYYMMDD-HHMM-<short-id>
示例:
claude-20260504-0930-a1b2
codex-20260504-0942-b8c1
agent-20260504-1010-k7d3
如果代理身份未知,用 agent。
5. 读取协议
非平凡工作开始前读取:
AGENTS.mdBUGS.md.mem/project.md.mem/state.md.mem/decisions.md.mem/handoff.md- 如涉及长期目标,再读取
LOOP.md
不要把全部记忆内容复述给用户,除非用户明确要求。
6. 更新原则
默认只更新最相关的文件,不要每次都同时改所有记忆文件。
更新触发条件:
.mem/state.md:有实质进展、阻塞或下一步变化.mem/handoff.md:暂停、结束、切换上下文或交接BUGS.md:发现、修复、验证或延后 bug.mem/decisions.md:做出长期架构/工具/接口决策.mem/project.md:稳定事实变化LOOP.md:用户给出长期目标、循环目标或持续约束
7. 协作规则
.mem/handoff.md 是弱协作信号,不是严格锁。
如果看到其他近期 active session:
- 避免修改同一批文件
- 必须重叠时,在
.mem/handoff.md的 Messages 里留下说明 - 不要因为看到 active session 就停止工作,除非确实存在冲突
如果某个 session 的 Last Seen 超过 2 小时,除非备注明确说明仍在工作,否则默认视为 stale,不阻塞当前工作。
如果只有自己工作:
- 可以直接更新
.mem/state.md的全局状态
8. BUG 规则
BUGS.md 是轻量队列,不是完整 issue 系统。
优先级:
P0:阻塞构建、启动、测试、数据完整性或关键流程P1:严重功能缺陷P2:重要但不阻塞P3:小问题、优化、清理
状态:
opendoingfixedverifieddeferredwontfix
规则:
- 开始有意义任务前检查相关 P0/P1 bug。
- 只优先处理与当前任务相关的 P0/P1 bug。
- 无关 bug 只记录或提醒,不打断当前任务。
- 修复 bug 后写明验证方式。
- 不要静默删除 bug;可以移动到
Fixed。
9. ADR 规则
.mem/decisions.md 只记录长期决策。
应该写 ADR 的例子:
- 选择某个框架
- 更换数据库
- 确定 browser automation 方案
- 确定 agent 架构
- 确定关键接口或数据模型
- 确定测试策略
不应该写 ADR 的例子:
- 修一个 bug
- 改变量名
- 增加一个小工具函数
- 临时调试结论
- 单次任务计划
10. LOOP 规则
LOOP.md 默认可以是 inactive。
只有当用户要求:
- 持续迭代
- 一直做直到完成
- 使用 goal/loop 模式
- 给长期目标或持续约束
才更新 LOOP.md。
LOOP.md 不应覆盖最新用户指令。最新用户指令优先。
11. 安全规则
记忆文件是明文,可能进入 git。
不要保存:
- API key
- 密码
- token
- 私钥
- session cookie
.env内容- 生产密钥
- OAuth secret
- 敏感个人信息
如果用户要求保存这些内容,说明风险并拒绝写入记忆文件。
12. 冲突处理
如果记忆与代码冲突:
- 以实际代码为准。
- 说明记忆可能过时。
- 在合适时更新记忆。
如果记忆与最新用户指令冲突:
- 以最新用户指令为准。
- 如果是长期变化,更新记忆。
文件优先级:
- 最新用户指令
- 实际代码和测试结果
AGENTS.mdLOOP.mdBUGS.md.mem/decisions.md.mem/state.md.mem/handoff.md.mem/project.md
13. 模板
13.1 CLAUDE.md
@AGENTS.md
13.2 AGENTS.md
# AGENTS.md
## 角色
你是一个 AI 编码代理,负责在本仓库中进行小而正确、可验证的代码修改。
默认使用中文回复用户并维护项目记忆,除非用户或项目另有要求。
## 项目记忆系统
本仓库使用轻量项目记忆系统:
```text
project-root/
├── CLAUDE.md
├── AGENTS.md
├── LOOP.md
├── BUGS.md
└── .mem/
├── project.md
├── state.md
├── decisions.md
└── handoff.md
必读
非平凡修改前读取:
AGENTS.mdBUGS.md.mem/project.md.mem/state.md.mem/decisions.md.mem/handoff.md- 如涉及长期目标,再读取
LOOP.md
工作规则
- 开始有意义任务前,检查
BUGS.md中相关 P0/P1 缺陷。 - 只优先处理与当前任务相关的 P0/P1 bug;无关 bug 不打断当前任务。
- 取得实质进展、遇到阻塞或改变下一步时,更新
.mem/state.md。 - 暂停、结束、切换上下文或需要交接时,更新
.mem/handoff.md。 - 发现、修复、验证或延后 bug 时,更新
BUGS.md。 - 只有长期架构/工具/接口决策才写入
.mem/decisions.md。 - 只有稳定项目事实变化才更新
.mem/project.md。 - 只有用户给长期目标或循环约束时才更新
LOOP.md。 - 默认只更新最相关的记忆文件,不要为了形式同时修改全部文件。
协作规则
- 每个 session 创建唯一代号:
<agent>-YYYYMMDD-HHMM-<short-id>。 .mem/handoff.md是弱协作信号,不是严格锁。- 如果看到其他近期活跃 session,避免修改同一批文件。
- 如果某个 session 的
Last Seen超过 2 小时,除非备注明确说明仍在工作,否则默认视为 stale。 - 如必须重叠修改,请在
.mem/handoff.md留下协调说明。
开发规则
- 修改前先阅读相关源码。
- 优先做小而聚焦的改动。
- 不要无故大规模重写。
- 不要删除用户未明确要求删除的内容。
- 尽量运行最小有效验证。
- 无法验证时,说明原因和风险。
安全规则
不要在记忆文件中保存 API key、密码、token、私钥、.env 内容、生产密钥或敏感个人信息。
完成汇报
完成有意义工作后,简要说明:
- 改了什么
- 如何验证
- 更新了哪些记忆文件
- 下一步是什么
---
### 13.3 LOOP.md
```markdown
# LOOP
## Status
No active loop goal.
## Objective
-
## Done Criteria
- [ ]
## Constraints
-
## Procedure
1. Read `AGENTS.md`, `BUGS.md`, and `.mem/`.
2. Check current objective and constraints.
3. Pick the highest-impact next task.
4. Handle relevant P0/P1 bugs first.
5. Make one small verifiable change.
6. Run the smallest useful verification.
7. Update the relevant memory file.
8. Stop when done criteria or stop conditions are met.
## Stop Conditions
- Done criteria are complete.
- The next step requires user input.
- Verification fails and the cause is unclear.
- Continuing would require risky or broad architectural changes.
- Another active session is working on the same files and coordination is needed.
## Last Updated
-
13.4 BUGS.md
# BUGS
轻量缺陷队列。开始有意义任务前检查相关 P0/P1 bug。
Priority: P0 blocking, P1 serious, P2 important, P3 minor.
Status: open, doing, fixed, verified, deferred, wontfix.
## Open
### BUG-YYYYMMDD-001 — Title
- Priority: P1
- Status: open
- Owner: unassigned
- Area:
- Symptom:
- Repro:
- Notes:
## Fixed
### BUG-YYYYMMDD-000 — Title
- Fixed by:
- Verification:
- Notes:
13.5 .mem/project.md
# Project Memory
稳定项目事实。只记录已验证、会影响后续开发判断的信息。
## Summary
-
## Verified Facts
-
## Tech Stack
-
## Architecture
-
## Commands
- Install:
- Dev:
- Test:
- Build:
- Lint:
- Typecheck:
## Known Pitfalls
-
## To Verify
-
## Last Updated
-
13.6 .mem/state.md
# Current State
## Goal
-
## Now
-
## Progress
- [ ]
## Blockers
- None
## Next
1.
## Workstreams
- default: unassigned / idle / -
## Last Updated
-
13.7 .mem/decisions.md
# Decisions
只记录会影响未来开发路径的长期决策。
## ADR Index
- ADR-001 — YYYY-MM-DD — Use lightweight project memory — accepted
## ADR-001 — Use lightweight project memory
- Date: YYYY-MM-DD
- Status: accepted
- Owner: session-id
- Context: 项目需要跨 agent、跨 session 共享状态、缺陷、决策和交接信息。
- Decision: 使用 `CLAUDE.md`、`AGENTS.md`、`LOOP.md`、`BUGS.md` 和 `.mem/` 组成轻量项目记忆系统。
- Alternatives:
- 全局个人记忆
- 数据库存储
- 不保存项目记忆
- Consequences:
- agent 能更容易接力和协作
- 需要保持记忆精简并避免保存敏感信息
13.8 .mem/handoff.md
# Handoff
跨 session 交接记录。它是弱协作信号,不是严格锁。
如果某个 session 的 `Last Seen` 超过 2 小时,除非备注明确说明仍在工作,否则默认视为 stale,不阻塞当前工作。
## Active Sessions
| Session | Last Seen | Status | Area | Note |
|---|---|---|---|---|
| session-id | YYYY-MM-DD HH:mm | active | startup | initialized |
## Messages
- YYYY-MM-DD HH:mm — from -> to: message
## Log
### YYYY-MM-DD HH:mm — session-id
- Did:
- Changed:
- Verified:
- Blocked:
- Next:
14. 状态查询
当用户问"记忆状态"或"当前记忆有什么"时:
- 检查文件是否存在。
- 简述每个文件当前记录的内容。
- 列出 active sessions,并指出超过 2 小时未更新的 session 可能 stale。
- 列出与当前任务相关的 open P0/P1 bugs。
- 指出明显过时、冗余或缺失的信息。
- 给出一个最有价值的清理建议。
15. 压缩规则
当记忆文件过长时:
- 保留当前目标、阻塞、下一步。
- 保留 open bugs。
- 保留长期 ADR。
- 合并旧 handoff 日志。
- 删除重复和过时内容。
- 不删除未验证 bug 或关键决策。
- 压缩后说明改了哪些文件。