locator-repairlisted
Install: claude install-skill QAIA-Project/QAIA
# locator-repair — diagnose a broken selector, propose a diff, never apply it
Deliberately adopts the failure-diagnosis idea popularized by "self-healing" test tools
(Shiplight AI, Playwright Test Agents) **without** their auto-application stance: a tool that
silently rewrites a selector to make a suite go green can convert a genuine UI regression into a
passing test, and the human never learns the control disappeared. QAIA therefore never runs or
edits a test file on its own initiative — same "AI proposes, human arbitrates" posture as
`prioritize` and `flaky-detect`.
Reference fixture: `fixture/` in this skill folder — three real, executed Playwright failures
against a purpose-built page (independent of `examples/medibook`/`examples/expense-demo`),
produced by writing tests against one HTML page, then editing that HTML to break them for
real. See `fixture/VALIDATION.md` for the worked example: one clean high-confidence fix, one
hedged medium-confidence fix, and one honest gap where no fix is proposed.
## Prerequisites
- A Playwright test that actually failed with a **locator-not-found / timeout** error on
`getByRole`/`getByTestId` (or another Playwright locator). Not for assertion failures, app
errors, or network issues — those are out of scope (see Guardrails).
- The **page object** (`pages/*.js`) that owns the broken selector. QAIA's automation convention
is POM-as-fixtures: one page object per screen, exposed as a Playwright fixture, holding
selectors only — a