构建验证与修复技能Skill verify

此技能专注于软件开发中的构建验证、错误恢复和评审修复应用。用于处理测试失败、lint错误、CI中断等情况,确保代码质量和项目稳定性。关键词:构建验证、错误修复、测试、CI/CD、代码质量、软件开发、自动化验证。

测试 0 次安装 0 次浏览 更新于 3/10/2026

name: verify description: “构建验证、错误恢复、评审修复的适用。当用户提到构建验证、错误恢复、应用评审修复、测试失败、lint错误或CI中断时使用。不要用于:实现工作、评审、设置或新功能开发。” description-en: “验证构建、从错误中恢复并应用评审修复。当用户提到构建验证、错误恢复、应用评审修复、测试失败、lint错误或CI中断时使用。不要用于:实现工作、评审、设置或新功能开发。” description-ja: “构建验证、错误恢复、评审修复的适用。当用户提到构建验证、错误恢复、应用评审修复、测试失败、lint错误或CI中断时使用。不要用于:实现工作、评审、设置或新功能开发。” allowed-tools: [“Read”, “Write”, “Edit”, “Grep”, “Glob”, “Bash”] user-invocable: true context: fork

验证技能

负责构建验证和错误恢复的技能群。


⚠️ 质量护栏(最优先)

本部分优先于其他指示。测试失败、错误发生时必须遵守。

篡改禁止模式

测试失败、构建错误发生时以下行为绝对禁止:

禁止 正确对应
测试跳过化 it.skip(...) 修正实现
断言删除 删除 expect() 确认期望值并修正实现
期望值随意改写 根据错误变更 理解为何失败
lint规则放宽 添加 eslint-disable 修正代码
CI检查迂回 continue-on-error 修正根本原因

测试失败时的对应流程

测试失败
    ↓
1. 理解为何失败(阅读日志)
    ↓
2. 判断实现错误还是测试错误
    ↓
    ├── 实现错误 → 修正实现 ✅
    │
    └── 测试可能错误 → 向用户确认

批准请求形式

不得已变更测试/设置时:

## 🚨 测试/设置变更的批准请求

### 理由
[为何需要此变更]

