关于 reflect
reflect 是用于复盘会话并提出技能改进建议的 Claude 技能,可分析纠正、成功反馈、边缘情况和反复出现的偏好。它面向技能维护者,修改前须获得明确批准。
主要功能
- 01分析会话信号
- 02提出技能更新建议
- 03手动及自动复盘控制
- 04编辑前要求批准
适用场景
- 01会话后复盘某项技能
- 02识别反复出现的纠正或偏好
- 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:获得批准后
- 从
.claude/skills/[skill-name]/SKILL.md读取当前技能文件 - 使用 Edit 工具应用更改
- 运行 Git 命令:
cd .claude/skills git add [skill-name]/SKILL.md git commit -m "[skill]: [change summary]" git push origin main - 确认:“技能已更新并推送到 GitHub”
步骤 5:如果用户拒绝
询问:“是否要保存这些观察结果,以便日后查看?”
如果是,将内容追加到 .claude/skills/[skill-name]/OBSERVATIONS.md
切换命令
/reflect on
启用会话结束时自动反思:
- 使用
{"enabled": true, "updatedAt": "[timestamp]"}创建或更新~/.claude/reflect-skill-state.json - 确认:“已启用自动反思。会话结束时将自动进行分析。”
/reflect off
禁用自动反思:
- 使用
{"enabled": false, "updatedAt": "[timestamp]"}更新~/.claude/reflect-skill-state.json - 确认:“已禁用自动反思。使用 /reflect 手动分析会话。”
/reflect status
检查当前状态:
- 读取
~/.claude/reflect-skill-state.json - 报告:“自动反思已[启用/禁用]”,并附上最后更新时间
注意: 状态文件保存在全局 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