---
name: planning-verify-change
description: SpecPow planning-verify-change skill
---

# 验证变更

> 验证已实现的变更是否满足规范要求

## 触发条件

- 任务实现完成后
- 用户提到"验证"/"verify"/"检查"
- apply 完成后

## 铁律

1. **证据驱动** — 每个检查项必须有实际证据
2. **不自我评估** — 不能自己说"我觉得没问题"
3. **可复现** — 验证步骤必须可复现

## 验证维度

### 1. 规范合规性
- spec.md 中每个需求是否都有对应实现
- 验收标准是否都满足

### 2. 设计一致性
- 实现是否符合 design.md 中的架构决策
- 接口定义是否一致

### 3. 任务完成度
- tasks.md 中所有任务是否标记完成
- 引用的文件是否都存在

### 4. 测试覆盖
- 新增代码是否有测试
- 测试是否通过

### 5. 代码质量
- 编译通过
- Lint 通过
- 无安全漏洞

## 使用方式

```bash
# 单变更时自动检测，无需指定名称
specpow verify

# 多变更时指定名称
specpow verify --change <change-name>
```

## 任务格式

tasks.md 支持两种格式，verify 均能正确解析：
- **YAML Frontmatter（推荐）**：通过 `status: done` / `status: completed` / `completed: true` 判断完成
- **Markdown Checkbox**：通过 `- [x]` 判断完成

## 规范解析

使用 `parseDelta` 状态机解析 spec.md，识别 ADDED / MODIFIED / REMOVED / RENAMED 四种需求操作。

## 输出

验证报告，包含每项检查的通过/失败状态和详细信息。

## 红旗

- 任何 Critical 级别失败 → 必须修复
- 测试未通过 → 阻止归档
