SuperAPI AI 工具集

defect-lifecycle-agent-skill

测试与质量

查看项目

更新于 10-16 09:13

技能介绍

用途

Defect Lifecycle Agent Skill 用于在 Codex 中管理缺陷的完整生命周期,让一个缺陷从受理到验证解决的过程不跳过任何使修复可信的证据。作者为 jovd83,版本 2.2.1。

它主要服务于三类工作:报告新发现的缺陷、实施已批准的缺陷修复、以及围绕已知缺陷加固回归覆盖与文档。

主要能力

  • 以仓库为依据报告新发现的缺陷。
  • 在可行时,先建立会失败的确认测试,再实施已批准的修复。
  • 用工程语言说明需求缺口、测试缺口与根因。
  • 当产品行为、开发者指引或运维指引发生变化时,更新受影响的文档。
  • 交付结构化报告,便于其他工程师快速审计。

使用方式

技能会先确认或推断输入,包括执行模式(仅报告或已批准修复)、缺陷来源、受影响面、仓库约定、现有测试栈与覆盖率工具、输出是否需要机器可读工件、是否需要导出为 Jira 或 Linear 草稿。默认情况下,用户说“记录/文档化缺陷”时按仅报告处理;说“直接修复某个已识别缺陷”时按已批准修复处理。

工作流大致为:

  1. 确定范围与批准状态,区分缺陷发现、已批准修复或受阻的分诊。
  2. 发现仓库约定,检查清单与工具配置(如 package.json、pyproject.toml、pom.xml、go.mod、Cargo.toml、playwright.config.、cypress.config.、jest.config.、vitest.config. 或 CI 工作流),定位需求、ADR、图表、运行手册、帮助内容或变更日志的位置,识别现有测试层。
  3. 选择执行路径:仅发现路径会复现问题或说明受阻原因,核对预期行为,按模板产出缺陷报告后停止;已批准修复路径会复现或验证失败、识别缺口、创建聚焦的确认测试、解释现有测试或监控为何未捕获、实施最小可信修复、重跑确认测试与适量回归、在可用时用 node scripts/verify-coverage.js 验证覆盖率、仅在行为或契约变化处更新文档,最后交付结构化解决报告。
  4. 覆盖率与回归纪律:使用仓库原生测试命令,优先最窄验证再扩展到邻近回归风险;有 JSON 覆盖率数据时运行 node scripts/verify-coverage.js --coverage <path>;改动限定在特定文件时优先用 --files 或 --manifest 做文件级验证。
  5. 文档与工件更新:只更新真正变化的工件,包括需求或验收标准、技术文档、图表、帮助内容、变更日志,以及仅在安装、使用或开发流程变化时的 README。

技能通过 skill-dispatcher 作为主要集成层,优先按意图调度而非直接命名同级技能,优先使用仓库原生测试栈。常见下游意图包括 design_confirmation_tests、render_test_artifact、implement_ui_confirmation_test、generate_test_data、review_automation_quality。

需要机器可读或可直接进入跟踪系统的输出时,可生成符合 schemas/bug-discovery-report.schema.json 或 schemas/bug-fix-report.schema.json 的规范 JSON,并用 node scripts/export-tracker-artifact.js --tracker jira|linear --input <report.json> 生成跟踪系统草稿工件。

适用场景

  • 需要以仓库证据为基础报告新缺陷。
  • 需要修复已明确批准的缺陷,并留下可审计的确认测试与回归验证。
  • 需要围绕已知缺陷补充回归覆盖与相关文档。
  • 需要产出结构化、可审计的缺陷报告或修复报告,甚至导出为 Jira 或 Linear 草稿。

限制

  • 不适用于全新功能开发、与缺陷无关的大规模重构,或仅做事后分析的事件复盘。
  • 不假设仓库使用 docs/functional analysis/、docs/technical/、frontend-tests/ 或任何固定布局,必须先发现实际约定。
  • 除非用户明确要求修复或问题已明确标记为已批准,否则不开始修复跟踪系统中的缺陷。
  • 在复现失败或精确说明为何当前无法确定性复现之前,不修补代码。
  • 不把全局行覆盖率单独视为回归安全充分的证明。
  • 不在本技能内创建持久共享记忆行为;共享记忆应放在外部集成边界之后,例如专门的共享记忆技能。
  • 若缺陷无法复现,需说明现有证据、已尝试的操作与阻碍确认的原因。
  • 若无需求来源,需说明限制并使用最强可用信号,如观察到的 UX、API 契约或邻近代码注释。
  • 若无自动化测试,需明确记录缺口,并在用户要求修复时添加最小有用的回归保护。
  • 若覆盖率 JSON 不可用,需如实说明,而不是假装验证器已运行。
  • 若仓库中不存在文档或图表,不要自行发明文档架构,除非用户要求。
  • 若缺陷暗示更广泛的产品决策而非直接缺陷,应暴露歧义,而不是强行做狭窄的技术修复。
  • 技能依赖 scripts/verify-coverage.js 与 scripts/export-tracker-artifact.js;若缺失或返回非零退出码,自动验证与导出步骤会失败。
  • 已批准修复路径仅在用户意图明确时采用;对未确认的跟踪系统问题自动修复可能产生意外副作用。
  • 技能优先使用仓库原生测试栈;若仓库没有测试,代理会尝试添加最小安全保护,但可能遗漏更广泛的回归风险。

资源

  • assets/bug-discovery-template.md:仅发现报告所需的 Markdown 模板。
  • assets/bug-fix-report-template.md:解决报告所需的 Markdown 模板。
  • scripts/verify-coverage.js:用于总量或文件级检查的确定性覆盖率验证器。
  • scripts/validate-skill.js:技能打包与必需工件的冒烟验证器。
  • references/repository-discovery.md:仓库检查与约定映射指南。
  • references/response-contracts.md:精确报告要求与扩展指引。
  • references/coverage-policy.md:阈值策略与覆盖率验证用法。
  • references/evaluation.md:本技能的维护与评估策略。
  • examples/example-prompts.md:代表性触发提示与预期路由。
  • examples/coverage-manifest.example.json:用于限定范围覆盖率验证的示例清单。
  • examples/sample-bug-discovery.json:规范机器可读发现报告示例。
  • examples/sample-bug-fix-report.json:规范机器可读修复报告示例。
  • schemas/bug-discovery-report.schema.json:机器可读发现报告的 schema。
  • schemas/bug-fix-report.schema.json:机器可读修复报告的 schema。
  • scripts/export-tracker-artifact.js:将规范报告导出为 Jira 或 Linear 草稿工件。
  • references/tracker-exports.md:跟踪系统工件映射与用法指引。

何时阅读额外参考

  • 仓库文档或测试布局不清晰时,阅读 references/repository-discovery.md。
  • 撰写重要缺陷报告或修复报告前,阅读 references/response-contracts.md。
  • 对默认阈值、指标或范围规则有疑问时,阅读 references/coverage-policy.md。
  • 用户需要 Jira 或 Linear 可用工件时,阅读 references/tracker-exports.md。
  • 扩展、验证或对本技能自身做回归测试时,阅读 references/evaluation.md。