PWA Development
An end-to-end PWA playbook covering manifests, service workers, caching strategies, offline UX, and Workbox.
Dev & CodingIntermediate★ 473⑂ 52AI score 9/10Last updated: Nov 9, 2026
What it does
- Web app manifest: minimum required fields plus a full example with screenshots, shortcuts, share_target, protocol and file handlers — and a checklist.
- Service worker patterns: ready-to-copy install → activate → fetch lifecycle, old-cache cleanup, and registration code.
- Caching strategy selection: a table mapping Cache First / Network First / Stale While Revalidate / Network Only / Cache Only to resource types, each with implementation code.
- Workbox & build tools: vite-plugin-pwa, next-pwa, and CRA setups, plus a hand-written Workbox service worker with expiration and cacheable-response plugins.
- App-like features: install prompt handling, standalone-mode detection, push notifications, background sync for offline form queues.
- Testing: Lighthouse CLI command, manual checklists for installability/offline/performance budgets, and a common-mistakes → fix table.
Who it's for
- Front-end developers turning an existing web app into an installable PWA
- Teams shipping products that must work on flaky or offline networks
- Anyone fighting stale service-worker caches after a deploy
Examples
- PWA-ify a Vite app: add the VitePWA plugin with runtimeCaching (NetworkFirst for API, CacheFirst for images) to get precaching and offline support.
- Offline form submissions: wire Workbox's BackgroundSyncPlugin to
/api/submitPOSTs so they queue offline and replay automatically. - Custom install flow: intercept
beforeinstallpromptto show your own install button, then detectdisplay-mode: standaloneto adjust the UI post-install.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/aiskillstore/marketplace/HEAD/pending/alinaqi/pwa-development/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on AI Skill Mart. Copy the pending/alinaqi/pwa-development folder from the GitHub repo aiskillstore/marketplace into my ~/.claude/skills/pwa-development/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/aiskillstore/marketplace.git /tmp/aiskillstore && mkdir -p ~/.claude/skills && cp -r /tmp/aiskillstore/pending/alinaqi/pwa-development ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open your terminal.
- Clone the repo:
git clone https://github.com/aiskillstore/marketplace.git /tmp/aiskillstore - Create the skills directory:
mkdir -p ~/.claude/skills - Copy the skill:
cp -r /tmp/aiskillstore/pending/alinaqi/pwa-development ~/.claude/skills/ - Verify with
ls ~/.claude/skills/pwa-development— you should seeSKILL.md. - Restart Claude Code.
- This skill is auto-triggered (
user-invocable: false): it activates when you touchsw.js,service-worker.js,manifest.json, orworkbox-config.*, or when you ask for offline/caching work. - (Optional) To use the Workbox examples, install the deps in your project, e.g.
npm install vite-plugin-pwa -D.