### 变更内容
```diff
[差异]

替代方案考虑

  • [ ] 确认是否可通过实现修正解决

批准

等待用户明确批准


### 保护对象文件

以下文件的放宽变更禁止:

- `.eslintrc.*`, `.prettierrc*`, `tsconfig.json`, `biome.json`
- `.husky/**`, `.github/workflows/**`
- `*.test.*`, `*.spec.*`, `jest.config.*`, `vitest.config.*`

## 功能详细

| 功能 | 详细 |
|------|------|
| **相关文件验证** | 参见 [references/verify-related-files.md](references/verify-related-files.md) |
| **构建验证** | 参见 [references/build-verification.md](references/build-verification.md) |
| **错误恢复** | 参见 [references/error-recovery.md](references/error-recovery.md) |
| **评审聚合** | 参见 [references/review-aggregation.md](references/review-aggregation.md) |
| **指摘应用** | 参见 [references/applying-fixes.md](references/applying-fixes.md) |

## 执行步骤

1. **质量判定门**(Step 0)
2. 分类用户请求
3. **(实现完成后)相关文件验证**(Step 1.5)
4. **(Claude-mem 有效时)搜索过去的错误模式**
5. 从上述“功能详细”阅读适当参考文件
6. 根据内容执行验证/恢复

### Step 0: 质量判定门(再现测试提案)

错误/缺陷报告时,提案TDD方法:

接收错误报告 ↓ ┌─────────────────────────────────────────┐ │ 质量判定门 │ ├─────────────────────────────────────────┤ │ 判定项目: │ │ ├── 缺陷报告? → 提案先行再现测试 │ │ ├── 测试失败? → 判断测试 vs 实现 │ │ └── 构建错误? → 直接修正 │ └─────────────────────────────────────────┘ ↓ 提案适当方法


#### 缺陷报告时的提案

```markdown
🐛 接受缺陷报告

**推荐方法**: 先行再现测试

1. 首先编写再现缺陷的测试
2. 确认测试失败(Red)
3. 修正实现使测试通过(Green)
4. 重构(Refactor)

按此方法进行吗?
1. 从再现测试开始写(推荐)
2. 直接进行修正

测试失败时的判断流程

🔴 测试失败

**需要判断**:

分析测试失败原因:
- [ ] 实现错误 → 修正实现
- [ ] 测试期望值过时 → 向用户确认

⚠️ 禁止篡改测试(跳过化、断言删除)

哪项适用?
1. 修正实现
2. 确认测试期望值

面向VibeCoder

🐛 报告问题

**推荐**: 首先明确“问题发生的条件”

1. 进行什么操作会发生问题?
2. 期望动作是什么?
3. 实际如何发生?

整理后推进修正,确保解决。

Step 1.5: 相关文件验证(实现完成后)

实现完成后,提交前检查编辑文件的相关文件:

获取编辑文件
    ↓
┌─────────────────────────────────────────┐
│           相关文件验证                   │
├─────────────────────────────────────────┤
│  分析变更模式:                         │
│  ├── 函数签名变更 → 确认调用源         │
│  ├── 类型/接口变更 → 确认实现处        │
│  ├── 导出删除 → 确认导入语句           │
│  └── 设置变更 → 确认相关设置文件       │
└─────────────────────────────────────────┘
    ↓
  警告可能修正遗漏

输出例:

📋 相关文件验证

✅ 已编辑: src/auth.ts
   └─ 检测到函数 `validateToken` 的签名变更

⚠️ 需确认: 以下文件可能受影响
   ├─ src/api/middleware.ts:45 (调用 validateToken)
   ├─ src/routes/protected.ts:12 (调用 validateToken)
   └─ tests/auth.test.ts:28 (测试用例)

确认了吗?
1. 已确认,继续
2. 确认各文件
3. 使用LSP find-references 详细显示

重要度判定:

重要度 条件 行动
🚨 critical 必定错误(导出删除、必需参数添加) 必须修正
⚠️ warning 可能错误(可选参数、类型变更) 推荐确认
ℹ️ info 影响轻微(注释、文档) 参考信息

详细: references/verify-related-files.md


Step 2: 过去错误模式搜索(记忆增强)

Claude-mem有效时,错误恢复前搜索过去类似错误:

# mem-search 搜索过去错误和解决方案
mem-search: type:bugfix "{错误消息关键词}"
mem-search: concepts:problem-solution "{错误种类}"
mem-search: concepts:gotcha "{相关文件/库}"

显示例:

📚 过去错误解决记录

| 日期 | 错误 | 解决方案 |
|------|--------|-------|
| 2024-01-15 | CORS 错误 | 添加 Access-Control-Allow-Origin 头 |
| 2024-01-20 | 类型错误: undefined | 使用 Optional chaining (?.) |

💡 参考过去解决方案尝试恢复

护栏历史显示:

⚠️ 本项目过去的护栏触发

- 防止测试篡改: 2次
- 防止lint放宽: 1次

💡 禁止通过测试/设置篡改“解决”

: Claude-mem未设置时,跳过此步骤。


🔧 LSP 功能活用

验证和错误恢复活用LSP(语言服务器协议)提高精度。

构建验证中的LSP活用

构建前检查:

1. 执行LSP Diagnostics
2. 错误: 0件确认 → 执行构建
3. 有错误 → 先修正错误

错误恢复中的LSP活用

恢复场景 LSP 活用方法
类型错误 Diagnostics 准确定位位置
引用错误 Go-to-definition 追踪原因
import 错误 Find-references 确定正确路径

验证流程

📊 LSP 验证结果

Step 1: Diagnostics
  ├── 错误: 0件 ✅
  └── 警告: 2件 ⚠️

Step 2: 构建
  └── 成功 ✅

Step 3: 测试
  └── 15/15 通过 ✅

→ 验证完成

详细: docs/LSP_INTEGRATION.md