极致QA循环工作流程Skill ultraqa

UltraQA技能是一个自动化质量保证循环工作流程,用于执行测试、构建、lint检查等任务,通过循环测试、诊断和修复,确保软件质量达到目标。关键词:QA自动化、测试循环、DevOps、软件测试、持续集成、质量保证。

测试 0 次安装 0 次浏览 更新于 3/11/2026

name: ultraqa description: QA循环工作流程 - 测试、验证、修复、重复直到目标达成

UltraQA技能

[ULTRAQA已激活 - 自主QA循环]

概述

您现在处于ULTRAQA模式 - 一个自主的QA循环工作流程,运行直到您的质量目标达成。

循环: qa测试员 → 架构师验证 → 修复 → 重复

目标解析

从参数中解析目标。支持的格式:

调用 目标类型 检查内容
/oh-my-claudecode:ultraqa --tests tests 所有测试套件通过
/oh-my-claudecode:ultraqa --build build 构建成功,退出码为0
/oh-my-claudecode:ultraqa --lint lint 无lint错误
/oh-my-claudecode:ultraqa --typecheck typecheck 无TypeScript错误
/oh-my-claudecode:ultraqa --custom "pattern" custom 输出中的自定义成功模式

如果没有提供结构化目标,则将参数解释为自定义目标。

循环工作流程

循环N(最大5)

  1. 运行QA: 根据目标类型执行验证

    • --tests: 运行项目的测试命令
    • --build: 运行项目的构建命令
    • --lint: 运行项目的lint命令
    • --typecheck: 运行项目的类型检查命令
    • --custom: 运行适当的命令并检查模式
    • --interactive: 使用qa-tester进行交互式CLI/服务测试:
      Task(subagent_type="oh-my-claudecode:qa-tester", model="sonnet", prompt="测试:
      目标: [描述要验证的内容]
      服务: [如何启动]
      测试用例: [要验证的特定场景]")
      
  2. 检查结果: 目标是否通过?

    • → 退出并显示成功消息
    • → 继续到步骤3
  3. 架构师诊断: 生成架构师以分析失败

    Task(subagent_type="oh-my-claudecode:architect", model="opus", prompt="诊断失败:
    目标: [目标类型]
    输出: [测试/构建输出]
    提供根本原因和具体的修复建议。")
    
  4. 修复问题: 应用架构师的建议

    Task(subagent_type="oh-my-claudecode:executor", model="sonnet", prompt="修复:
    问题: [架构师诊断]
    文件: [受影响文件]
    精确按照建议应用修复。")
    
  5. 重复: 返回步骤1

退出条件

条件 操作
目标达成 退出并成功: “ULTRAQA完成: 目标在N个循环后达成”
达到5个循环 退出并诊断: “ULTRAQA停止: 达到最大循环。诊断: …”
相同失败3次 提前退出: “ULTRAQA停止: 检测到相同失败3次。根本原因: …”
环境错误 退出: “ULTRAQA错误: [tmux/端口/依赖问题]”

可观测性

输出进度每个循环:

[ULTRAQA循环1/5] 运行测试...
[ULTRAQA循环1/5] 失败 - 3个测试失败
[ULTRAQA循环1/5] 架构师正在诊断...
[ULTRAQA循环1/5] 修复: auth.test.ts - 缺少模拟
[ULTRAQA循环2/5] 运行测试...
[ULTRAQA循环2/5] 通过 - 所有47个测试通过
[ULTRAQA完成] 目标在2个循环后达成

状态跟踪

.omc/ultraqa-state.json中跟踪状态:

{
  "active": true,
  "goal_type": "tests",
  "goal_pattern": null,
  "cycle": 1,
  "max_cycles": 5,
  "failures": ["3个测试失败: auth.test.ts"],
  "started_at": "2024-01-18T12:00:00Z",
  "session_id": "uuid"
}

取消

用户可以使用/oh-my-claudecode:cancel取消,这将清除状态文件。

重要规则

  1. 尽可能并行 - 在准备潜在修复的同时运行诊断
  2. 跟踪失败 - 记录每个失败以检测模式
  3. 模式时提前退出 - 相同失败3次 = 停止并表面
  4. 清晰输出 - 用户应始终知道当前循环和状态
  5. 清理 - 完成或取消时清除状态文件

完成时的状态清理

重要: 完成时删除状态文件 - 不要只是设置active: false

当目标达成或达到最大循环或提前退出时:

# 删除ultraqa状态文件
rm -f .omc/state/ultraqa-state.json

这确保未来会话的清洁状态。不应留下带有active: false的陈旧状态文件。


现在开始ULTRAQA循环。解析目标并启动循环1。