SuperAPI AI 工具集

qa-commit

测试与质量

查看项目

更新于 10-16 06:58

技能介绍

用途

qa-commit 是一个提交前的核查技能,用来确认当前 commit 是否满足其被分配的 QA Contract 条件(G#N Gherkin 场景与 AC#N 验收标准),并返回 GREEN(通过)或 RED(失败并触发 debug)。

适用时机:

  • pr-review 通过之后、git commit 之前
  • Agent Mode 的 commit 级工作流中
  • 手动调用,方式为「use qa-commit skill」

输入:提交上下文

运行前需明确:

  • 来自 Commit Plan 的当前 commit
  • 分配的条件,例如「Satisfies: G#X, AC#Y, ...」
  • 涉及变更的相关文件

主要能力与执行流程

阶段 1:加载 QA Contract

取出本次 commit 被分配的条件,形如:

## Commit: [Name]
**Satisfies:** G#1, G#2, AC#1, AC#3

### Criteria to Verify:
- G#1: [Scenario description]
- G#2: [Scenario description]
- AC#1: [Acceptance criteria]
- AC#3: [Acceptance criteria]

阶段 2:技术校验

使用 Cursor 工具进行技术检查:

2.1 ReadLints

ReadLints:
  paths: [changed files]

预期:与提交功能相关的无错误。

2.2 类型安全

npm run typecheck

预期:退出码为 0。

2.3 相关测试(若存在)

npm run test -- --grep "[feature name]"

预期:所有测试通过。

阶段 3:Gherkin 核查(后端 - G#N)

对本次 commit 分配的每个 G#N:

3.1 接口存在性:验证 API 端点存在且已实现,例如 SemanticSearch: "Where is [endpoint] implemented?"

3.2 响应结构:检查响应是否符合预期 schema,例如 Grep: "interface.*Response" in related files

3.3 错误处理:验证错误情形是否被处理,例如 Grep: "throw|catch|error" in handler files

Gherkin 检查表:

G#N Scenario Status Notes
G#1 [Name] PASS/FAIL [Details]
G#2 [Name] PASS/FAIL [Details]

阶段 4:验收核查(前端 - AC#N)

对本次 commit 分配的每个 AC#N:

4.1 组件存在性:Glob: **/*[ComponentName]*.tsx

4.2 Storybook 故事(若 AC 涉及视觉):Glob: **/*[ComponentName]*.stories.tsx

4.3 浏览器 MCP 核查(若在运行中),针对交互类验收标准:

Browser MCP:
1. browser_navigate to Storybook URL
2. browser_snapshot to check state
3. browser_click/browser_type to test interaction
4. browser_take_screenshot for evidence

验收检查表:

AC#N Criteria Status Evidence
AC#1 [Criteria] PASS/FAIL [Screenshot/Notes]
AC#3 [Criteria] PASS/FAIL [Screenshot/Notes]

阶段 5:生成核查报告

## Verification Report

**Commit:** [Name]
**Satisfies:** G#1, G#2, AC#1, AC#3

### Technical Validation

| Check | Status |
|-------|--------|
| ReadLints | PASS/FAIL |
| TypeCheck | PASS/FAIL |
| Tests | PASS/FAIL/SKIP |

### Gherkin Scenarios (Backend)

| ID | Scenario | Status | Notes |
|----|----------|--------|-------|
| G#1 | [Name] | PASS/FAIL | [Details] |
| G#2 | [Name] | PASS/FAIL | [Details] |

### Acceptance Criteria (Frontend)

| ID | Criteria | Status | Evidence |
|----|----------|--------|----------|
| AC#1 | [Criteria] | PASS/FAIL | [Link/Notes] |
| AC#3 | [Criteria] | PASS/FAIL | [Link/Notes] |

### Verdict

**[GREEN / RED]**

[If GREEN: All criteria verified, ready to commit]
[If RED: Failed criteria listed, invoking debug skill]

阶段 6:处理结论

GREEN:所有条件已核查通过,继续执行 git commit。

RED - 自动调用 debug:

**Verification failed. Auto-invoking debug skill.**

### Failed Criteria:
- [G#N or AC#N]: [What failed]
- [G#N or AC#N]: [What failed]

### Context for Debug:
- Error messages: [from ReadLints]
- Expected behavior: [from QA Contract]
- Actual behavior: [observed]

Invoking debug skill with context...

debug 修复后,需重跑 qa-commit 进行核查。

与 debug 的集成

当结论为 RED 时:

  1. 自动调用 debug 技能
  2. 传入上下文:失败的 G#N 或 AC#N、来自 ReadLints/Shell 的错误信息、浏览器控制台/网络错误(如适用)
  3. debug 技能修复问题
  4. 重跑 qa-commit
  5. 重复直至 GREEN 或人工介入

使用的 MCP 工具

Tool Purpose
ReadLints 获取 lint/类型错误
Shell 运行测试、typecheck
Browser MCP Storybook 核查
SemanticSearch 查找实现
Grep 搜索模式

调用方式

由以下方调用:

  • commit.mdc - pr-review 通过之后
  • agent.mdc - 作为 commit 级工作流的一部分

或手动使用「use qa-commit skill」调用。

限制

资料未提供关于收费、价格、平台支持范围、性能效果等方面的信息。