agentleFS
UwayxtUwayxt/agent-skills/.agents/skills/qa-feedback-loop-orchestrator/SKILL.md

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.

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
  1. Distinctive:

    After each build/feature completion, run all applicable QA skills and collect their output:

    line 9
  2. Distinctive:

    Do not act on individual findings as they arrive.

    line 16
  3. Distinctive:

    Never send one round-trip per finding — always batch.

    line 28
  4. Distinctive:

    Before applying any auto-fix, verify ALL three conditions.

    line 37
  5. Distinctive:

    After the builder skill applies fixes, re-run the relevant QA skill (not the full suite — only the skill that found the issue).

    line 67
  6. Distinctive:

    If a finding has been through 3 fix-and-retest cycles and still fails:

    line 70
  7. Very specific:

    After all findings are resolved or escalated, update the traceability matrix status for all affected requirements.

    line 77
  8. Distinctive:

    All QA skill outputs collected before any action is taken

    line 89
  9. Distinctive:

    All findings batched into one report

    line 90
  10. Distinctive:

    Every finding has a PRD requirement reference

    line 91
  11. Distinctive:

    All auto-fixable findings resolved

    line 92
  12. Distinctive:

    All agent-fixable findings either resolved or escalated after max 3 iterations

    line 93

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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 report
  • flow-based-functional-testing → failed test cases
  • visual-responsive-regression-testing → visual regressions
  • accessibility-runtime-audit → a11y violations
  • responsive-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, missing aria-label, link with href="#" 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-testid missing: generate from element label + route slug (e.g., button labeled "Submit" on /checkout → btn-submit-checkout)
  • aria-label missing 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 is connected. If status is pending → escalate.
  • Missing lang attribute on <html>: set to the project's declared primary language from the discovery artifacts. If not declared → escalate.
  • Missing alt attribute on purely decorative image: set alt="" and aria-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-handoff with the list of missing handlers
  • For responsive issues: adaptive-component-behavior with the failing breakpoint and component
  • For route issues: route-integrity-checker with 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"

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.