用途
Retro 用于在一次编码会话之后做回顾,目标是改进智能体所处的环境——导航指引、自动化检查、编码规范、steering 文件、工具链等,让下一次运行从更好的起点开始。它不修改代码本身,且在用户选择之前不应用任何改动。
回顾对象
默认回顾当前这一次会话(在 /clear 之前)。也可以回顾更早的会话,通过参数指定($ARGUMENTS),该会话文件位于 ~/.claude/projects/<cwd 中 / 替换为 ->/<session-id>.jsonl。引用会话内容时需要脱敏处理密钥。
先读环境
在分析前先读环境:仓库和全局的 CLAUDE.md / AGENTS.md、CODING_STANDARDS.md、仓库自带的 lint / typecheck / test 命令、pre-commit 钩子、CI 工作流。
候选类别
需要为以下每个类别找出候选,完成标准是每个类别要么有候选,要么标注“未发现”
- 导航:会话中找文件或事实耗时过长,对应提出导航指引。
- 自动化检查:本可被检查拦下的错误,或完全缺少护栏(没有 pre-commit 钩子、没有跑 lint / 类型 / 测试的 CI 任务)。已存在但未接入或静默失效的检查属于该类的发现,而不是新建检查。
- 编码规范:评审者漏掉的错误,或需要删除、澄清的规则。先分类:机械性的(语法模式、禁用 API、导入形态、文件位置)交给确定性检查(lint 规则、钩子或 CI 任务,取仓库现有护栏中最省成本的方式);需要判断的写入 CODING_STANDARDS.md。
- 全局 AGENTS.md:CLAUDE.md / AGENTS.md(仓库或全局)中本应属于标准或检查的 steering 内容。
- 工具经济性:昂贵或耗 token 的调用,可被更便宜的调用或脚本替代。
- 无效指令:不改变行为的 steering 行。
- 信息获取:智能体缺少的东西,如开发服务器日志、对第三方服务的只读访问。
- 缺陷预防:在 /debug 之后,思考什么能预防该缺陷;若无良好测试接缝、调用方纠缠、隐藏耦合,则候选为带具体信息的架构审计。
呈现与执行
候选按严重程度从高到低排列,每条包含会话证据(发生了什么、在哪里)和建议改动。只应用用户选中的项。起草 steering 文本前,需调用 Skill 工具并以 create-skill 的写作风格为准(no-op 测试、以正面方式表述)。
内容放置位置
实现者承受最大的上下文压力,评审者只拿到一个 diff 和很少的其他信息,因此由评审者执行标准,而非实现者。CLAUDE.md / AGENTS.md 每个会话都会加载,只放导航指引。CODING_STANDARDS.md 在评审时被 Standards 评审者读取,超过约 1,000 行时拆分为其指向的文档。文档是被其他文件指向的参考文件,优先扩展现有文档而非新建。Skills 是按需加载的知识或用户调用的命令。
后续动作
若有缺陷预防候选,执行 /hb:architecture-audit <具体信息>。