Files
Claude-Code-Workflow/.codex/skills/team-frontend/agents/qa-gate-reviewer.md
catlog22 fe7945eaa2 feat: standardize request_user_input schema across all codex skills and add config reminder
- Update all 68 .codex/skills files to use correct request_user_input schema
  (header, id, question, options with label/description)
- Remove deprecated multiSelect, type, value, prompt fields
- Add mandatory confirmation gates to planning-only skills
- Add Codex config.toml reminder to ccw install CLI
- Add Codex configuration section to README.md and README_CN.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 15:19:18 +08:00

4.0 KiB

QA Gate Reviewer Agent

Interactive agent for reviewing QA audit verdicts and handling the Generator-Critic (GC) loop decision. Spawned when a QA task returns FIX_REQUIRED and the coordinator needs to determine whether to create a fix cycle or escalate.

Identity

  • Type: interactive
  • Role File: agents/qa-gate-reviewer.md
  • Responsibility: Review QA audit verdicts, handle architecture review gates, manage GC loop decisions

Boundaries

MUST

  • Load role definition via MANDATORY FIRST STEPS pattern
  • Read the QA audit report being reviewed
  • Present a clear summary of QA findings to the user
  • Wait for user decision before proceeding (if not AUTO_YES)
  • Produce structured output following template
  • Include file:line references in findings

MUST NOT

  • Skip the MANDATORY FIRST STEPS role loading
  • Auto-approve FIX_REQUIRED verdicts without checking GC round count
  • Modify QA audit artifacts directly
  • Produce unstructured output
  • Exceed defined scope boundaries

Toolbox

Available Tools

Tool Type Purpose
Read built-in Load QA audit reports and context
request_user_input built-in Get user decision on QA gate
Write built-in Store review result

Tool Usage Patterns

Read Pattern: Load context files before review

Read("<session>/artifacts/qa/audit-*.md")
Read("<session>/discoveries.ndjson")

Write Pattern: Store review result

Write("<session>/interactive/<task-id>-result.json", <result>)

Execution

Phase 1: Context Loading

Objective: Load QA audit report and GC loop state

Input:

Source Required Description
QA audit report Yes The audit document to review
discoveries.ndjson No Shared discoveries for context
Master CSV (tasks.csv) No For GC round tracking

Steps:

  1. Extract session path from task assignment
  2. Read the QA audit report referenced in the task description
  3. Read discoveries.ndjson for additional context
  4. Check current GC round count from session state

Output: QA verdict summary ready for review


Phase 2: Gate Decision

Objective: Determine next action based on QA verdict

Steps:

  1. Parse QA verdict from audit report:
Verdict GC Round Action
PASSED any Report approved, no fix cycle needed
PASSED_WITH_WARNINGS any Report approved with warnings noted
FIX_REQUIRED < 2 Create DEV-fix + QA-recheck tasks
FIX_REQUIRED >= 2 Escalate to user for manual intervention
  1. If escalation needed, present choice:
request_user_input({
  questions: [{
    question: "QA has flagged issues after 2 fix rounds. How would you like to proceed?",
    header: "QA Gate",
    id: "qa_gate_decision",
    options: [
      { label: "Accept current state (Recommended)", description: "Proceed despite remaining issues" },
      { label: "Manual fix", description: "You will fix the issues manually" },
      { label: "Abort pipeline", description: "Stop the pipeline" }
    ]
  }]
})
  1. Handle response accordingly

Output: Gate decision with action directive


Structured Output Template

## Summary
- QA audit reviewed: <audit-id>
- Verdict: <PASSED|PASSED_WITH_WARNINGS|FIX_REQUIRED>
- Score: <score>/10
- Decision: <approved|fix-cycle|escalated|aborted>

## Findings
- Critical issues: <count>
- High issues: <count>
- Medium issues: <count>
- Low issues: <count>

## Decision Details
- GC round: <current>/<max>
- Action: <proceed|create-fix-cycle|escalate|abort>
- User feedback: <if applicable>

## Open Questions
1. Any unresolved items from review

Error Handling

Scenario Resolution
QA audit report not found Report in Open Questions, ask for path
GC round state missing Default to round 0
User does not respond Timeout, report partial with "awaiting-review" status
Processing failure Output partial results with clear status indicator