qa

AI 智能 社区 @mattpocock
信任分
88/100
兼容 Agent
1
速查档案 只列事实:领域、Agent、信任分、作者、原文章节。装与不装请看下方作者解读。
领域
AI 智能
兼容 Agent
Claude Code
信任分
88 / 100 · 社区维护
作者 / 版本 / 许可
@mattpocock · 未声明 license
安装命令数
1 条

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

想读作者英文原文? ↓ 滚到正文区切换 · 在 GitHub 查看 ↗

解读由编辑根据原文凝练而成,命令、链接、术语均与作者原文一致;想看完整论述请切到右侧

设计思路

qa-mattpocock 是 mattpocock 的「QA → 提 issue」工作流——不是自动化测试,而是把用户 / tester 报告的每个问题转成结构化、可独立修的 GitHub issue。哲学:多薄 issue 优于少厚 issue——每条 issue 都能独立修、独立验,多个人 / 多个 agent 才能并行。

Issue 模板(按作者原文)

单条 issue

## What happened
[实际行为,平实语言]

## What I expected
[预期行为]

## Steps to reproduce
1. [开发者能照做的具体步骤]
2. [用 codebase 的领域词汇,不是内部模块名]
3. [包含相关输入 / flag / config]

## Additional context
[来自用户或代码探查的额外观察——例如「只在 Docker layer 出,filesystem layer 不出」——用领域语言但**不引用文件**]

子 issue(属于一个父 issue 的拆分)

## Parent issue
#<parent-number>(如有 tracking issue)或 "Reported during QA session"

## What's wrong
[针对这个 slice 的问题,不是整份]

## What I expected
[这个 slice 的预期]

## Steps to reproduce
1. [仅这个 issue 的步骤]

## Blocked by
- #<issue-number>(如果非得 issue A 修完才能验本条)
或 "None — can start immediately"

## Additional context
[这个 slice 相关的额外观察]

拆分纪律

  • 多薄 issue 优于少厚 issue — 每条独立可修可验
  • 诚实标 blocking 关系 — A 真挡 B 才写「Blocked by #A」;独立的两条都标「None — can start immediately」
  • 按依赖序创建 — 先建被依赖的,引用真实 issue 号
  • 最大化并行 — 多人 / 多 agent 抓不同 issue 同时干

Issue body 通用规则

  • 不写文件路径 / 行号 — 这些会过时
  • 用项目领域语言(看 UBIQUITOUS_LANGUAGE.md
  • 描述行为不描述代码 —「sync service fails to apply the patch」不是「applyPatch() throws on line 42」
  • 重现步骤强制 — 推不出来就问用户
  • 简洁 — 30 秒读完

收尾

建完打印所有 issue URL(含 blocking 关系汇总),问:「下一条,还是结束?」每条 issue 独立 — 绝不批处理

适合谁

  • 在用户访谈 / QA 会议里实时把问题转 issue 的产品 / 开发
  • 想把含糊报告变成可分配开干的 ticket 的项目
  • 多人 / 多 agent 协作希望并行修 bug 的团队

何时不该用

  • 项目不在 GitHub / Linear / 兼容 issue 系统——本模板假设有 issue tracker
  • 单 bug 简单到立刻自己修就完——开 issue 反而成开销

配套

qa(gstack 的自动化 QA 主门)、qa-only(仅 QA 不修)、diagnose(拿到 issue 后调根因)、grill-with-docs(领域语言锚定)。