# Compound

> Compound Learning Loop. 跨 sprint 积累的经验、模式、约束沉淀到 lessons.md, 后续 sprint 自动加载.

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

---


# /compound — 经验积累循环 (v9.6.2)

## 概念

Compound Learning Loop = 每次 polish / review 完成后, 把"做对的 pattern + 踩的坑 + 硬约束"沉淀到 `.ai_state/lessons.md`. 下一个 sprint 进入 plan stage 时, 主 agent **必须** read lessons.md 一次, 防止重复犯错.

## 写入时机

| 时机 | 触发 | 写入什么 |
|---|---|---|
| review_pass1 完成 | evaluator 写 VERDICT 时 | 1 行 pattern (做对了什么) |
| polish 完成 | cleanup-pass.md 写完时 | 1 行 pitfall (踩了什么坑) |
| 用户显式 `/compound add` | 用户主动 | 任意经验 |
| reviewer 发现新 P0 finding | findings 写完时 | constraint (硬约束) |

## 格式

```markdown
# Project Lessons

## [2026-05-23 sprint-2] Refactor JWT module
- Pattern: 用 RS256 instead of HS256 for stateless verification across services [executed]
- Pitfall: useEffect deps 漏掉 user.id 导致重渲染 inf loop [inspected]
- Constraint: 任何 JWT secret 改动必须更新所有 microservice 同时部署 [executed]

## [2026-05-22 sprint-1] Initial setup
- Pattern: TDD 严格执行后, refactor 阶段省了 40% 时间 [executed]
```

## 读取时机

- **plan stage 开始**: 主 agent Read `.ai_state/lessons.md` (强制, 不允许跳)
- **review stage 开始**: reviewer 读 lessons.md 看是否本 sprint 触犯了已知 pitfall

## 增量规则

- lessons.md ≤ 200 行: 持续追加
- lessons.md > 200 行: 主 agent 在 polish 后做"压缩 pass", 把相似 pattern 合并, 保留高密度
- lessons.md > 500 行: 拆分 archive (`lessons-2026-Q1.md`), 主 lessons.md 只留最近 3 个 sprint

## 约束

- 每条 lesson 必须带状态标 (`[executed]` / `[inspected]` / `[deferred]`)
- 不允许长篇大论 (一条 ≤ 30 字)
- 不允许重复 pattern (相同 pattern 第二次出现 → 升级为铁律候选)

