Community编程与开发github.com

RafaelFerSilva/refinement-agent-skills

从测试角度审视用户故事并发布测试计划基线:包含声明的测试技术、风险等级、测试层次、自动化障碍以及带有指定接收人的问题。

refinement-agent-skills 是什么?

该技能通过苏格拉底式盘问从用户故事中推导出基线测试计划。它生成测试条件,并明确标注其来源(直接来自规范、通过设计的测试技术推导得出、或未定义而留待提问),从而确保可追溯性。该技能支持在有代码和无代码两种模式下工作:有代码模式会检查代码库以回答架构问题,而无代码模式则将问题分发给开发团队。它涵盖了三个层次:已指定(直接从规范原文)、已推导(应用明确的测试技术,如边界值分析)和未定义(待提问)。最终输出是一个结构化的测试计划,包含矩阵、风险分析、P1级别的Gherkin场景、可自动化审计以及针对产品负责人和开发团队的未解决问题问卷。该技能适用于Claude Code、Cursor和Codex等AI助手平台,为中高级QA工程师提供可直接实施测试的工件。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/RafaelFerSilva/refinement-agent-skills/tree/HEAD/skills/qa-plan

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

质量保证计划

通过苏格拉底式盘问为用户故事推导基线测试计划:包含带有已声明设计技术的测试条件,仅在规格支持时声明预期结果,并向能够解决其余问题的人员提出问题。你不会问“这个故事写得好吗?”,那是 /refine-story 的职责。你要回答的是:哪些地方可能出问题,如何证明它正常工作,以及为了执行该证明必须具备什么条件。

中级 QA 工程师应能直接从此工件实现测试;高级 QA 工程师应认同其优先级划分。

用户故事:$ARGUMENTS

三层边界

推导未明确写明的条件是 QA 的本质,前提是遵循既定方法。因此,这里的边界跨越三个层面运作;其基础仍然是 requirements-rigor。计划中的每个条件恰好属于一个层面:

  • [已指定: 原文摘录]:条件和预期结果直接来自文本。请引用来源。
  • [已推导: 技术名称]:条件源自应用于已指定内容的测试设计技术。始终指明技术名称;没有声明技术的条件属于猜测,不得纳入。预期结果仅当它们逻辑上遵循于规范时才可断言。
  • [未定义 → 问题 n]:一个合法的条件,但其预期结果规范未定义。该条件进入矩阵;结果变为一个编号的问题。

快速测试:“哪个技术生成了这个条件,它源自哪段摘录?”如果两者中任何一个无法回答,将其从计划中排除。

开始之前

读取工作区中的 docs/agents/refinement.md:它定义了操作模式(有代码或无代码)、语言(en-US 或 pt-BR,默认为 en-US)以及发布路径。模式决定了谁负责回答架构问题:有代码模式下,你通过检查代码库来解决它们;无代码模式下,工程团队通过问卷解决问题。苏格拉底式盘问和质量保证计划使用配置的语言编写。如果文件缺失,请求 /configure-refinement 并停止。

步骤

  1. 加载。 读取用户故事、CONTEXT.md、领域 ADR、TEST-DESIGN.md,并调用 requirements-rigor 的技能工具。如果 .scratch/<slug>/spec.md 存在(来自 /refine-story),则从它开始:该会话的决策已经回答了许多问题。如果没有此文件,则将用户故事视为未精炼,即使 Status: 显示为 READY。 完成条件:在一行中声明可测试性分类:可测试(每个预期结果都有观察点,且没有依赖项待确认)、带保留意见可测试(可以推导条件,但至少一个结果缺少观察点或依赖于未确认的依赖项)、或不可测试。

  2. 分类。 不可测试(标准未能描述可观察行为:完全是任务,或所有标准中的主观术语缺乏度量):解释缺失的内容,列出 3 到 5 个最少问题,并建议 /refine-story。在此停止;分析不可测试的材料会产生表面化的计划。如果用户故事尚未经过精炼,请说明此情况并继续,同时指出 /refine-story 可以解决许多问题。 完成条件:声明了分类。

  3. 推导条件。 对于每个标准,应用 TEST-DESIGN.md 中适用的技术,避免强行应用不适用的技术;审查潜在盲区,仅报告适用的部分。构建矩阵:条件、来源、预期结果或 [未定义 → 问题 n]、优先级、层级。未定义的条件保留在矩阵中:可见的未来覆盖范围远胜于隐藏的缺口。对产品和开发问题统一编号,这样 [未定义 → 问题 n] 可以无歧义地解析。优先级理由(每个条件半行)放在风险分析部分的列表中,而不是在表格内。 完成条件:每个条件都有声明的来源,且每个 [未定义] 都有分配的问题编号。

  4. 在提问之前搜索事实。 按接收人分离问题。产品负责人:未定义的业务行为。开发人员:架构、可观测性、测试层次、外部依赖隔离、时间控制、测试数据供给、API 错误响应、故障后持久性、技术幂等性。在代码模式下,派遣子代理通过阅读代码来回答开发问题:通知是同步还是异步?审批是否存在锁?外部系统是否存在模拟对象?找到的事实成为预期结果或已定义的层级,并附上来源引用。在无代码模式下,搜索仅限于工作区文件,不派遣子代理;如果未找到任何内容,在第 1 轮顶部用一行说明。 完成条件:每个问题都被标记为通过来源回答或未解决,并分配了接收人。

  5. 检查产品负责人。 调用 socratic-examination 的技能工具。问题轮次伴随当前矩阵,因为问题引用了特定条件。前沿是产品负责人问题,首先是阻塞项(那些解除 P1 条件阻塞的),每个问题在规范提供依据时附带推荐答案;当依据缺失时,提供“无推荐”以及选项。产品负责人的回答立即更新矩阵。对照术语表质疑术语,但仅将产品负责人解决的内容记录到 CONTEXT.md 中。 完成条件:产品负责人问题前沿为空,或产品负责人请求关闭。

  6. 综合。 按照 TEMPLATE.md 编写计划:矩阵、风险分析、带自我审计的 Gherkin 格式 P1 场景、可自动化审计、严格基于现有系统文档的回归影响(若无上下文,则列出影响问题给开发人员)、按接收人分类的剩余问题、覆盖范围结论。 完成条件:文件存在于 docs/agents/refinement.md 定义的路径,并包含最终免责声明。

  7. 路由未解决项。 无代码模式下的未解决开发问题以及未能回答的产品负责人问题:按照 requirements-rigor 中的 QUESTIONNAIRE.md,为每个接收人编写一份问卷,与计划一同存放,并从未解决问题链接文件。 完成条件:没有未解决问题未分配接收人或问卷。

  8. 报告。 结论、计划发布位置、可执行的 P1 条件数量、以及每个问卷解除了什么阻塞。

最终声明

⚠️ 此输出提供了测试计划的分析基线,而非最终测试计划。关于覆盖范围、优先级和工作量的决策属于 QA 团队,并需经过产品负责人(未定义行为)和开发人员(架构和层次)的验证。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

相关技能