CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/offline-fallback-tests

Build-an-X workflow that emits the offline-fallback test suite. Walks the eight Jake Archibald offline recipes per [web.dev/articles/offline-cookbook][off-cookbook] (`Cache only`, `Network only`, `Cache, falling back to network`, `Cache and network race`, `Network falling back to cache`, `Cache then network`, `Generic fallback`, `Service Worker side templating`), maps each recipe to its assertion shape, layers the Workbox `offlineFallback()` recipe per [developer.chrome.com/docs/workbox/modules/workbox-recipes][wb-recipes], and pins the offline storage strategy (Cache Storage vs IndexedDB vs Storage Manager `persist()`/`estimate()`) per [web.dev/learn/pwa/offline-data][off-data]. Output: a Playwright spec file with one test per route's chosen recipe + a coverage matrix mapping recipes to URL patterns. Use when a route's SW caching behavior is being chosen or changed, or when a "doesn't work offline" report needs the failing route's recipe localized.

68

Quality

86%

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

78%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.

The body is highly actionable — every step emits complete, executable Playwright test code and YAML artifacts, with the reference bundle correctly carrying the six remaining recipe templates one level deep. Workflow sequencing is clear with a coverage-matrix checklist and CI gate. The main cost is token efficiency: conceptual rationale, a verbatim eight-recipe quote table, and duplicated differentiation prose pad an otherwise lean document.

Suggestions

Trim the Overview's conceptual rationale to 2-3 lines and state the workbox-tests differentiation only once — it currently appears nearly verbatim in both the Overview and the References section.

Compress Step 1's verbatim "when to use" quote table to recipe names plus one-line decision cues (or move the full quotes into references/recipes.md next to the assertion-shape notes), since Claude already knows the offline-cookbook recipes.

Add an explicit validation feedback loop, e.g. a final step "Run `npx playwright test offline-fallback.spec.ts` and iterate until every matrix row passes before emitting the coverage YAML", to close the workflow's run-and-fix gap.

DimensionReasoningScore

Conciseness

Mostly efficient — dense, functional code and tables — but there is unnecessary explanation that could be tightened: a ~15-line conceptual Overview rationale, a Step 1 table quoting all eight offline-cookbook "when to use" statements verbatim (recipes Claude already knows), and a workbox-tests differentiation note repeated nearly verbatim in both the Overview and the References section. More than the "minor instances" of the 4 anchor, but well short of the heavy padding of the 2 anchor.

3 / 5

Actionability

Fully executable copy-paste Playwright TypeScript throughout: inline Cache only, Network only, Storage Manager persist(), cache-usage, offline.html precache, and offline-to-online recovery tests; complete YAML manifests for the recipe matrix and coverage matrix; and the six remaining recipe templates in the verified references/recipes.md. Specific examples cover the common cases, matching the 5 anchor.

5 / 5

Workflow Clarity

A clear six-step sequence (inventory routes and pick recipes, emit per-recipe tests, test storage choice, test the fallback page, test offline-to-online recovery, emit coverage matrix and CI gate) with the coverage matrix serving as a checklist and Step 6's CI gate as a final checkpoint. Minor validation gap — no explicit run-locally-and-iterate feedback loop — keeps it below the 5 anchor.

4 / 5

Progressive Disclosure

Clear overview with an appropriate split: the two pole tests inline in Step 2 and the remaining six recipe templates in a clearly signaled, one-level-deep, real file (references/recipes.md, verified present and complete) with no further nesting. Sections are well organized for navigation, matching the 5 anchor.

5 / 5

Total

17

/

20

Passed

Description

88%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 names concrete actions and artifacts (Playwright spec, coverage matrix, per-recipe assertion shapes, storage strategy pinning) and gives an explicit, natural "Use when" clause including the "doesn't work offline" bug-report trigger. The only weaknesses are abbreviated jargon ("SW") limiting natural trigger coverage and slight overlap with the sibling workbox-tests skill.

DimensionReasoningScore

Specificity

Lists multiple concrete actions with concrete artifacts: "emits the offline-fallback test suite", "maps each recipe to its assertion shape", "layers the Workbox offlineFallback() recipe", "pins the offline storage strategy", "Output: a Playwright spec file... + a coverage matrix mapping recipes to URL patterns". Coverage is comprehensive with no minor gaps, matching the 5 anchor.

5 / 5

Completeness

Explicitly answers both: what ("Output: a Playwright spec file with one test per route's chosen recipe + a coverage matrix") and when ("Use when a route's SW caching behavior is being chosen or changed, or when a \"doesn't work offline\" report needs the failing route's recipe localized") with concrete trigger phrases. Exact match to the 5 anchor.

5 / 5

Trigger Term Quality

Natural phrases present — "Use when a route's SW caching behavior is being chosen or changed" and "a \"doesn't work offline\" report" — but "service worker" appears only abbreviated as "SW", and synonyms like "PWA", "offline mode", or file extensions (.ts, .yaml) are missing. Good coverage, not comprehensive, so 4 rather than 5.

4 / 5

Distinctiveness Conflict Risk

Clear niche (per-route offline-recipe test generation) with distinct triggers, but the Workbox offlineFallback() coverage overlaps with the closely related workbox-tests skill — the body itself acknowledges needing to differentiate from it. Minor overlap risk with a closely related skill fits 4, not 5's minimal conflict risk.

4 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 3 missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents