qa-feedback-loop-orchestrator
Skill4 starsChanged 2 months agoMITView on GitHub
Orchestrate the closed-loop QA cycle: collect findings, batch-report with PRD references, trigger fixes, and re-test until resolved or escalated. Use when QA loop, orchestrate testing, auto-fix findings, self-healing QA, or close the feedback loop.
In this repository46 other files it gives its agents.
- accessibility-reviewSkill
- accessibility-runtime-auditSkill
- adaptive-component-behaviorSkill
- ai-feature-ux-patternsSkill
- behavioral-pricing-psychologySkill
- business-model-readingSkill
- business-model-thinkingSkill
- cognitive-load-heatmap-predictionSkill
- component-style-guideSkill
- cross-functional-reviewSkill
- dark-mode-theming-systemSkill
- dashboard-layout-patternsSkill
- dashboard-scaffolding-contractSkill
- design-drift-detectorSkill
- design-system-builderSkill
- design-to-code-handoffSkill
- design-tokensSkill
- error-boundary-resilience-designSkill
- flow-based-functional-testingSkill
- growth-impact-reviewSkill
- i18n-localization-strategySkill
- information-architectureSkill
- interactive-element-auditSkill
- kinematic-motion-choreographySkill
- micro-interaction-motion-designSkill
- module-registry-syncSkill
- mvp-scopingSkill
- perceived-performance-loadingSkill
- prd-traceability-matrixSkill
- product-discoverySkill
- product-strategySkill
- project-health-diagnosticsSkill
- responsive-breakpoint-strategySkill
- responsive-qa-auditSkill
- route-integrity-checkerSkill
- security-privacy-reviewSkill
- stakeholder-requirement-mappingSkill
- touch-gesture-interactionSkill
- typography-systemSkill
- usability-heuristics-checkSkill
- user-flow-mappingSkill
- user-research-synthesisSkill
- ux-chaos-monkeySkill
- visual-hierarchy-reviewSkill
- visual-responsive-regression-testingSkill
- visual-style-extractorSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 11 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
After each build/feature completion, run all applicable QA skills and collect their output:
- Distinctive: line 16
Do not act on individual findings as they arrive.
- Distinctive: line 28
Never send one round-trip per finding — always batch.
- Distinctive: line 37
Before applying any auto-fix, verify ALL three conditions.
- Distinctive: line 67
After the builder skill applies fixes, re-run the relevant QA skill (not the full suite — only the skill that found the issue).
- Distinctive: line 70
If a finding has been through 3 fix-and-retest cycles and still fails:
- Very specific: line 77
After all findings are resolved or escalated, update the traceability matrix status for all affected requirements.
- Distinctive: line 89
All QA skill outputs collected before any action is taken
- Distinctive: line 90
All findings batched into one report
- Distinctive: line 91
Every finding has a PRD requirement reference
- Distinctive: line 92
All auto-fixable findings resolved
- Distinctive: line 93
All agent-fixable findings either resolved or escalated after max 3 iterations
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Quality is not a final gate — it is a loop. Every finding that can be fixed automatically must be. Every finding that cannot must reach a human with full context, not just a bug report.
1. Collect findings from all QA skills
After each build/feature completion, run all applicable QA skills and collect their output:
interactive-element-audit→ orphaned element reportflow-based-functional-testing→ failed test casesvisual-responsive-regression-testing→ visual regressionsaccessibility-runtime-audit→ a11y violationsresponsive-qa-audit→ breakpoint audit findings
Do not act on individual findings as they arrive. Wait until all skills have completed their pass. See QA-LOOP-PROTOCOL.md for the batch protocol.
2. Batch all findings into a single report
Merge all findings into one structured report. For each finding:
- Finding ID (F-001, F-002, ...)
- Source skill (which QA skill found it)
- Finding type (orphaned element / failed test / regression / a11y violation / responsive issue)
- Location (route, component, element selector)
- PRD requirement ID from prd-traceability-matrix (mandatory — never report a finding without a PRD reference)
- Severity: BLOCKER / WARNING / NOTE
- Recommended fix (one sentence)
Never send one round-trip per finding — always batch.
3. Classify findings by auto-fixability
Three classes:
- Auto-fixable: findings with a clear, deterministic fix (missing
data-testid, missingaria-label, link withhref="#"where the route is known from route-integrity-checker). Proceed to Step 3a. - Agent-fixable: findings that require the builder agent to make a code change (add an event handler, implement a missing flow step). Trigger the relevant builder skill. Proceed to Step 5.
- Escalate: findings that require a human decision (ambiguous requirement, conflicting priorities, 3rd-party dependency). Proceed to Step 6.
3a. Auto-Fix Decision Rules (Mandatory Before Applying Any Fix)
Before applying any auto-fix, verify ALL three conditions. If any condition fails, reclassify as agent-fixable or escalate.
Condition 1 — The correct value is unambiguous: The fix value must be deterministically derivable from existing project artifacts (route-intents.json, IA sitemap, PRD matrix, design spec). If deriving the value requires judgment or interpretation, it is NOT auto-fixable.
Condition 2 — The fix is reversible: Auto-fixes must be undoable via a single file revert with zero side effects on other components or shared state.
Condition 3 — The fix scope is isolated: The change affects only the flagged element, not shared components, design tokens, or global state.
Auto-fix catalogue (deterministic cases only):
data-testidmissing: generate from element label + route slug (e.g., button labeled "Submit" on/checkout→btn-submit-checkout)aria-labelmissing on icon-only button: derive from the visible tooltip text OR from the button's documented purpose in the design spec. If neither exists → escalate, do not guess.href="#"on a link: replace with the connected route from route-intents.json if status isconnected. If status ispending→ escalate.- Missing
langattribute on<html>: set to the project's declared primary language from the discovery artifacts. If not declared → escalate. - Missing
altattribute on purely decorative image: setalt=""andaria-hidden="true". For informational images → escalate.
Do NOT auto-fix:
- Any value requiring interpretation of design intent not captured in a file
- Contrast ratios (color decisions require design review, not auto-correction)
- Missing event handlers (these are logic decisions — agent-fixable, not auto-fixable)
- Components with conflicting token references
4. Apply auto-fixes
For each auto-fixable finding that passes all three conditions in Step 3a, apply the fix directly. Update the relevant file. Mark the finding as AUTO-FIXED in the report, and record which condition evidence was used to derive the value.
5. Trigger builder skills for agent-fixable findings
Send the finding batch to the relevant builder skill with full context:
- For orphaned elements:
design-to-code-handoffwith the list of missing handlers - For responsive issues:
adaptive-component-behaviorwith the failing breakpoint and component - For route issues:
route-integrity-checkerwith the dead-end intents
After the builder skill applies fixes, re-run the relevant QA skill (not the full suite — only the skill that found the issue). This is one iteration.
6. Enforce the 3-iteration limit
If a finding has been through 3 fix-and-retest cycles and still fails:
- Stop attempting auto-fix
- Mark as
ESCALATED - Prepare escalation package: finding ID, all 3 fix attempts with their results, PRD requirement, recommended next step for human
- Present to user
7. Update prd-traceability-matrix
After all findings are resolved or escalated, update the traceability matrix status for all affected requirements. A requirement is only marked DONE after all its QA findings pass.
8. Generate the QA cycle summary
One summary per QA cycle:
- Total findings
- Auto-fixed (count)
- Agent-fixed (count, iterations taken)
- Escalated (count, with packages)
- Requirements now marked DONE
- Requirements still blocked
Completion Criteria
- All QA skill outputs collected before any action is taken
- All findings batched into one report
- Every finding has a PRD requirement reference
- All auto-fixable findings resolved
- All agent-fixable findings either resolved or escalated after max 3 iterations
- prd-traceability-matrix updated
- QA cycle summary generated
Output
- Batch QA report (
qa-report-[date].md) - Escalation packages for unresolved findings
- Updated prd-traceability-matrix
- QA cycle summary
Anti-patterns
- Sending one round-trip per finding (token-wasteful, disruptive to builder agent context)
- Acting before all QA skills have completed (partial data leads to re-work)
- Reporting findings without PRD requirement references (loses context for prioritization)
- Auto-fixing findings without re-testing (fix may be wrong or incomplete)
- Infinite retry loop — MUST enforce the 3-iteration limit and escalate
- Marking requirements DONE based on "QA loop ran" rather than "QA loop passed"
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

