qa-heallisted
Install: claude install-skill alwisofwan1/qa-workflow
# qa-heal
The official `playwright-test-healer` is useful and will be used. It also cannot be
trusted unsupervised, and this is not a suspicion — it is what its own agent definition
instructs it to do:
> "Code Remediation: … Fixing assertions and **expected values**"
> "You will continue this process **until the test runs successfully** without any failures or errors."
> "If the error persists … mark this test as **test.fixme()** so that it is skipped."
> "Do not ask user questions … do the most reasonable thing possible to **pass the test**."
An agent told to make tests pass, given permission to edit expected values, will
eventually edit an expected value. This stage exists to catch that moment.
## Procedure
1. **Commit the generated specs first.** That commit is the baseline. Without it the
guard has nothing to compare against and will pass everything.
2. Run the healer.
3. Adjudicate:
```bash
node dist/tools/heal-guard.js --base "$BASELINE" $(git diff --name-only "$BASELINE" -- '*.spec.ts')
```
4. **Exit 0** — the healing was locator/wait work. Keep it.
5. **Non-zero** — revert those files and convert each rejected edit into a finding.
Do not re-run the healer on the same failure with different wording. The guard's
verdict is not a puzzle to route around.
## The distinction that matters
A test fails for one of two reasons:
- **the test is wrong** — bad locator, bad wait, bad setup → *heal it*
- **the app is wrong, or the spec is wrong** — the asserted va