← ClaudeAtlas

pwalisted

This skill should be used when turning a web app into a Progressive Web App — making it installable, work offline, cache assets, or send push notifications. Trigger phrases include "make it a PWA", "installable app", "work offline", "offline mode", "service worker", "web push", "push notifications", "add to home screen", "app manifest", "cache assets", "make it feel like a native app". It sets up vite-plugin-pwa with the right caching strategy and avoids the stale-service-worker trap.
MartinOlivero/saas-builder · ★ 1 · Web & Frontend · score 74
Install: claude install-skill MartinOlivero/saas-builder
# PWA This skill makes a React + Vite app installable and offline-capable — the realistic middle ground between a plain website and a full native app. For a web-SaaS builder, this is the common mobile need; full React Native is rare and better served by Expo's own skills. Analogy: a PWA is a food truck. It's the same kitchen as the restaurant (your web app), but it can park on the user's home screen and keep serving when the main location's network is down. You don't need to build a second restaurant (a native app) to get there. ## When to use this vs going native - **PWA (this skill)** → installable, offline, push for an existing web app. Covers most "we need mobile" requests. - **Full React Native** → only when you need deep native APIs, app-store presence, or heavy device integration. Delegate to **`expo/skills`** (official, ~2k⭐) rather than rebuilding it here. At most, share TS types/API client via a monorepo `packages/shared`. ## Discovery (max 3 questions, only if unknown) 1. What's the goal — installable, offline reads, offline writes, or push notifications? 2. Is this an existing Vite app, or starting fresh? 3. Do you need push on iOS? (It only works for *installed* PWAs, Safari 16.4+.) ## Step 1 — Install and configure Add **`vite-plugin-pwa`** (~4k⭐, Workbox-based). Start with `registerType: 'autoUpdate'` and the `generateSW` strategy to precache the app shell + static assets. This plus a Web App Manifest and HTTPS = installable. ## Step 2 — Author the man