Loading...
Loading...
QA cycling workflow - test, verify, fix, repeat until goal met
npx skill4agent add yeachan-heo/oh-my-codex ultraqa| Invocation | Goal Type | What to Check |
|---|---|---|
| tests | All test suites pass |
| build | Build succeeds with exit 0 |
| lint | No lint errors |
| typecheck | No TypeScript errors |
| custom | Custom success pattern in output |
--tests--build--lint--typecheck--custom--interactivespawn_sub_agent(subagent_type="oh-my-codex:qa-tester", model="sonnet", prompt="TEST:
Goal: [describe what to verify]
Service: [how to start]
Test cases: [specific scenarios to verify]")spawn_sub_agent(subagent_type="oh-my-codex:architect", model="opus", prompt="DIAGNOSE FAILURE:
Goal: [goal type]
Output: [test/build output]
Provide root cause and specific fix recommendations.")spawn_sub_agent(subagent_type="oh-my-codex:executor", model="sonnet", prompt="FIX:
Issue: [architect diagnosis]
Files: [affected files]
Apply the fix precisely as recommended.")| Condition | Action |
|---|---|
| Goal Met | Exit with success: "ULTRAQA COMPLETE: Goal met after N cycles" |
| Cycle 5 Reached | Exit with diagnosis: "ULTRAQA STOPPED: Max cycles. Diagnosis: ..." |
| Same Failure 3x | Exit early: "ULTRAQA STOPPED: Same failure detected 3 times. Root cause: ..." |
| Environment Error | Exit: "ULTRAQA ERROR: [tmux/port/dependency issue]" |
[ULTRAQA Cycle 1/5] Running tests...
[ULTRAQA Cycle 1/5] FAILED - 3 tests failing
[ULTRAQA Cycle 1/5] Architect diagnosing...
[ULTRAQA Cycle 1/5] Fixing: auth.test.ts - missing mock
[ULTRAQA Cycle 2/5] Running tests...
[ULTRAQA Cycle 2/5] PASSED - All 47 tests pass
[ULTRAQA COMPLETE] Goal met after 2 cyclesomx_statestate_write({mode: "ultraqa", active: true, current_phase: "qa", iteration: 1, started_at: "<now>"})state_write({mode: "ultraqa", current_phase: "qa", iteration: <cycle>})state_write({mode: "ultraqa", current_phase: "diagnose"})state_write({mode: "ultraqa", current_phase: "fix"})state_write({mode: "ultraqa", active: false, current_phase: "complete", completed_at: "<now>"})state_read({mode: "ultraqa"})/cancel$cancelstate_clear({mode: "ultraqa"})