| name | learn |
| description | 当用户踩坑后想记录经验教训、当调试完想防止同样的问题再次发生、当做了重要技术决策想记录时使用 — 自动更新 CLAUDE.md 的已知陷阱和决策日志 |
自我改进
把这次踩的坑或做的决策记录到 CLAUDE.md 中,防止下次再犯。
与其他 Skill 的区别
- /debug 解决当前的 bug
- /learn 把 bug 的经验教训写入 CLAUDE.md,让 Claude 永远记住
步骤
1. 确定要记录什么
如果用户已经说了,直接分析。否则问:
你想记录什么?
- 刚踩了个坑,想防止下次再犯
- 做了个技术决策,想记录原因
- 发现了项目的特殊规则,想让 Claude 记住
2. 提取关键信息
根据类型收集信息:
踩坑记录:
- 问题是什么?(一句话描述现象)
- 根因是什么?(为什么会出现)
- 正确的做法是什么?(下次应该怎么做)
技术决策:
- 选了什么方案?
- 为什么选这个?(2-3 个关键理由)
- 考虑过但没选的方案?(为什么不选)
项目规则:
3. 生成记录条目
用精确简洁的语言写一条记录:
踩坑格式:
- [现象描述] — [正确做法]
例:uv sync 会删除未在 pyproject.toml 中声明的包 — 运行前后对比 uv pip list
决策格式:
- 选择 [方案] 而不是 [备选] — 原因:[理由];否决 [备选] 因为 [理由]
例:选择 SQLite 而不是 PostgreSQL — 原因:单用户项目不需要并发;否决 PostgreSQL 因为运维成本高
4. 写入 CLAUDE.md
读取当前 CLAUDE.md,将新条目追加到对应区块:
- 踩坑 → 追加到「已知陷阱」区块
- 决策 → 追加到「决策日志」区块
- 规则 → 追加到最匹配的区块(铁律 / 不要做什么 / 工作流程)
写入前展示给用户确认:
准备在 CLAUDE.md 的「已知陷阱」中添加:
确认写入?
5. 确认
用户确认后写入文件。
已更新 CLAUDE.md。下次 Claude 会自动遵守这条规则。
规则
- 每条记录必须简洁(一行以内),不要写段落
- 用「现象 — 正确做法」格式,不要只描述问题不给方案
- 不要和已有条目重复 — 写入前检查是否已经存在类似记录
- 如果已有类似记录但不完整,更新它而不是添加新的