端到端测试的唯一入口:用户说"帮我测试这个需求/功能"、"把这个功能完整测一遍"时,编排需求理解→测试策略(风险与类型决策)→用例→审查→执行→Bug 分析→回归→报告的完整流水线,产出落盘、可断点续跑。只要单阶段产出(如"帮我审一下这份用例")→ 直接用对应阶段 skill,不用本 skill。
Scanned 9/1/2026
Install to Claude Code
npx -y skills add fishzjp/qa-skills --skill qa --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Qa?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/fishzjp-qa-skills)More formats (shields.io, HTML) on the badges page.
---
name: qa
slug: qa
displayName: QA 测试流水线
version: 0.7.0
description: 端到端测试的唯一入口:用户说"帮我测试这个需求/功能"、"把这个功能完整测一遍"时,编排需求理解→测试策略(风险与类型决策)→用例→审查→执行→Bug 分析→回归→报告的完整流水线,产出落盘、可断点续跑。只要单阶段产出(如"帮我审一下这份用例")→ 直接用对应阶段 skill,不用本 skill。
---
# QA 编排入口(qa)
把"帮我测试这个需求"翻译成一条**可断点续跑的流水线**。本 skill 是薄编排:**不含任何测试方法与框架知识**(全部在阶段 skill 与 `core/`),不替用户做裁决。
## When to Use
- "帮我测试这个需求 / 功能"、"把这个功能完整过一遍"、"从需求到报告走一遍完整测试"
- 之前的流水线中断了,需要从落盘产物续跑
## When NOT to Use
- 只要单阶段产出 → 对应阶段 skill:需求建模 `requirement-analysis`、测试策略 `test-strategy`、写用例 `test-case-writing`、审查已有用例 `test-case-review`、E2E 执行 `automated-e2e-testing`、API 执行 `api-testing`、探索会话 `exploratory-testing`、Bug 根因 `bug-analysis`、回归范围 `regression-testing`
- 编写/修改某个阶段 skill 自身的方法论 → 不经过本 skill
## 编排会话模型(阶段间上下文隔离)
- **每个阶段运行在独立上下文中**(宿主支持子会话/子代理时):只加载当前阶段 skill 的 SKILL.md + 按需 references + 上一阶段的落盘产物文件;任一时刻活跃指令 ≤ 1–2 个 skill(当前阶段 + 本编排)
- **主会话只持有流水线状态**:阶段清单、各产物文件路径、检查点状态——不加载任何阶段 skill 的领域知识
- **降级路径**:宿主不支持子会话、或用户在单会话内手动走流水线时,退化为**顺序会话 + 落盘文件衔接**——正确性不受影响(状态全在文件里),损失的只是上下文卫生
- **反模式**:单会话内顺序累加加载全部 SKILL.md(9 个 × 数百行指令同时在场)
- **注入式形态的例外**:预注入部署(评测或宿主一次性注入全部指令)下本节隔离机制不存在——此时**靠阶段顺序防串扰**:任一时刻只执行当前阶段的指令,其余在场文件视为未加载;"文件即流水线状态"的原则两形态通用(双形态声明见 `../core/evidence.md` 第 6 节)
## 流水线与落盘产物(文件即流水线状态)
| # | 阶段 | skill | 落盘产物 | 人工检查点 |
|---|------|-------|---------|-----------|
| 0 | (旁路,可选)探索先行 | `exploratory-testing` | `{项目}/探索笔记_{主题}.md` | — |
| 1 | 需求理解 | `requirement-analysis` | `{项目}/需求模型.md`(含澄清记录) | ⏸ 澄清检查点:模糊/矛盾项等用户裁决 |
| 2 | 测试策略 | `test-strategy` | `{项目}/测试策略.md`(Risk Map + 两域 scope 含 type_scope)+ `专项移交_{轴}_{日期}.yaml`(有 handoff/blocked/外部执行器轴时) | ⏸ 预算裁决:full 预算裁剪触及 Critical 轴时呈现排序提案等用户裁决 |
| 3 | 用例编写 | `test-case-writing` | `{项目}/测试用例_markmap.md` + `测试用例.schema.yaml` | — |
| 4 | 用例审查 | `test-case-review` | 修订后用例文件 + 审查记录(重新抽取 Schema) | — |
| 5 | 执行 | `automated-e2e-testing` / `api-testing` / 手动 | 自动路径:执行代码或脚本(`playwright/` 或 API 测试脚本)+ **执行分报告**(至少 §2 执行统计 + §3 Bug 清单条目,字段按 `../core/report-template.md`);手动路径 `手动执行记录_{日期}.md` | ⏸ 执行策略裁决:确认 automation_plan 提案(手动/e2e/api);手动路径执行后 ⏸ 结果回收(TC × 结果) |
| 6 | Bug 分析 | `bug-analysis`(有已确认 Bug 时) | 中间产物 `{项目}/Bug条目_{日期}.md`(条目结构与根因分析等五个扩展字段按 report-template §3)——此阶段**禁止新建或改写**最终测试报告 | ⏸ Bug 定性检查点:预期 vs 缺陷 |
| 7 | 回归验证 | `regression-testing`(有代码变更/Bug 修复时) | `{项目}/回归清单_{日期}.md` | — |
| 8 | 收尾报告 | 本 skill(按 `../core/report-template.md`) | `{项目}/测试报告_{日期}.md` | — |
> 旁路触发条件:文档缺失 / 系统陌生时,阶段 0 在阶段 1 之前先行,探索产出(系统理解 + 风险清单)作为需求建模输入。
>
> 手动执行路径无 skill 与自动产物——执行后按 ⏸ 结果回收检查点向用户索取结果,落盘 `手动执行记录_{日期}.md`(TC 编号 × 结果〔通过/失败/阻塞〕,失败附 Bug 编号或现象):作为阶段 8 报告 §2 执行统计与 §3 Bug 清单的数据来源,防"未执行"列成为永久状态。
>
> 阶段 6 的 `Bug条目_{日期}.md` 是**中转中间产物**:最终报告在阶段 8 才生成,此期间 Bug 条目无处追加——先落中转文件,阶段 8 拼装进报告 §3 后以报告为准,该文件归档留痕,不形成双数据源。阶段 2 生成的 `专项移交_{轴}_{日期}.yaml` 同样进入主会话的状态跟踪:后续任一阶段产出或用户反馈使移交轴状态变化时同步更新 yaml 内 `execution_status`,防移交包生成即失联。
## 工作流
### 1. 启动:意图识别与路由
- 用户意图是**端到端流水线** → 继续本 skill
- 用户意图是**单阶段产出** → 移交对应阶段 skill,本 skill 退出
- **开工先收输入**(用户提供或指路,产物对应位置留 TODO 指明"找谁拿什么"):需求材料、代码仓库、测试环境与账号
### 2. 断点检查(续跑)
检查 `{项目}/` 下已有哪些落盘产物,从**最后一个完整阶段之后**继续,不重做已完成阶段。产物缺失/损坏则从该阶段重跑。
### 3. 按流水线顺序调度阶段 skill
- 每个阶段:在独立上下文中调用对应 skill(或降级为顺序调用),输入 = 上一阶段的**落盘产物文件路径**(不是会话记忆)
- **检查点暂停**:遇到 ⏸ 环节,向用户呈现该阶段 skill 汇总的问题/提案,**等待用户答复后**再进入下一阶段;用户在澄清环节的明确答复具有最终裁决力(见 `../core/evidence.md` 裁决规则),后续阶段不得推翻
- 阶段产出落盘失败(文件未生成)→ 该阶段重跑,不进入下一阶段
### 4. 收尾:生成测试报告
全部阶段完成后(或用户要求提前收尾),按 `../core/report-template.md`(此时加载)汇总生成 `{项目}/测试报告_{日期}.md`:范围、执行统计(自动运行结果与手动执行记录合并)、Bug 清单(拼装阶段 6 的 `Bug条目_{日期}.md` 并逐条同步状态——有回归结果的按结果更新为已验证关闭/已修复待验证,未回归的保持新建)、风险残留、回归摘要、类型域专项结果按 report-template §7 逐轴归一化回收(handoff / 外部执行 / blocked / exclude)、未闭环事项(含移交 yaml 各轴当前状态与去向)、各阶段产物路径索引、机读摘要片段(按 report-template「机读摘要片段」节生成,供报告聚合系统消费)。
### 5. 交付
向用户报告:最终报告路径 + 各阶段产物清单 + 未闭环事项(TODO 归属)。
## 硬规则
1. **不做裁决**:澄清、执行策略、Bug 定性、预算裁决一律呈现问题与建议后等用户,不代替用户决定
2. **不含领域知识**:测试方法、框架知识全部在阶段 skill 与 `core/`;本 skill 失败的唯一合理原因是编排错误,不是测试判断错误
3. **状态全在文件**:任何会话中断后,凭 `{项目}/` 落盘产物即可续跑
4. **阶段产物消费走文件**:跨阶段传递的是产物路径,不是会话内转述
## Common Mistakes
| 错误 | 后果 | 正确做法 |
|------|------|---------|
| 把所有阶段 skill 的 SKILL.md 都加载进同一会话 | 指令冲突、上下文爆炸 | 阶段间上下文隔离,主会话只持状态 |
| 单阶段意图也启动流水线 | 过度执行、浪费 | 意图识别后移交对应阶段 skill |
| 检查点自答(替用户裁决) | 裁决失效,后续阶段基于错误假设 | ⏸ 环节必须等用户答复 |
| 凭会话记忆续跑(不读落盘文件) | 中断后状态丢失/不一致 | 断点检查只认文件 |
| 编排层塞入测试方法论 | 破坏薄编排、难以维护 | 方法论全部下沉阶段 skill 与 `core/` |
| 阶段 6 提前新建/改写最终测试报告 | 与阶段 8 收尾同名双写、双数据源 | Bug 条目先落 `Bug条目_{日期}.md` 中转文件,收尾统一拼装 |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!