skills/ultraqa/SKILL.md
QA cycling workflow - test, verify, fix, repeat until goal met
npx skillsauth add Rheinmir/skills-kit ultraqaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
[ULTRAQA ACTIVATED - AUTONOMOUS QA CYCLING]
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
Parse the goal from arguments. Supported formats:
| Invocation | Goal Type | What to Check |
|------------|-----------|---------------|
| /oh-my-claudecode:ultraqa --tests | tests | All test suites pass |
| /oh-my-claudecode:ultraqa --build | build | Build succeeds with exit 0 |
| /oh-my-claudecode:ultraqa --lint | lint | No lint errors |
| /oh-my-claudecode:ultraqa --typecheck | typecheck | No TypeScript errors |
| /oh-my-claudecode:ultraqa --custom "pattern" | custom | Custom success pattern in output |
If no structured goal provided, interpret the argument as a custom goal.
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:
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]")
CHECK RESULT: Did the goal pass?
ARCHITECT DIAGNOSIS: Spawn architect to analyze failure
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.")
FIX ISSUES: Apply architect's recommendations
Task(subagent_type="oh-my-claudecode:executor", model="sonnet", prompt="FIX:
Issue: [architect diagnosis]
Files: [affected files]
Apply the fix precisely as recommended.")
REPEAT: Go back to step 1
| 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]" |
Output progress each cycle:
[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
Track state in .omc/ultraqa-state.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"
}
User can cancel with /oh-my-claudecode:cancel which clears the state file.
IMPORTANT: Delete state files on completion - do NOT just set active: false
When goal is met OR max cycles reached OR exiting early:
# 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.
Begin ULTRAQA cycling now. Parse the goal and start cycle 1.
development
Full autonomous execution from idea to working code
development
Full autonomous execution from idea to working code
documentation
Agentic memory system for writers - track characters, relationships, scenes, and themes
testing
Structured visual QA verdict for screenshot-to-reference comparisons