# Learn

> 当用户踩坑后想记录经验教训、当调试完想防止同样的问题再次发生、当做了重要技术决策想记录时使用 — 自动更新 CLAUDE.md 的已知陷阱和决策日志

- Skill: `lightpointventures/learn` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lightpointventures/learn`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lightpointventures/learn/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: lightpointventures (https://skillmd.com/u/lightpointventures)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lightpointventures/learn

---


# 自我改进

把这次踩的坑或做的决策记录到 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 会自动遵守这条规则。

## 规则

- 每条记录必须简洁（一行以内），不要写段落
- 用「现象 — 正确做法」格式，不要只描述问题不给方案
- 不要和已有条目重复 — 写入前检查是否已经存在类似记录
- 如果已有类似记录但不完整，更新它而不是添加新的

