mcpField
R
reflect

reflect

github.com/cursorAgent 工作流14.5k4.0k 次安装今天更新
代码仓库

关于 reflect

reflect 用于从对话中提炼可复用经验,并将发现分流至 skill 修改或待办事项。它通过并行审阅和综合步骤整理结论,应用已接受的修改前须获得明确批准。

主要功能

  1. 01定位当前对话记录
  2. 02从三个角度并行审阅发现
  3. 03整理接受、拒绝和待办事项
  4. 04将结构性修复转入待办
  5. 05修改 skill 前要求批准

适用场景

  1. 01从对话中提取可复用经验
  2. 02审视会话中的工具使用与判断
  3. 03准备待批准的 skill 修改建议

安装

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

$npx skills add https://github.com/cursor/plugins --skill reflect

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
divergent-reviewer.md
judgment-reviewer.md
synthesizer.md
tooling-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, synthesizerclaude-opus-5-5-xhighreferences/judgment-reviewer.md
工具reflect toolinggrok-4.7-xhigh-fastreferences/tooling-reviewer.md
发散reflect judgment, divergent, synthesizerclaude-opus-5-5-xhighreferences/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>)。每项用一行说明。
  • 已舍弃:每个被拒绝的发现用一行说明,并注明综合器给出的原因。

评论

支持 Markdown