ultraqa

Skill

QA cycling workflow - test, verify, fix, repeat until goal met

Files1
  • @skills/ultraqa/SKILL.md

UltraQA Skill

[ULTRAQA ACTIVATED - AUTONOMOUS QA CYCLING]

Overview

You are now in ULTRAQA mode - an autonomous QA cycling workflow that runs until your quality goal is met.
Cycle: qa-tester → architect verification → fix → repeat

Relationship to /goal, Ralph, Team, and Ultragoal

UltraQA owns repeated quality-gate cycling only. Use the deterministic conflict policies refuse, adopt_existing, and artifact_only rather than non-deterministic warning handling. Use it after the target behavior is known and the remaining question is whether tests, build, lint, typecheck, or another explicit QA condition passes. If Claude Code /goal is active, UltraQA may produce visible command evidence for that goal, but must not describe the /goal evaluator as independently running commands or reading files. If Ralph or Team is active, UltraQA is a verification/fix sub-loop under that authority rather than a competing session loop. If no active loop is safe, record QA expectations and evidence in artifact-only Ultragoal notes instead of claiming automatic execution.

Goal Parsing

Parse the goal from arguments. Supported formats:
InvocationGoal TypeWhat to Check
/oh-my-claudecode:ultraqa --teststestsAll test suites pass
/oh-my-claudecode:ultraqa --buildbuildBuild succeeds with exit 0
/oh-my-claudecode:ultraqa --lintlintNo lint errors
/oh-my-claudecode:ultraqa --typechecktypecheckNo TypeScript errors
/oh-my-claudecode:ultraqa --custom "pattern"customCustom success pattern in output
If no structured goal provided, interpret the argument as a custom goal.

Cycle Workflow

Cycle N (Max 5)

  1. RUN QA: Execute verification based on goal type
    • --tests: Run the project's test command
    • --build: Run the project's build command
    • --lint: Run the project's lint command
    • --typecheck: Run the project's type check command
    • --custom: Run appropriate command and check for pattern
    • --interactive: Use qa-tester for interactive CLI/service testing:
      text
      Task(subagent_type="oh-my-claudecode:qa-tester", model="sonnet", prompt="TEST:
      Goal: [describe what to verify]
      Service: [how to start]
      Test cases: [specific scenarios to verify]")
  2. CHECK RESULT: Did the goal pass?
    • YES → Exit with success message
    • NO → Continue to step 3
  3. ARCHITECT DIAGNOSIS: Spawn architect to analyze failure
    text
    Task(subagent_type="oh-my-claudecode:architect", model="opus", prompt="DIAGNOSE FAILURE:
    Goal: [goal type]
    Output: [test/build output]
    Provide root cause and specific fix recommendations.")
  4. FIX ISSUES: Apply architect's recommendations
    text
    Task(subagent_type="oh-my-claudecode:executor", model="sonnet", prompt="FIX:
    Issue: [architect diagnosis]
    Files: [affected files]
    Apply the fix precisely as recommended.")
  5. REPEAT: Go back to step 1

Exit Conditions

ConditionAction
Goal MetExit with success: "ULTRAQA COMPLETE: Goal met after N cycles"
Cycle 5 ReachedExit with diagnosis: "ULTRAQA STOPPED: Max cycles. Diagnosis: ..."
Same Failure 3xExit early: "ULTRAQA STOPPED: Same failure detected 3 times. Root cause: ..."
Environment ErrorExit: "ULTRAQA ERROR: [tmux/port/dependency issue]"

Observability

Output progress each cycle:
text
[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 cycles

State Tracking

Track state in .omc/ultraqa-state.json:
json
{
  "active": true,
  "goal_type": "tests",
  "goal_pattern": null,
  "cycle": 1,
  "max_cycles": 5,
  "failures": ["3 tests failing: auth.test.ts"],
  "started_at": "2024-01-18T12:00:00Z",
  "session_id": "uuid"
}

Cancellation

User can cancel with /oh-my-claudecode:cancel which clears the state file.

Important Rules

  1. PARALLEL when possible - Run diagnosis while preparing potential fixes
  2. TRACK failures - Record each failure to detect patterns
  3. EARLY EXIT on pattern - 3x same failure = stop and surface
  4. CLEAR OUTPUT - User should always know current cycle and status
  5. CLEAN UP - Clear state file on completion or cancellation

STATE CLEANUP ON COMPLETION

IMPORTANT: Delete state files on completion - do NOT just set active: false
When goal is met OR max cycles reached OR exiting early:
bash
# Delete ultraqa state file
rm -f .omc/state/ultraqa-state.json
This ensures clean state for future sessions. Stale state files with active: false should not be left behind.

Parallel session caveats

  • Multi-repo workspace anchor: drop a .omc-workspace marker at the parent directory so multiple sessions across sub-repos share one .omc/. Resolution order: OMC_STATE_DIR > .omc-workspace > git > cwd. See docs/REFERENCE.md.
  • Session id source: OMC_SESSION_ID env var wins in CLI contexts; hook payload data.session_id wins in hook contexts.
  • Plan id (when applicable): UltraQA state is session-scoped. Mutual-exclusion with ralph applies only within the same session.
  • Parallel verdict: supported (session-scoped state)

Begin ULTRAQA cycling now. Parse the goal and start cycle 1.
ultraqa — Kortix Marketplace | Kortix