Install in Claude Code
Copymkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/xiaobei930/cc-best/HEAD/commands/self-check.md -o ~/.claude/commands/self-check.mdThen start a new Claude Code session; the slash command loads automatically.
Definition
self-check.md
# /self-check - 自我检查
定期进行自我检查,确保工作质量和方向正确。
## 检查时机
### 定时检查
| 频率 | 检查内容 |
| ----------------- | -------- |
| 每个任务完成后 | 任务验证 |
| 每 5 个任务后 | 方向检查 |
| 每个 Phase 完成后 | 阶段审查 |
| 每天结束前 | 日总结 |
### 触发检查
| 触发条件 | 检查内容 |
| ---------- | -------- |
| 遇到阻塞 | 问题分析 |
| 不确定时 | 方向确认 |
| 用户反馈后 | 调整确认 |
## 检查清单
### 任务级检查
```
[ ] 任务目标是否达成?
[ ] 代码是否可运行?
[ ] 是否有未处理的错误?
[ ] 是否需要更新文档?
[ ] 是否需要提交 Git?
```
### 阶段级检查
```
[ ] Phase 目标是否达成?
[ ] 所有验收标准是否满足?
[ ] 文档是否同步更新?
[ ] 是否有遗留问题?
[ ] 下一阶段依赖是否就绪?
```
### 方向检查
```
[ ] 是否偏离了项目目标?
[ ] 是否过度设计?
[ ] 是否遗漏了用户需求?
[ ] 是否有更简单的方案?
[ ] 当前优先级是否正确?
```
## 问题发现后的处理
### 小问题(可立即修复)
1. 记录问题
2. 立即修复
3. 验证修复
4. 继续原任务
### 中等问题(需要规划)
1. 记录问题到 progress.md
2. 评估影响范围
3. 创建修复任务
4. 安排到合适时机
### 大问题(需要决策)
1. 停止当前工作
2. 详细记录问题
3. 分析可选方案
4. 请求用户决策
## 自检报告格式
```markdown
## Self-Check Report [时间戳]
### 当前状态
- Phase: X / Step: Y
- 进度: XX%
- 状态: 正常/需关注/阻塞
### 完成检查
- [x/] 任务验证
- [x/] 代码质量
- [x/] 文档同步
- [x/] Git 状态
### 发现问题
1. [问题描述] - [严重程度] - [处理方式]
### 下一步
- [下一个任务]
- [预期产出]
```
## 红旗检测 | Red Flag Detection
以下信号表明可能存在问题,需要立即关注:
### 7 个红旗信号
| # | 红旗 | 检测方式 | 行动 |
| --- | ----------------------------------- | ---------------- | ------------ |
| 1 | 引用不存在的 API/函数 | Grep 搜索确认 | 停止,查文档 |
| 2 | 假设未验证的业务规则 | 检查需求文档 | 标记 TBD |
| 3 | 引用的版本号/语法可能过时 | WebSearch 验证 | 更新引用 |
| 4 | 多次失败后仍用相同方法 | 检查会话历史 | 换方案 |
| 5 | 修改了不理解的代码 | 检查是否先 Read | 先阅读再修改 |
| 6 | 跳过了测试直接提交 | 检查 verify 记录 | 补测试 |
| 7 | 长时间无进展(>10次工具调用无产出) | 计数器检测 | 暂停反思 |
### 检测集成
红旗检测自动集成到现有检查流程中:
- **任务级检查**:检查红旗 #1, #5, #6(API 存在性、代码理解、测试覆盖)
- **阶段级检查**:检查红旗 #2, #3(业务假设、技术时效)
- **方向检查**:检查红旗 #4, #7(方法有效性、进展停滞)
### 自动化检测 (v0.8.2+)
红旗 #4(多次失败后仍用相同方法)已通过 `observe-patterns.js` PostToolUse hook 自动检测:
- 同文件 Edit 3+ 次 + 最近 5 步内 Bash 错误 2+ 次 → 自动输出 `[RedFlag]` 警告
- 其他红旗仍需手动检查
**iterate 管线推荐频率**: 每 5 个任务手动执行一次 `/cc-best:self-check`
### 红旗响应协议
```
发现红旗 → 记录到自检报告 → 评估严重度 → 执行对应行动
│
┌──────────────┼──────────────┐
▼ ▼ ▼
低风险 中风险 高风险
(标记继续) (暂停评估) (停止请示)
```
## 最大化能力的检查项
### 我是否充分利用了:
- [ ] 并行执行多个独立任务
- [ ] 后台 Agent 处理耗时操作
- [ ] 复用现有代码
- [ ] 遵循方法论(最小单元、先规划后实现)
- [ ] 及时更新项目记忆
### 我是否避免了:
- [ ] 过度设计
- [ ] 重复造轮子
- [ ] 忽略检查点
- [ ] 累积未提交的代码
- [ ] 跳过验证步骤
> **记住**: 自检是持续改进的第一步——发现问题不可怕,可怕的是不知道有问题。