CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/workbox-tests

Test Workbox-built service workers - pin behavior of the named recipes (`pageCache`, `staticResourceCache`, `imageCache`, `googleFontsCache`, `offlineFallback`, `warmStrategyCache`) per [developer.chrome.com/docs/workbox/modules/workbox-recipes][wb-recipes]; validate `workbox-precaching` manifest injection (`__WB_MANIFEST` revisioning); assert `workbox-routing` route handler matches; assert `workbox-expiration` and `workbox-cacheable-response` plugin gates; and verify the `workbox-window` registration helper events (`installed`, `waiting`, `controlling`, `activated`). Cache-strategy design (which strategy per route type, TTL + version-bump invalidation, migrating a hand-rolled sw.js to Workbox) lives in references/cache-strategy-design.md. Use when a project ships (or is adopting) a Workbox service worker and its strategy choices or recipe behavior need pinning against refactors or a version upgrade.

72

Quality

91%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

85%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured testing skill: executable representative tests inline, the remaining detail correctly split into two real, one-level-deep reference files, and clear sequencing with debugging and anti-pattern guidance. The main improvements are removing duplicated CI/caveat content and stating the Playwright server config so the inline tests are truly copy-paste runnable.

Suggestions

Consolidate the CI guidance: the 'CI integration' section repeats the same npm run build / vitest / playwright commands already shown in 'Running -> In CI' — keep one command block and reference it.

Deduplicate caveats that appear in both the Anti-patterns table and Limitations (CDN-served workbox-sw skipping precaching; the waiting event only firing on update) — state each once and cross-link.

Add a short playwright.config note (webServer or baseURL for https://localhost:3000) so the inline Playwright specs are copy-paste runnable out of the box.

DimensionReasoningScore

Conciseness

The body is dense with Workbox-specific facts Claude cannot be assumed to know (recipe defaults like '60 images cached for 30 days', cache names like 'workbox-precache-v2', the __WB_MANIFEST injection constraint), so most tokens earn their place. Minor trimming opportunities: the 'CI integration' section repeats the 'Running -> In CI' commands verbatim, and the CDN workbox-sw and waiting-event caveats each appear in both the Anti-patterns table and Limitations.

4 / 5

Actionability

Mostly executable guidance: full copy-paste Vitest and Playwright specs, install commands, and CI YAML, plus a Step 2 table routing each assertion type to the right runner. The gap keeping it below anchor 5: the Playwright tests hit 'https://localhost:3000' with no playwright.config / webServer / baseURL setup shown, so the inline specs are not runnable as-is without project-specific wiring.

4 / 5

Workflow Clarity

Clear six-step authoring sequence (install deps -> decide runner placement -> manifest test -> recipe tests -> window events -> plugin gate), followed by running, result parsing, and debugging guidance. Validation and error-recovery loops are explicit: the 'Parsing results' table tells how to read failures ('When an assertion fails on the cache-content surface, also check the namespace name') and the Anti-patterns table gives failure -> why -> fix for each common trap.

5 / 5

Progressive Disclosure

Well-signaled one-level-deep references, both verified to exist and contain what is claimed: references/recipe-tests.md holds the other five recipe tests ('each retaining its test-invariant default') and references/cache-strategy-design.md holds the strategy-per-route table, audit, and invalidation locking. The split is sound — one representative test inline, the rest in references — and the References section indexes everything including sibling skills.

5 / 5

Total

18

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: it enumerates concrete, package-scoped actions, gives an explicit 'Use when' trigger clause, and draws a clear boundary against the adjacent strategy-design skill. The only weakness is slightly incomplete natural-synonym coverage ('PWA', 'offline') in its trigger terms.

DimensionReasoningScore

Specificity

The description enumerates five concrete actions with named APIs: 'pin behavior of the named recipes (pageCache, staticResourceCache, imageCache, googleFontsCache, offlineFallback, warmStrategyCache)', 'validate workbox-precaching manifest injection (__WB_MANIFEST revisioning)', 'assert workbox-routing route handler matches', 'assert workbox-expiration and workbox-cacheable-response plugin gates', and 'verify the workbox-window registration helper events (installed, waiting, controlling, activated)'. This matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage' — the coverage spans the entire package family the skill addresses, with no gaps.

5 / 5

Completeness

Both questions are answered explicitly: the 'what' is the five-verb enumeration of assertions, and the 'when' is a concrete trigger clause — 'Use when a project ships (or is adopting) a Workbox service worker and its strategy choices or recipe behavior need pinning against refactors or a version upgrade.' This matches anchor 5 ('clearly and explicitly answers both what AND when with concrete trigger phrases'); the when-clause names specific scenarios rather than being merely adequate as in anchor 4.

5 / 5

Trigger Term Quality

Good natural-keyword coverage: 'Workbox-built service workers', 'precache', 'sw.js', 'pin behavior', 'version upgrade', 'refactors', 'TTL'. It falls short of the anchor-5 'comprehensive coverage including synonyms' because common user phrasings like 'PWA' and 'offline' are absent as trigger terms (offline only appears inside the recipe name offlineFallback). Better than anchor 3 ('missing common variations or synonyms') since multiple natural phrasings are present.

4 / 5

Distinctiveness Conflict Risk

A clear niche with distinct triggers: Workbox specifically, named recipes, and named packages (workbox-precaching, workbox-window, etc.). It even carves out an explicit boundary against the adjacent design-side skill — 'Cache-strategy design ... lives in references/cache-strategy-design.md' — reducing conflict risk with the closest neighboring skill. Minimal overlap with anything outside the service-worker testing niche.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents