
Qa
Run a conversational QA session where you describe bugs in plain language and the agent files durable, user-facing GitHub issues with `gh issue create`.
Overview
QA is an agent skill most often used in Grow (also Ship, Validate) that runs an interactive bug-reporting session and creates user-focused GitHub issues with the GitHub CLI.
Install
npx skills add https://github.com/vinvcn/mattpocock-skills-zh-cn --skill qaWhat is this skill?
- At most 2–3 clarifying questions per issue before filing
- Background Explore subagent for domain language (UBIQUITOUS_LANGUAGE.md) without leaking files into issues
- Splits multi-symptom reports into parallel issues when concerns are independent
- Issues written from the user perspective—no line numbers or internal implementation dumps
- Files via `gh issue create` immediately and returns issue URLs
- Up to 2–3 clarifying questions per reported issue
- Background Explore subagent for codebase and domain-language context
Adoption & trust: 1 installs on skills.sh; 497 GitHub stars.
What problem does it solve?
You noticed broken behavior but your bug notes are either too vague for anyone else or too tied to files that will move after the next refactor.
Who is it for?
Solo builders who want fast, conversational bug capture into GitHub without drafting formal tickets themselves.
Skip if: Teams that require every issue to be pre-approved in chat before `gh issue create`, or workflows that need automated repro scripts and stack traces inside the ticket body.
When should I use this skill?
User wants to report bugs, do QA, file issues conversationally, or mentions "QA session".
What do I get? / Deliverables
You get one or more durable GitHub issue URLs written in project domain language from the user's perspective, ready for triage or implementation.
- One or more GitHub issue URLs
- User-perspective issue bodies (What happened / expected behavior templates)
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Bug reports and issue hygiene are canonical on the Grow shelf under support, even when sessions happen during ship testing or early validate prototypes. Support is where solo builders turn user-observed failures into trackable work without drowning in implementation noise.
Where it fits
Smoke-test a wizard prototype and turn each confusing step into a user-language issue instead of a dev-only note.
Run a pre-release QA pass and file intermittent UI failures as separate issues when validation, messaging, and redirect are independent.
Capture a customer-reported checkout bug in one session while the agent learns billing vocabulary from UBIQUITOUS_LANGUAGE.md.
How it compares
Use instead of pasting stack traces into chat—this skill optimizes for durable, product-language issues rather than one-off debugging.
Common Questions / FAQ
Who is qa for?
Solo and indie builders using Claude Code or similar agents who already use GitHub Issues and want the agent to listen, clarify lightly, and file on their behalf.
When should I use qa?
During Grow support when users or you spot regressions; during Ship testing before release; or on Validate prototypes when you are sanity-checking flows and want issues filed immediately.
Is qa safe to install?
It expects shell access to run `gh issue create` and may explore your repo; review the Security Audits panel on this Prism page and confirm GitHub CLI auth before enabling it in CI or shared machines.
SKILL.md
READMESKILL.md - Qa
# QA Session 运行交互式 QA session。用户描述遇到的问题。你负责澄清、探索 codebase 获取 context,并创建 durable、user-focused 且使用项目 domain language 的 GitHub issues。 ## For each issue the user raises ### 1. Listen and lightly clarify 让用户用自己的话描述问题。最多问 **2-3 个简短 clarifying questions**,聚焦: - 他们期望什么,实际发生了什么 - Steps to reproduce(如果不明显) - 是否稳定复现,还是 intermittent 不要过度访谈。如果描述足够清楚,可以直接 file。 ### 2. Explore the codebase in the background 与用户对话时,在后台启动 Agent(subagent_type=Explore)理解相关区域。目标不是找 fix,而是: - 学习该区域使用的 domain language(检查 UBIQUITOUS_LANGUAGE.md) - 理解 feature 本应做什么 - 识别 user-facing behavior boundary 这些 context 帮助你写出更好的 issue,但 issue 本身不应引用具体 files、line numbers 或 internal implementation details。 ### 3. Assess scope: single issue or breakdown? file 前判断这是**单个 issue**,还是需要**拆成多个 issues**。 拆分条件: - fix 跨多个 independent areas(例如 “form validation is wrong AND success message is missing AND redirect is broken”) - 存在清晰可分离 concerns,不同人可以并行处理 - 用户描述了多个不同 failure modes 或 symptoms 保持单个 issue 的条件: - 一个地方的一个 behavior 错了 - symptoms 都来自同一个 root behavior ### 4. File the GitHub issue(s) 使用 `gh issue create` 创建 issues。不要先要求用户 review;直接 file 并分享 URLs。 Issues 必须 **durable**,即 major refactors 后仍有意义。从用户视角写。 #### For a single issue 使用这个模板: ``` ## What happened [用普通语言描述用户经历的实际行为] ## What I expected [描述期望行为] ## Steps to reproduce 1. [developer 可执行的具体编号步骤] 2. [使用 codebase 的 domain terms,不用 internal module names] 3. [包含相关 inputs、flags 或 configuration] ## Additional context [来自用户或 codebase exploration 的额外观察,用来帮助 framing;使用 domain language,但不引用 files] ``` #### For a breakdown (multiple issues) 按 dependency order 创建 issues(blockers first),这样可以引用真实 issue numbers。 每个 sub-issue 使用这个模板: ``` ## Parent issue #<parent-issue-number>(如果你创建了 tracking issue)或 "Reported during QA session" ## What's wrong [描述这个 specific behavior problem,只描述这个 slice] ## What I expected [这个 slice 的 expected behavior] ## Steps to reproduce 1. [只针对这个 issue 的步骤] ## Blocked by - #<issue-number>(如果必须等另一个 issue 解决) 如果没有 blockers,写 "None — can start immediately"。 ## Additional context [与这个 slice 相关的额外观察] ``` 创建 breakdown 时: - **Prefer many thin issues over few thick ones** — 每个都应能独立 fix 和 verify - **Mark blocking relationships honestly** — 如果 B 确实必须等 A 才能测试,就说明。如果独立,两个都写 “None — can start immediately” - **Create issues in dependency order**,这样可以在 “Blocked by” 中引用真实 issue numbers - **Maximize parallelism** — 目标是让多人(或 agents)能同时领取不同 issues #### Rules for all issue bodies - **No file paths or line numbers** — 它们会过时 - **Use the project's domain language**(如果存在,检查 UBIQUITOUS_LANGUAGE.md) - **Describe behaviors, not code** — 写 “the sync service fails to apply the patch”,不要写 “applyPatch() throws on line 42” - **Reproduction steps are mandatory** — 如果无法确定,询问用户 - **Keep it concise** — developer 应能 30 秒内读完 issue file 后,打印所有 issue URLs(并总结 blocking relationships),然后问:“Next issue, or are we done?” ### 5. Continue the session 持续进行,直到用户说结束。每个 issue 都独立处理,不要 batch。