mcpField
R
retro

retro

github.com/aymericderboisAgent 工作流47 次安装
代码仓库

关于 retro

供 Claude Code 使用的复盘 skill,分析当前会话中的摩擦并追溯根因,提出写入仓库的改进方案;获得明确批准后才修改文件。

主要功能

  1. 01扫描对话中的摩擦信号
  2. 02追溯问题根因
  3. 03将经验归入仓库文件
  4. 04提出精确修改并等待批准
  5. 05避免记录一次性问题

适用场景

  1. 01复盘反复出现纠正的会话
  2. 02将重复的工作流问题转为共享规则
  3. 03总结长任务结束后的经验

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aymericderbois/skills --skill retro

安装后在 Claude Code 中输入/retro确认已加载。

详细介绍

retro

概述

在工作会话结束时,找出摩擦点(用户与 Agent 之间卡住的地方), 逐一追溯到其根本原因,并提出具体修改建议,让后续会话进行得更顺畅——将这些改进沉淀到仓库中,因此可以进行版本管理并同步到所有机器。

核心原则:反复出现的摩擦 = 缺失的规则。回顾会将会话中的隐性反馈转化为持久化、可执行的文本,就像事后复盘一样。

此技能会分析当前对话(即已处于其上下文中的对话)。它不会解析外部对话记录文件。

适用场景

  • 用户说:「回顾」「会话总结」「哪里卡住了?」「retro」,或调用 /retro
  • 会话结束时,或完成一项需要大量来回沟通的任务后
  • 用户想把一次性的挫败转化为持久改进时

不适用场景:

  • 会话很简单(只有一个问题,没有任何修正)→ 回复没有值得沉淀的内容
  • 上下文经过了大幅压缩 → 说明这一点:回顾只涵盖当前上下文中保留的内容(见 限制)

限制

  • 回顾只能看到当前上下文中的对话。如果发生过压缩,开头部分的摩擦可能已经丢失——要明确说明,不要凭空编造。
  • 回顾不会进行度量(此处没有 OpenTelemetry 指标):它是对摩擦信号进行的定性分析。

需要识别的摩擦信号

浏览对话,并为每个信号标明相关的轮次:

信号识别方式
用户纠正「不」「更确切地说」「其实」「不是这样」,或重新表述指令
方向调整Agent 走错方向后,用户重新指引
错误假设Agent 对某事作出了不准确的假设(路径、惯例、意图),随后不得不纠正
反复澄清为了弄清本可以一开始就提出的需求,进行了多轮沟通
放弃方案事后丢弃或重做了已经完成的工作
手动返工用户不得不自行修改 Agent 生成的内容
权限被拒某项操作因缺少预先授权而受阻
工具摩擦命令因不熟悉仓库(工具链、路径、惯例)而失败

工作流

1. 分析

重读对话,列出识别出的摩擦点。每个摩擦点都要说明:发生了什么、发生在什么时候,以及造成的影响 (时间浪费、返工、挫败感)。

2. 追溯根本原因

针对每个摩擦点,回答:如果一开始就存在什么,就能避免这个问题? 常见原因包括:

  • Agent 本应了解但缺失的规则/惯例 → 应写入 rules/ 或 CLAUDE.md
  • 缺失的流程性知识(可重复使用的一系列步骤)→ 应写入 skills/
  • 用户侧的指令含糊不清 → 这不属于配置修改,而是关于如何更好地表述指令的建议
  • 非反复出现的临时上下文不足 → 不要沉淀(过度沉淀会造成干扰)

不要把每个摩擦点都转化为规则。一次性的摩擦不值得制定规则。 优先处理那些有可能再次发生的问题。

3. 将每条经验路由到正确的位置
经验类型目标位置原因
可复用的技能(步骤序列、工作流).claude/skills/<nom>/SKILL.md可调用,由其 description 触发
需要记住的规则/事实,针对特定主题.claude/rules/<sujet>.md每次会话自动加载,并纳入版本控制
核心、跨领域且始终生效的约定CLAUDE.md始终处于上下文中,供整个团队查看
仅适用于一台机器的事实自动记忆(~/.claude/…)很少使用;应避免,因为不会同步

所有「仓库」目标位置(rules/skills/CLAUDE.md)都纳入 Git 版本控制 → 在不同机器间同步,并与团队共享。这是默认选择。

4. 提出建议,然后停止

展示建议表格,暂不写入任何内容,然后等待用户明确确认。格式:

Frictions de la session :

1. <friction> (tour ~N)
   Cause racine : <cause>
   → Proposition : <action> dans <fichier cible>
     Texte exact à ajouter/modifier :
     ----
     <le contenu précis>
     ----

2. …

Aucune capitalisation pour : <frictions jugées ponctuelles, listées avec une phrase de justification>

建议规则:

  • 给出要写入的确切文本,绝不能只笼统地说「改进 X」。
  • 指明准确的目标文件。
  • 如果涉及现有规则,应提出修改(合并/更新),而不是重复添加——遵循 ADD / MERGE / DELETE 的原则,避免 rules/ 和 CLAUDE.md 越来越臃肿。
  • 明确列出不纳入长期记忆的内容及原因(透明地避免噪声)。

表格后,询问:「全部应用/应用部分/都不应用?」,然后等待。

5. 应用

获得确认后,只写入获选的建议:

  • 新事实/规则 → 创建/编辑 .claude/rules/<sujet>.md
  • 新技能 → 创建 .claude/skills/<nom>/SKILL.md(frontmatter 包含 name 和 description,结构以该 skill 为模板)
  • 跨领域约定 → 编辑 CLAUDE.md
6. 收尾
  • 总结已写入的内容(文件列表)。
  • 提醒这些文件纳入版本控制 → 提出提交建议(不要直接提交;建议使用 /commit)。

防护措施

  • 未经确认,绝不写入(必须执行步骤 4)——与 commit skill 一样。
  • 不要过度沉淀:一次有效的会话可能不会产出任何规则,这也是合理的结果。
  • 优先修改现有规则,而不是添加重叠的新规则。
  • 未经询问,不要提交。
  • 如果复盘仅涉及压缩后的/不完整的上下文,应当说明这一点,而不是声称覆盖了整个会话。

评论

支持 Markdown