关于 reflect
reflect 是将会话中的有用经验沉淀到代码仓库的 Agent 技能。它会把发现分流到代码规则、测试、技能文档或上游项目,而不是存放在独立记忆库中。
主要功能
- 01回顾会话中的错误与发现
- 02跳过已有文档记录的经验
- 03将经验分流到持久位置
- 04把重复错误编码为规则
- 05汇总最终变更
适用场景
- 01将反复出现的 Agent 错误转为检查规则
- 02记录代码库或工具的特殊行为
- 03改进技能操作流程
- 04向模板或上游项目提交经验
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hachej/ boring-stack --skill reflect安装后在 Claude Code 中输入/reflect确认已加载。
详细介绍
Reflect
改编自 Poteto 的 brainmaxxing reflect(MIT,见 THIRD_PARTY.md)。本仓库没有单独的记忆库:下一位 Agent 必须了解的内容都保存在仓库本身,并像代码一样接受审查。
流程
- 扫描本次会话,查找:
- 犯过的错误以及收到的更正;
- 产品所有者的偏好(他们希望应用如何运行或呈现内容);
- 获取的代码库知识(注意事项、某些设计的原因);
- 库或工具的特殊行为(
vendor/boring/、Flue、模型提供方); - 技能(boring-app-template、build-app)或应用检查中的阻碍;
- 重复的手动步骤。
- 跳过琐碎内容或已记录的内容(grep AGENTS.md、docs/ 和各项技能)。
- 将每项经验教训按下文所述归类,优先选择最小且持久的形式。
- 在当前分支或新分支中提交更改,并说明所做的更改。
归类顺序
- 结构(principle-encode-lessons-in-structure):能否将其设为 lint 规则(
.oxlintrc.json)、架构规则(scripts/verify/ARCHITECTURE.json)、单元测试、verify check步骤、Agent 的index.mjs中的验证器、附带证据的法则(docs/INVARIANTS.md+scripts/verify/VERIFY.json),或模型(formal/)?如果可以,就在相应位置编码,不写说明文字。Agent 重复犯的错误,应成为scripts/verify/ARCHITECTURE.json中的规则,包含其强制执行的法则或决策、修复提示,以及能证明规则会触发的test/unit/architecture.test.mjs测试样例;更好的做法是通过类型、单一辅助函数或约束,让错误无法发生,从而不需要规则。 - 技能(对 hachej/boring-stack 提交拉取请求,修改
skills/<skill>/SKILL.md):如果经验教训涉及技能的操作流程,就修正该流程。 - 功能地图(
docs/verify/<area>.md):记录有关如何使用某项功能的注意事项。 - docs/DECISIONS.md:记录决策及其原因(“我们做 X 是因为 Y;不做 Z 是因为 W”)。
- AGENTS.md:记录每项任务中所有 Agent 都需要遵守的规则。保持简短:将详细内容移到技能中。
- 上游项目:如果
@boring/agent、@boring/files或@boring/chat存在缺陷,应向 hachej/boring-ui-v3 提交 issue 或拉取请求,绝不要修改vendor/。 - 模板(hachej/boring-app):记录每个新应用都需要吸取的经验教训,并说明这一点,使其能被纳入模板;现有应用则通过常规拉取请求进行更新。
总结
## Reflect summary
- Structural: [rules, tests, checks added]
- Skills: [skill files changed, one line each]
- Docs: [DECISIONS / AGENTS / feature map entries]
- Upstream or template: [issues or PRs to open]
评论
支持 Markdown