Content
67%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A strong, highly actionable builder skill with executable test code for every lifecycle cell, a clear step sequence, and well-organized one-level-deep references. Its weaknesses are recurring explanations of service-worker concepts Claude already knows (hurting token efficiency), assumed test infrastructure (slow-install fixture, version-flipping server), and a missing final validation step for the emitted spec.
Suggestions
Trim the per-step 'Per [mdn-sw], X does Y' explanations of well-known service-worker semantics (hard-reload bypass, updatefound firing conditions, controller nullability) — keep the citations but drop the re-explanations, letting the test code carry the semantics.
Add an explicit final validation step (e.g. 'Run npx playwright test tests/sw-lifecycle.spec.ts and confirm every matrix row in tests/sw-lifecycle-coverage.yaml has a passing test before delivering') with a fix-and-rerun loop for flaky statechange assertions.
Show the tests/fixtures/sw-slow-install.js fixture content inline (it is only one sentence of code) and either add references/install-flow-reference.md to the bundle or drop the path citation for the add-to-homescreen-flow-tests composition.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body repeatedly explains service-worker semantics Claude already knows — 'a hard-reload (Ctrl+Shift+R) bypasses the SW', 'the registration object fires updatefound when a new SW is in the installing state', 'skipWaiting() activates sooner and Clients.claim() claims existing pages' — padding otherwise useful spec citations. The code cells earn their place, but the prose around them and the duplicated References/composition listings could be tightened. Fits the 3 anchor ('mostly efficient but includes some unnecessary explanation'), not 4 ('minor instances') because the known-concept explanations recur across nearly every step. | 3 / 5 |
Actionability | Every step ships executable Playwright/TypeScript test code, a bash inventory command, a YAML coverage matrix, and an anti-patterns table with concrete fixes. Minor gaps keep it from 5: the sw-slow-install.js fixture is described but not shown, and the v1/v2 test server that 'flips the SW response based on a query param header' is assumed infrastructure never specified. | 4 / 5 |
Workflow Clarity | Steps 1–9 are clearly sequenced with per-step purpose, and there are conditional checkpoints (e.g. 'If the SW under test does not call skipWaiting(), this test must assert v2 stays in installed/waiting… flip the expectation') plus a CI gate on matrix rows. However, there is no explicit run-the-spec / verify-all-cells-pass validation step or failure-handling loop after emitting the artifact, which the 5 anchor requires. | 4 / 5 |
Progressive Disclosure | Good split: the harness, mock tests, cache-strategy assertions, and the full upgrade-path spec are moved to references/ and clearly signaled with inline links; the three referenced files exist and reference each other only one level deep. Minor gaps: references/install-flow-reference.md is cited in the Composes section but absent from the bundle, and ~200 lines of inline test code in Steps 2–8 could partly live in references alongside the upgrade-path spec. | 4 / 5 |
Total | 15 / 20 Passed |