Reflect技能使用说明
反思 - 自我提升技能
快速参考
| 命令 | 操作 |
|---|---|
| /reflect | 分析对话以获取学习内容 |
| /reflect on | 启用自动反思 |
| /reflect off | 禁用自动反思 |
| /reflect status | 显示状态与指标 |
| /reflect review | 审阅低置信度的学习内容 |
| /reflect [代理名称] | 聚焦于特定代理 |
核心理念
“一次纠正,永久生效。”
当用户纠正行为时,这些纠正将成为永久性改进,并编码到代理系统中——适用于所有未来的会话。
工作流程
步骤一:初始化状态
使用状态管理器检查并初始化状态文件:
# Check for existing state python scripts/state_manager.py init # State directory is configurable via REFLECT_STATE_DIR env var # Default: ~/.reflect/ (portable) or ~/.claude/session/ (Claude Code)
状态包括:
- reflect-state.yaml- 切换状态,待审阅
- reflect-metrics.yaml- 聚合指标
- learnings.yaml- 所有已应用学习内容的日志
步骤二:扫描对话以寻找信号
使用信号检测器来识别学习内容:
python scripts/signal_detector.py --input conversation.txt
信号置信度级别
| 置信度 | 触发条件 | 示例 |
|---|---|---|
| 高 | 明确的纠正 | "从不"、"总是"、"错误"、"停止"、"规则是" |
| 中 | 被认可的方法 | "完美"、"完全正确"、被接受的输出 |
| 低 | 观察结果 | 有效但未经验证的模式 |
参见signal_patterns.md查看完整的检测规则。
步骤3:分类并匹配到目标文件
将每个信号映射到相应的目标:
学习类别:
| 类别 | 目标文件 |
|---|---|
| 代码风格 | code-reviewer,backend-developer,frontend-developer |
| 架构 | solution-architect,api-architect,architecture-reviewer |
| 流程 | CLAUDE.md,编排器代理 |
| 领域 | 领域特定代理,CLAUDE.md |
| 工具 | CLAUDE.md相关专家 |
| 新技能 | .claude/skills/{name}/SKILL.md |
参见agent_mappings.md获取映射规则。
第4步:检查是否具备转化为技能的价值信号
某些学习成果应转化为新技能,而非仅更新代理:
技能转化标准:
- 非显而易见的调试(超过10分钟的调查)
- 误导性错误(根本原因与错误信息不符)
- 通过实验发现的变通方案
- 配置洞察(与文档记录不同)
- 可复用模式(有助于处理类似情况)
质量门槛(必须全部满足):
- 可复用性:对未来任务有帮助
- 非平凡性:需要探索发现,而非仅查阅文档
- 明确性:能描述确切的触发条件
- 已验证:解决方案实际有效
- 无重复性:尚不存在
参见skill_template.md以获取技能创建指南。
步骤5:生成提案
按此格式生成输出:
# Reflection Analysis ## Session Context - **Date**: [timestamp] - **Messages Analyzed**: [count] - **Focus**: [all agents OR specific agent name] ## Signals Detected | # | Signal | Confidence | Source Quote | Category | |---|--------|------------|--------------|----------| | 1 | [learning] | HIGH | "[exact words]" | Code Style | | 2 | [learning] | MEDIUM | "[context]" | Architecture | ## Proposed Agent Updates ### Change 1: Update [agent-name] **Target**: `[file path]` **Section**: [section name] **Confidence**: [HIGH/MEDIUM/LOW] **Rationale**: [why this change] ```diff --- a/path/to/agent.md +++ b/path/to/agent.md @@ -82,6 +82,7 @@ ## Section * Existing rule +* New rule from learning
建议的新技能
技能 1: [技能名称]
质量门检查:
- 可复用性:[原因]
- 非琐碎性:[原因]
- 具体性:[触发条件]
- 已验证:[验证方式]
- 无重复性:[已核对内容]
将创建:.claude/skills/[技能名称]/SKILL.md
冲突检查
- 未检测到与现有规则的冲突
- 或:警告 - 可能与 [文件:行号] 存在潜在冲突
提交信息
reflect: add learnings from session [date] Agent updates: - [learning 1 summary] New skills: - [skill-name]: [brief description] Extracted: [N] signals ([H] high, [M] medium, [L] low confidence)
审核提示
应用这些更改?
- Y- 应用所有更改并提交
- N- 丢弃所有更改
- 修改- 调整特定更改
- 1,3- 仅应用更改1和3
- s1- 仅应用技能1
- all-skills- 应用所有技能,跳过代理更新
### Step 6: Handle User Response **On `Y` (approve):** 1. Apply each change using Edit tool 2. Run `git add` on modified files 3. Commit with generated message 4. Update learnings log 5. Update metrics **On `N` (reject):** 1. Discard proposed changes 2. Log rejection for analysis 3. Ask if user wants to modify any signals **On `modify`:** 1. Present each change individually 2. Allow editing the proposed addition 3. Reconfirm before applying **On selective (e.g., `1,3`):** 1. Apply only specified changes 2. Log partial acceptance 3. Commit only applied changes ### Step 7: Update Metrics ```bash python scripts/metrics_updater.py --accepted 3 --rejected 1 --confidence high:2,medium:1
切换命令
启用自动反思
/reflect on # Sets auto_reflect: true in state file # Will trigger on PreCompact hook
禁用自动反思
/reflect off # Sets auto_reflect: false in state file
检查状态
/reflect status # Shows current state and metrics
审核待处理项
/reflect review # Shows low-confidence learnings awaiting validation
输出位置
项目级别(与仓库版本控制):
- .claude/reflections/YYYY-MM-DD_HH-MM-SS.md- 完整反思
- .claude/reflections/index.md- 项目摘要
- .claude/skills/{name}/SKILL.md- 新技能
全局(用户级别):
- ~/.claude/reflections/by-project/{project}/- 跨项目
- ~/.claude/reflections/by-agent/{agent}/learnings.md- 按智能体
- ~/.claude/reflections/index.md- 全局摘要
记忆集成
某些学习内容应放入自动记忆(~/.claude/projects/*/memory/MEMORY.md) 而非智能体文件中:
| 学习类型 | 最佳目标 |
|---|---|
| 行为纠正("始终执行X") | 智能体文件 |
| 项目特定模式 | MEMORY.md |
| 重复出现的错误/解决方案 | 新技能或MEMORY.md |
| 工具偏好 | CLAUDE.md |
| 领域知识 | MEMORY.md 或复合文档 |
当信号置信度低且属于项目特定信息时,优先写入 MEMORY.md 而非修改代理。
安全护栏
人工介入
- 未经用户明确批准,绝不应用任何更改
- 应用前始终展示完整差异
- 允许选择性应用
Git 版本控制
- 所有更改均需提交并附描述性信息
- 可通过以下方式轻松回滚git revert
- 学习历史得以保留
增量更新
- 仅可添加至现有章节
- 绝不删除或重写现有规则
- 保持原始结构
冲突检测
- 检查拟议规则是否与现有规则相矛盾
- 检测到冲突时向用户发出警告
- 建议解决方案
集成
与 /handover 命令
若启用自动反思,PreCompact 钩子会在交接前触发反思。
与会话健康度
当上下文使用率达70%以上(黄色状态)时,会注入提示以运行/reflect命令。
钩子集成(Claude Code)
该技能包含用于自动集成的钩子脚本:
# Install hook to your Claude hooks directory cp hooks/precompact_reflect.py ~/.claude/hooks/
在~/.claude/settings.json中配置:
{
"hooks": {
"PreCompact": [
{
"hooks": [
{
"type": "command",
"command": "uv run ~/.claude/hooks/precompact_reflect.py --auto"
}
]
}
]
}
}
完整配置选项请参见hooks/README.md。
可移植性
此技能适用于任何支持以下功能的LLM工具:
- 文件读写操作
- 文本模式匹配
- Git操作(可选,用于提交)
可配置的状态存储位置
# Set custom state directory export REFLECT_STATE_DIR=/path/to/state # Or use default # ~/.reflect/ (portable default) # ~/.claude/session/ (Claude Code default)
无任务工具依赖
与之前基于代理的方法不同,此技能直接执行而无需生成子代理。大语言模型读取SKILL.md并遵循工作流程。
Git操作可选
提交操作包含可用性检查——如果不在Git仓库中,更改仍会被保存但不会被提交。
故障排除
未检测到信号:
- 会话中可能没有修正内容
- 尝试/reflect review以检查待处理项目
冲突警告:
- 审查被引用的现有规则
- 决定新规则是否应覆盖
- 可在应用前修改
未找到代理文件:
- 检查代理名称拼写
- 使用/reflect status查看可用目标
- 可能需要先创建代理文件
文件结构
reflect/
├── SKILL.md # This file
├── scripts/
│ ├── state_manager.py # State file CRUD
│ ├── signal_detector.py # Pattern matching
│ ├── metrics_updater.py # Metrics aggregation
│ └── output_generator.py # Reflection file & index generation
├── hooks/
│ ├── precompact_reflect.py # PreCompact hook integration
│ ├── settings-snippet.json # Settings.json examples
│ └── README.md # Hook configuration guide
├── references/
│ ├── signal_patterns.md # Detection rules
│ ├── agent_mappings.md # Target mappings
│ └── skill_template.md # Skill generation
└── assets/
├── reflection_template.md # Output template
└── learnings_schema.yaml # Schema definition


微信扫一扫,打赏作者吧~