SKILLEMALL.ai

AC selector-drift-recovery

Bulk-regenerate broken test selectors after a UI refactor or redesign. Detects drift between old and new DOM with an aria-snapshot diff, maps old locators to new equivalents using role-first + region scoping, validates against the new build, and produces a single PR with grouped per-file selector updates and per-change evidence. Assumes Playwright >= 1.50 (trace viewer DOM-snapshot panel, getByRole filtering, ariaSnapshot). Use when: "UI refactor broke tests," "redesign broke tests," "bulk update selectors," "regenerate selectors after refactor," "selector drift," "fix N broken tests after redesign." Not for: healing one flaky test at runtime — use test-reliability. Not for: writing a new test suite from scratch — use playwright-automation. Not for: re-recording tests after a framework switch (Selenium to Playwright) — use test-migration. Related: test-reliability, playwright-automation, test-migration, ci-cd-integration, visual-testing.

petrkindlmann/qa-skills Agent Skills author: petrkindlmann MIT 3 files body ≈ 4 797 tokens Open the sourcegithub.com analyzed 2 d ago

Bulk-regenerate broken test selectors after a UI refactor or redesign.

As a process C 61/100 · Has gaps — weak spots: result and completion, inputs and preconditions, running it twice

ProcedurePlaywrightSoftware developmenttype and topics are labelled automatically from the skill text
JSON
Technical rating
A
98/100
safety, quality, tests
Safety 60%
100
Quality 40%
95
Run on models
none yet
Process rating
C
61/100
Has gaps
Inputs and preconditions w 11
0
Progress reporting w 2
0
Running it twice w 4
30
the three weakest of ten parameters · all ten

How to improve

    For the model run — optional
    • Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
    • A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.

    Guard findings · 0

    ✓ No critical or high findings

    Files scanned: 3. Evidence is masked. Grey chips explain why severity was lowered.

    Against the Agent Skills spec

    • note edit-residue the text marks something as outdated (lines 48, 62): check that old rules are not kept next to new ones — the full check reads the text for contradictions

    Process rating: all ten parameters 61/100

    • 0Inputs and preconditions. Does not say what the process needs to start
    • 0Progress reporting. Says nothing while it works
    • 30Running it twice. 15 mutating operations with no state check
    • 40Result and completion. Does not say what the result is
    • 50When it triggers. No condition that starts the skill
    • 60Tools and files. Uses tools (git) that frontmatter does not declare
    • 70Execution cost. Instruction body is 4797 tokens
    • 100Steps. 50 steps
    • 100Failures and branches. 1 branches, has a failure section
    • 100Consistency. Name and required fields are in place
    • low 10 top-level sections: this looks like several domains in one skill
    • low The response is described with custom markup (3 tags): a typed call is more reliable

    Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.

    Quality signals

    • +3Description length 951: 120–800 characters recommended
    • +3Output format is not stated: the model decides each time
    • +2Single-language instructions
    • +5Description quotes 6 example trigger phrases
    • +4Description says when NOT to use the skill
    • +4Structure: 16 headings
    • +3Step-by-step instructions: 50 items
    • +4Has examples (2 code blocks)
    • +4Reference files are cited in the instructions (1 of 1)
    • +1License stated

    Quality base 70; lint remarks subtract, signals add up to 100. Result: 95.