| name | apply-qa-fixes |
| description | Systematically consume QA quality gate outputs and apply prioritized fixes for high-severity issues, NFR failures, and test coverage gaps. Use when quality review identifies issues requiring remediation. |
| acceptance | [{"fixes_applied":"All prioritized fixes from quality gate applied successfully"},{"tests_passing":"All tests pass after fixes applied"},{"validation_clean":"Lint and tests run cleanly with no errors"},{"task_updated":"Task file Implementation Record section updated with fix details"}] |
| inputs | {"task_id":{"type":"string","required":true,"description":"Task identifier (e.g., task-001)"},"quality_gate_path":{"type":"string","required":false,"description":"Path to quality gate YAML file (auto-detected if not provided)"},"fix_scope":{"type":"enum","values":["all","high_severity","nfr_only","coverage_only"],"default":"all","description":"Scope of fixes to apply"}} |
| outputs | {"fixes_applied":{"type":"array","description":"List of fixes applied with issue IDs and descriptions"},"tests_added":{"type":"number","description":"Number of tests added to close coverage gaps"},"coverage_improvement":{"type":"object","description":"Coverage improvement metrics (before/after percentages)"},"validation_passed":{"type":"boolean","description":"Whether lint and tests pass after fixes"},"files_modified":{"type":"array","description":"List of files modified during fix application"}} |
| telemetry | {"emit":"skill.apply-qa-fixes.completed","track":["task_id","fixes_count","tests_added","coverage_before","coverage_after","duration_ms","validation_passed"]} |
Apply QA Fixes
Systematically consume QA quality gate outputs and apply prioritized fixes for issues identified during quality review.
Purpose
After Quinn's quality review creates a quality gate with CONCERNS or FAIL status, this skill enables James to systematically consume the findings and apply fixes in a deterministic, prioritized manner.
Core Principles:
- Deterministic prioritization - Always same priority order (high severity → NFR failures → coverage gaps)
- Minimal changes - Fix exactly what's in the gate, don't over-engineer
- Validation loop - Always run tests after fixes, iterate until clean
- Observability - Track all fixes applied, tests added, coverage improvement
Integration:
- Input: Quality gate YAML + assessment reports from Quinn
- Processing: Parse findings → Build fix plan → Apply fixes → Validate
- Output: Fixed code + updated task file + telemetry
When to Use This Skill
This skill should be used when:
- Quality gate status is CONCERNS or FAIL
- Quinn has identified specific issues requiring fixes
- Task is in Review status with completed implementation
This skill should NOT be used when:
- Quality gate is PASS (no fixes needed)
- Quality gate is WAIVED (intentionally accepted)
- Task implementation is incomplete
- Issues require architectural changes (escalate to user)
Prerequisites
- Task file exists at
.claude/tasks/{task-id}.md
- Quality gate exists at
.claude/quality/gates/{task-id}-gate-{date}.yaml
- Assessment reports exist in
.claude/quality/assessments/
- bmad-commands skill available
- Tests can be executed
Workflow
Step 0: Load Configuration and Quality Gate
Purpose: Load project configuration, locate task file, find latest quality gate, verify readiness.
Actions:
-
Load Configuration:
python .claude/skills/bmad-commands/scripts/read_file.py \
--path .claude/config.yaml \
--output json