mcpField
R
reflect

reflect

github.com/llama-farmAgent 工作流83645 次安装21 周前更新
代码仓库

关于 reflect

reflect 是用于复盘会话并提出技能改进建议的 Claude 技能,可分析纠正、成功反馈、边缘情况和反复出现的偏好。它面向技能维护者,修改前须获得明确批准。

主要功能

  1. 01分析会话信号
  2. 02提出技能更新建议
  3. 03手动及自动复盘控制
  4. 04编辑前要求批准

适用场景

  1. 01会话后复盘某项技能
  2. 02识别反复出现的纠正或偏好
  3. 03将获批观察转为技能更新

安装

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

$npx skills add https://github.com/llama-farm/llamafarm --skill reflect

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

详细介绍

Reflect Skill

分析当前会话,并根据有效之处、未奏效之处以及发现的边缘情况,提出技能改进建议。

触发方式

在使用某项技能的会话结束后,运行 /reflect 或 /reflect [skill-name]。

其他命令:

  • /reflect on - 启用会话结束时自动反思
  • /reflect off - 禁用自动反思
  • /reflect status - 检查是否已启用自动反思

工作流

步骤 1:识别技能

如果未提供技能名称,请询问:

Which skill should I analyze this session for?
- frontend-design
- code-reviewer
- [other]
步骤 2:分析对话

在当前对话中查找以下信号:

更正(高置信度):
  • 用户说了“不是”“不是这样的”“我的意思是……”
  • 用户明确更正了输出
  • 用户在生成内容后立即要求修改
成功(中置信度):
  • 用户说了“完美”“很好”“是的”“正是如此”
  • 用户接受了输出,没有要求修改
  • 用户基于输出继续开展工作
边缘情况(中置信度):
  • 技能未考虑到的问题
  • 需要变通处理的情形
  • 用户要求但技能未涵盖的功能
偏好(跨会话累积):
  • 用户选择中反复出现的模式
  • 用户间接表现出的风格偏好
  • 对工具或框架的偏好
步骤 3:提出更改

使用易于识别的颜色展示发现(符合 WCAG AA 4.5:1 对比度):

┌─ Skill Reflection: [skill-name] ───────────────────┐
│                                                    │
│ Signals: X corrections, Y successes                │
│                                                    │
│ Proposed changes:                                  │
│                                                    │
│ 🔴 [HIGH] + Add constraint: "[specific constraint]"│
│ 🟡 [MED]  + Add preference: "[specific preference]"│
│ 🔵 [LOW]  ~ Note for review: "[observation]"       │
│                                                    │
│ Commit: "[skill]: [summary of changes]"            │
│                                                    │
└────────────────────────────────────────────────────┘

Apply these changes? [Y/n] or describe tweaks
无障碍配色方案(在终端输出中使用 ANSI 代码):
  • 高:\033[1;31m(粗体红色 #FF6B6B,在深色背景上的对比度为 4.5:1)
  • 中:\033[1;33m(粗体黄色 #FFE066,在深色背景上的对比度为 4.8:1)
  • 低:\033[1;36m(粗体青色 #6BC5FF,在深色背景上的对比度为 4.6:1)
  • 重置:\033[0m

避免使用:纯红色(#FF0000)搭配黑色背景、红绿搭配(对色盲用户不友好)

用户响应选项:
  • Y – 应用更改、提交并推送
  • n – 跳过此次更新
  • 或说明要对建议进行哪些调整
步骤 4:获得批准后
  1. 从 .claude/skills/[skill-name]/SKILL.md 读取当前技能文件
  2. 使用 Edit 工具应用更改
  3. 运行 Git 命令:
    cd .claude/skills
    git add [skill-name]/SKILL.md
    git commit -m "[skill]: [change summary]"
    git push origin main
    
  4. 确认:“技能已更新并推送到 GitHub”
步骤 5:如果用户拒绝

询问:“是否要保存这些观察结果,以便日后查看?”

如果是,将内容追加到 .claude/skills/[skill-name]/OBSERVATIONS.md

切换命令

/reflect on

启用会话结束时自动反思:

  1. 使用 {"enabled": true, "updatedAt": "[timestamp]"} 创建或更新 ~/.claude/reflect-skill-state.json
  2. 确认:“已启用自动反思。会话结束时将自动进行分析。”
/reflect off

禁用自动反思:

  1. 使用 {"enabled": false, "updatedAt": "[timestamp]"} 更新 ~/.claude/reflect-skill-state.json
  2. 确认:“已禁用自动反思。使用 /reflect 手动分析会话。”
/reflect status

检查当前状态:

  1. 读取 ~/.claude/reflect-skill-state.json
  2. 报告:“自动反思已[启用/禁用]”,并附上最后更新时间

注意: 状态文件保存在全局 Claude 用户目录(~/.claude/)中,因此插件升级后仍会保留。

示例会话

用户在一次 UI 会话后运行 /reflect frontend-design:

┌─ Skill Reflection: frontend-design ───────────────┐
│                                                   │
│ Signals: 2 corrections, 3 successes               │
│                                                   │
│ Proposed changes:                                 │
│                                                   │
│ 🔴 [HIGH] + Constraints/NEVER:                    │
│    "Use gradients unless explicitly requested"    │
│                                                   │
│ 🔴 [HIGH] + Color & Theme:                        │
│    "Dark backgrounds: use #000, not #1a1a1a"      │
│                                                   │
│ 🟡 [MED] + Layout:                                │
│    "Prefer CSS Grid for card layouts"             │
│                                                   │
│ Commit: "frontend-design: no gradients, #000 dark"│
│                                                   │
└───────────────────────────────────────────────────┘

Apply these changes? [Y/n] or describe tweaks

Git 集成

此技能有权:

  • 从 .claude/skills/ 读取技能文件
  • 编辑技能文件(需获得用户批准)
  • 在 skills 目录中运行 git add、git commit、git push

技能仓库应在 .claude/skills 中初始化,并配置远程 origin。

重要说明

  • 始终在应用更改前展示确切的更改内容
  • 未经用户明确批准,绝不修改技能
  • 提交说明应简洁且能描述更改
  • 仅在成功提交后推送

评论

支持 Markdown