qa
交互式 QA 会话,用户以对话方式报告 bug 或问题,代理负责提交 GitHub issue。会在后台探索代码库以获取上下文和领域语言。当用户想报告 bug、做 QA、以对话方式提交 issue,或提到 "QA session" 时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
交互式 QA 会话,用户以对话方式报告 bug 或问题,代理负责提交 GitHub issue。会在后台探索代码库以获取上下文和领域语言。当用户想报告 bug、做 QA、以对话方式提交 issue,或提到 "QA session" 时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
使用并行子代理为一个模块生成多个截然不同的接口设计。当用户想设计 API、探索接口方案、对比模块形态,或提到 "design it twice" 时使用。
通过用户访谈创建一份带有微小提交(tiny commits)的详细重构计划,然后将其作为 GitHub issue 提交。当用户想规划一次重构、创建重构 RFC,或将一次重构拆分为安全的增量步骤时使用。
从当前对话中提炼出一份 DDD 风格的通用语言(ubiquitous language)术语表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想定义领域术语、构建术语表、固化用词、创建通用语言,或提到 "domain model" 或 "DDD" 时使用。
询问哪个技能或流程适合你当前的处境。它是本仓库中各技能的路由器。
从两个轴向审查某个固定点(commit、branch、tag 或 merge-base)以来的变更——Standards(代码是否遵循本仓库记录的编码规范?)和 Spec(代码是否符合源起的 issue/PRD 的要求?)。在并行子智能体中运行两项审查,并把它们并排报告。当用户想审查一个分支、一个 PR、进行中的变更,或要求 "review since X" 时使用。
用于设计深模块的共享词汇。当用户想设计或改进一个模块的接口、寻找深化机会、决定接缝放在何处、让代码更可测试或更易于 AI 导航,或当另一个技能需要深模块词汇时使用。
| name | qa |
| description | 交互式 QA 会话,用户以对话方式报告 bug 或问题,代理负责提交 GitHub issue。会在后台探索代码库以获取上下文和领域语言。当用户想报告 bug、做 QA、以对话方式提交 issue,或提到 "QA session" 时使用。 |
运行一个交互式 QA 会话。用户描述他们遇到的问题。你负责澄清、探索代码库以获取上下文,并提交持久、以用户为中心、使用项目领域语言的 GitHub issue。
让用户用自己的话描述问题。最多问 2-3 个简短的澄清性问题,聚焦于:
不要过度访谈。如果描述已经足够清晰可以提交,就继续往下走。
在与用户交谈的同时,在后台启动一个 Agent(subagent_type=Explore)来了解相关区域。目标不是找到修复方案——而是:
这些上下文能帮你写出更好的 issue——但 issue 本身不应引用具体的文件、行号或内部实现细节。
在提交之前,判断这是一个单个 issue,还是需要拆分成多个 issue。
什么时候拆分:
什么时候保持为单个 issue:
使用 gh issue create 创建 issue。不要让用户先审阅——直接提交并分享 URL。
issue 必须是持久的——即便经历大规模重构后仍然说得通。要从用户的视角来写。
使用以下模板:
## 发生了什么
[用平实的语言描述用户实际经历的行为]
## 我期望的是什么
[描述期望的行为]
## 复现步骤
1. [开发者可以照着做的具体、编号步骤]
2. [使用代码库中的领域术语,而非内部模块名]
3. [包含相关的输入、标志或配置]
## 补充上下文
[来自用户或代码库探索的任何额外观察,有助于界定该 issue——例如"这只在使用 Docker 层时发生,文件系统层不会"——使用领域语言,但不要引用文件]
按依赖顺序创建 issue(先创建阻塞项),以便你能引用真实的 issue 编号。
每个子 issue 使用以下模板:
## 父 issue
#<父 issue 编号>(如果你创建了一个跟踪 issue),或"在 QA 会话期间报告"
## 哪里出错了
[描述这一具体的行为问题——只针对这一片,而非整个报告]
## 我期望的是什么
[这一具体片段的期望行为]
## 复现步骤
1. [针对这个 issue 的步骤]
## 被以下阻塞
- #<issue 编号>(如果这个 issue 在另一个解决之前无法修复)
如果没有阻塞项,则填"无——可立即开始"。
## 补充上下文
[与这一片相关的任何额外观察]
创建拆分时:
提交后,打印所有 issue 的 URL(并总结阻塞关系),然后询问:"下一个 issue,还是我们就到这儿?"
持续进行直到用户表示完成。每个 issue 都是独立的——不要把它们攒到一起处理。