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 is essentially a keyword list rather than a proper skill description. While it contains strong, relevant trigger terms that users would naturally use, it completely lacks concrete actions (what the skill does) and explicit trigger guidance (when to use it). It needs to be rewritten as a proper sentence-based description with verbs and a 'Use when...' clause.
Suggestions
Rewrite as a sentence describing concrete actions, e.g., 'Implements service workers, configures caching strategies, enables offline functionality, and sets up Workbox for Progressive Web Apps.'
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about PWA setup, offline support, service worker registration, cache management, or Workbox configuration.'
Include file extensions or manifest references (e.g., 'manifest.json', 'sw.js') as additional trigger terms to further distinguish from general web development skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lists topic areas ('service workers, caching strategies, offline, Workbox') but does not describe any concrete actions. There are no verbs indicating what the skill actually does—it reads more like a tag list than a capability description. | 1 / 3 |
Completeness | There is no explicit 'what does this do' (no actions described) and no 'when should Claude use it' clause. Both dimensions are missing or very weak, as the description is just a list of keywords. | 1 / 3 |
Trigger Term Quality | The terms 'Progressive Web Apps', 'service workers', 'caching strategies', 'offline', and 'Workbox' are all natural keywords a user would mention when seeking help in this domain. Good coverage of common variations and specific technologies. | 3 / 3 |
Distinctiveness Conflict Risk | The PWA/service worker/Workbox niche is fairly specific and unlikely to overlap heavily with most other skills, but the lack of concrete actions means it could still be confused with general web development 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 fails as a SKILL.md by being far too verbose and monolithic. It includes substantial content Claude already knows (basic HTML, CSS, responsive images, code splitting) and inlines everything rather than using progressive disclosure. The actionability is excellent with complete, executable code examples, but the sheer volume undermines its utility as context-window-efficient guidance.
Suggestions
Reduce to ~150 lines by keeping only the core service worker pattern, Workbox Vite config, manifest minimum, and caching strategy table — move everything else to referenced files like MANIFEST.md, CACHING-STRATEGIES.md, OFFLINE.md, PUSH-NOTIFICATIONS.md
Remove content Claude already knows: the offline.html page, responsive image patterns, code splitting, critical rendering path optimization, and explanations of what HTTPS/service workers are
Add an explicit sequential workflow with validation: 1. Create manifest → validate with Lighthouse → 2. Register SW → verify in DevTools → 3. Add caching → test offline → 4. Deploy with HTTPS → final audit
Cut the 'Enhanced Manifest' example entirely — the required fields example plus the checklist is sufficient; the full manifest is reference material that belongs in a separate file
| 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, the full offline.html page, and performance optimization sections are padding that don't earn their tokens. Much of this is general web development knowledge, not PWA-specific guidance Claude needs. | 1 / 3 |
Actionability | All code examples are concrete, executable, and copy-paste ready. Service worker patterns, Workbox configurations, manifest JSON, registration code, push notification setup, and framework-specific configurations are all complete and functional. | 3 / 3 |
Workflow Clarity | The checklists provide good structure, and the service worker lifecycle is shown, but there's no clear sequential workflow for building a PWA from scratch. Missing explicit validation checkpoints — e.g., after registering the service worker, verify it's active before proceeding; after caching, verify cache contents. The testing section exists but isn't integrated into the build workflow. | 2 / 3 |
Progressive Disclosure | Monolithic wall of text with no references to external files. Everything is inlined — the enhanced manifest, full offline.html, performance optimization, framework guides, and all caching strategies could be split into separate reference files. No bundle files exist to support this, and the content doesn't attempt any layering or navigation structure. | 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 | |
65efb33
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.