关于 reflect
reflect 用于从对话中提炼可复用经验,并将发现分流至 skill 修改或待办事项。它通过并行审阅和综合步骤整理结论,应用已接受的修改前须获得明确批准。
主要功能
- 01定位当前对话记录
- 02从三个角度并行审阅发现
- 03整理接受、拒绝和待办事项
- 04将结构性修复转入待办
- 05修改 skill 前要求批准
适用场景
- 01从对话中提取可复用经验
- 02审视会话中的工具使用与判断
- 03准备待批准的 skill 修改建议
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ cursor/ plugins --skill reflect安装后在 Claude Code 中输入/reflect确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/divergent-reviewer.mdjudgment-reviewer.mdsynthesizer.mdtooling-reviewer.md详细介绍
Reflect
从当前对话中提炼可长期复用的经验,并将其用于技能编辑。
当用户说“reflect”或“/reflect”时调用。如果对话内容无关紧要、偏离主题,或父级 Agent 已正确遵循现有技能,则跳过。一次性事件不算经验。
1. 定位当前对话的记录
在并行派发任务前,先在系统提示中指定的 agent-transcripts/ 目录中查找当前对话的记录。不要遍历 ~/.cursor/projects/*/。这样会跨越工作区边界,并读取其他项目中的私人对话。
ls -t <agent-transcripts>/*.jsonl <agent-transcripts>/*/*.jsonl <agent-transcripts>/*/subagents/*.jsonl 2>/dev/null | head -10
这涵盖旧版平铺布局(<id>.jsonl)、当前嵌套布局(<id>/<id>.jsonl)和子 Agent 布局(<parent>/subagents/<child>.jsonl)。读取每个候选文件的第一行 JSONL。选择 message.content[0].text 包含当前对话开场用户提示的文件。如果没有匹配项,则改为传入简明的会话摘要。
2. 并行派发三位审查者
发送一条消息,包含三个 Task 调用,subagent_type: generalPurpose,Agent 模式(readonly: false)。审查者需要 MCP 访问权限,以查找记录中引用的工单、聊天线程和可观测性追踪;只读模式会移除 MCP。
每位审查者和综合者都要在 pstack-models.mdc 规则中指定一个角色行和默认值。将 model 设为该行指定的值;如果缺少规则或角色行,则使用默认值。如果值为 auto 或 inherit-parent,则不设置 model。如果 Task 工具不接受某个模型标识符,则改用默认值并说明原因。如果默认值也不被接受,则根据错误信息选择同系列中最接近的有效标识符。根据 poteto-mode 技能中的 Subagents 部分,为每位子 Agent 按任务选择推理级别,以及 fast 或 standard 速度。
| 视角 | 角色行 | 默认 model | 提示模板 |
|---|---|---|---|
| 判断 | reflect judgment, divergent, synthesizer | claude-opus-5-5-xhigh | references/judgment-reviewer.md |
| 工具 | reflect tooling | grok-4.7-xhigh-fast | references/tooling-reviewer.md |
| 发散 | reflect judgment, divergent, synthesizer | claude-opus-5-5-xhigh | references/divergent-reviewer.md |
逐字传入每个模板,并在标记处替换为记录路径或摘要。审查者会在 Task 响应正文中返回发现。
3. 综合
调用一次 Task,subagent_type: generalPurpose,model 取自 reflect judgment, divergent, synthesizer 角色行(默认 claude-opus-5-5-xhigh),Agent 模式(readonly: false)。它会通过 MCP 对引用进行抽样核验;只读模式会移除 MCP。逐字传入 references/synthesizer.md,并在标记处内嵌每位审查者的完整输出。它会返回一个 Accepted / Rejected / Backlog 列表。
4. 结构化执行检查
将任何可由 lint 规则、脚本、元数据标记或运行时检查更可靠地强制执行的 Accepted 项移至 Backlog。请参阅 encode-lessons-in-structure 原则技能。
5. 应用
完整展示综合器的 Accepted / Rejected / Backlog 输出,并在应用任何 Accepted 修改前等待明确批准。由用户选择要应用的子集,也可以重新指定路由。技能变更会影响组织中的所有未来 Agent。不要自动应用。
将每个 Backlog 项目提交到团队的 devex 或 backlog 跟踪系统,无需等待。只有 Accepted 列表需要等待批准。
绝不编辑 plugins/cache/ 下的技能。批准前,展示其目标位置:.cursor/skills/<skill>/ 或 ~/.cursor/skills/<skill>/。批准后,将技能文件夹复制到该位置并编辑副本。绝不创建 PR 或推送。
严格遵循每个已批准条目的 Routing:
- 对现有技能的微小编辑(一条项目符号、一处措辞精简、修正过时事实):由父级直接完成。
- 对现有技能的实质性编辑(新增章节、新增模式表、超过约 10 行):交给 Cursor 内置的
create-skill技能,并运行其起草 / 测试 / 迭代循环。 tune description: <skill path>(技能存在,但在应该触发时未触发):交给create-skill,并运行其描述优化循环。new skill via create-skill: <kebab-name>:交由create-skill创建。不要临时自行设计结构。
如果环境提供 SKILL.md 验证器,在宣布完成前,对每个修改过的技能运行验证器。
6. 向用户总结
简短列出,不要加前言:
- 已应用的修改:
<skill path>。每项变更用一行说明。 - 新建的技能:
<skill path>。每项用一行说明(少见)。 - 已提交到 devex 跟踪系统的 Backlog:
<issue title>(<tags>)。每项用一行说明。 - 已舍弃:每个被拒绝的发现用一行说明,并注明综合器给出的原因。