Progressive Web Apps - service workers, caching strategies, offline, Workbox
40
39%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/pwa-development/SKILL.mdQuality
Discovery
37%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description functions more as a keyword tag list than a proper skill description. While it includes strong, natural trigger terms that users would search for, it fails to describe concrete actions the skill performs and entirely lacks a 'Use when...' clause to guide skill selection.
Suggestions
Add concrete actions describing what the skill does, e.g., 'Configures service workers, implements caching strategies (cache-first, network-first, stale-while-revalidate), sets up offline support, and integrates Workbox for PWA development.'
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about Progressive Web Apps, service worker registration, offline functionality, cache management, or Workbox configuration.'
Consider adding file type or framework context to improve distinctiveness, e.g., mentioning manifest.json, sw.js, or specific frameworks.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lists topic areas ('service workers, caching strategies, offline, Workbox') but does not describe any concrete actions like 'configure service workers', 'implement caching strategies', or 'set up offline support'. It reads as a tag list rather than a capability description. | 1 / 3 |
Completeness | The description partially addresses 'what' (PWA-related topics) but is very weak on specifics, and completely lacks any 'when' clause or explicit trigger guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the weak 'what' brings it down to 1. | 1 / 3 |
Trigger Term Quality | The description includes strong natural keywords a user would actually say: 'Progressive Web Apps', 'service workers', 'caching strategies', 'offline', and 'Workbox'. These are all terms users would naturally use when seeking help in this domain. | 3 / 3 |
Distinctiveness Conflict Risk | The PWA/service worker/Workbox niche is fairly specific and unlikely to conflict with most other skills, but the lack of concrete actions and the broad term 'offline' could overlap with general web development or caching-related skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill is a comprehensive PWA reference but suffers from extreme verbosity — it reads like a tutorial or documentation page rather than a concise skill for Claude. While the code examples are excellent and fully actionable, the document includes too much that Claude already knows (basic HTML, CSS, responsive images, code splitting) and fails to organize content into a lean overview with references to detailed sub-files. The lack of an integrated development workflow with validation checkpoints also weakens its utility.
Suggestions
Reduce to ~150 lines by removing content Claude already knows (offline.html styling, responsive images, code splitting, what HTTPS/service workers are) and keeping only PWA-specific patterns and configurations.
Split into multiple files: SKILL.md (overview + quick start), CACHING_STRATEGIES.md, WORKBOX.md, APP_FEATURES.md (push, install, share), FRAMEWORK_GUIDES.md — with clear one-level-deep references from the main file.
Add an explicit step-by-step workflow for building a PWA: 1) Create manifest → 2) Validate with Lighthouse → 3) Add service worker → 4) Verify offline works → 5) Test install prompt, with validation gates between steps.
Remove the 'Enhanced Manifest' full example and the complete offline.html — replace with brief notes on optional fields and a one-liner reference to standard offline page patterns.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~600+ lines. Includes extensive content Claude already knows (what HTTPS is, what a service worker is, basic HTML/CSS for offline pages, responsive image patterns, code splitting). The 'Enhanced Manifest' with every possible field, full offline.html with styling, and performance optimization sections are all padding that doesn't teach PWA-specific knowledge Claude lacks. | 1 / 3 |
Actionability | All code examples are fully executable and copy-paste ready — service worker registration, caching strategies, Workbox configuration, push notifications, install prompts. Concrete commands for installation and framework setup are provided. | 3 / 3 |
Workflow Clarity | The service worker lifecycle is shown and checklists are provided, but there's no clear step-by-step workflow for building a PWA from scratch with validation checkpoints. The testing section lists what to check but doesn't integrate validation into the development workflow (e.g., 'after adding SW, verify with Lighthouse before proceeding'). | 2 / 3 |
Progressive Disclosure | Monolithic wall of text with no references to external files. Everything is inline — the enhanced manifest, offline page HTML, performance optimization, framework guides, and testing could all be split into separate reference files. No bundle files exist to support progressive disclosure. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (961 lines); consider splitting into references/ and linking | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
7e5f7a2
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.