Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
jwynia avatar

Pwa Development

  • 408 installs
  • 133 repo stars
  • Updated February 24, 2026
  • jwynia/agent-skills

pwa-development is a jwynia agent skill that ships installable, offline-capable progressive web apps with service workers, manifests, and app-like navigation for developers building SaaS or mobile-first web products with

About

pwa-development is a jwynia/agent-skills workflow for turning web apps into installable progressive web applications. The skill guides service worker setup, web app manifest configuration, responsive layouts, and navigation patterns that feel native on phones and desktops. Developers reach for pwa-development when a SaaS or mobile-first product needs offline resilience, home-screen installation, and app-shell UX without publishing to iOS or Android stores. It focuses on production PWA mechanics—caching strategies, manifest fields, and install prompts—rather than generic responsive CSS alone.

  • service worker caching
  • web app manifest setup
  • install and offline UX
  • responsive app-shell patterns
  • push and background sync basics

Pwa Development by the numbers

  • 408 all-time installs (skills.sh)
  • +3 installs in the week ending Aug 2, 2026 (Skillselion tracking)
  • Ranked #659 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/jwynia/agent-skills --skill pwa-development

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs408
repo stars133
Last updatedFebruary 24, 2026
Repositoryjwynia/agent-skills

How do you build an installable offline-capable PWA?

Ship installable, offline-capable web apps with service workers, manifests, responsive UI, and app-like navigation for SaaS or mobile-first products without native stores.

Who is it for?

Frontend developers shipping SaaS or mobile-first web apps who need install prompts and offline support without native store distribution.

Skip if: Teams needing native iOS or Android binaries should use mobile platform skills instead of browser-only PWA patterns.

When should I use this skill?

A web app needs service workers, manifest, offline caching, and installable app-shell navigation for production users.

What you get

Service worker files, web app manifest, responsive UI, and app-shell navigation ready for install and offline use.

  • Service worker implementation
  • Web app manifest JSON
  • App-shell navigation and responsive UI

Files

SKILL.mdMarkdownGitHub ↗

PWA Development

Implement Progressive Web App features including service workers, caching strategies, offline support, and installation prompts for React and Svelte applications.

When to Use This Skill

Use this skill when:

  • Adding PWA capabilities to a web app
  • Implementing offline support
  • Creating service worker caching strategies
  • Debugging PWA installation issues
  • Handling iOS-specific PWA quirks

Do NOT use this skill when:

  • Building backend APIs
  • Working on requirements/design (use those skills first)
  • Need complex offline-first architecture (design first)

Core Principle

PWAs fail when offline behavior is an afterthought. A PWA is not "add service worker to existing app." It's a fundamental architectural decision about data flow, caching, and connectivity failure.

Diagnostic States

P0: No PWA Setup

Symptoms: No manifest.json, no service worker, online-only

Interventions:

  • Run scripts/manifest-generator.ts to create manifest
  • Add <link rel="manifest"> to HTML head
  • Generate minimal SW with scripts/sw-scaffolder.ts

P1: Basic Manifest Only

Symptoms: Manifest exists but SW missing, breaks offline

Key Questions:

  • What content MUST be available offline?
  • What should always be fresh (network-first)?

Interventions:

  • Use scripts/cache-strategy-advisor.ts
  • Implement app shell pattern
  • Add offline fallback page

P2: Caching Issues

Symptoms: Stale content, unexpected caching behavior

Interventions:

  • Audit with scripts/pwa-audit.ts
  • Map resources to strategies using data/caching-strategies.json
  • Add cache expiration and cleanup

P3: Update Problems

Symptoms: Users stuck on old versions, multiple refreshes needed

Interventions:

  • Implement skipWaiting/clients.claim appropriately
  • Add update notification UI (assets/update-prompt.tsx)
  • Handle "waiting" state properly

P4: Offline Data Gaps

Symptoms: User actions lost offline, no sync indicator

Interventions:

  • Implement IndexedDB for offline storage
  • Add Background Sync API
  • Create sync status UI

P5: iOS Issues

Symptoms: Works on Android, breaks on iOS

Interventions:

  • Review data/ios-quirks.json
  • Add apple-mobile-web-app meta tags
  • Handle storage eviction gracefully

P6: Production Ready

Indicators: Lighthouse PWA 100, works offline, updates cleanly

Caching Strategies

StrategyUse ForBehavior
Cache FirstStatic assets, fontsServe from cache, update in background
Network FirstAPI data, user contentTry network, fall back to cache
Stale While RevalidateSemi-static contentServe stale, update cache for next time
Network OnlyAuth, real-time dataAlways network, no caching

Available Scripts

ScriptPurpose
manifest-generator.tsGenerate manifest.json
sw-scaffolder.tsGenerate service worker
cache-strategy-advisor.tsRecommend caching strategies
pwa-audit.tsValidate PWA configuration

Anti-Patterns

The Everything Cache

Precaching every asset - massive initial download. Fix: Precache only critical app shell. Runtime cache content.

The Immortal Cache

Never expiring caches - stale content forever. Fix: Cache versioning, delete old on activate, set max age.

The Silent Update

Forcing updates without notification. Fix: Notify user, let them choose when to refresh.

The iOS Afterthought

Building for Chrome, testing iOS last. Fix: Test iOS early. Accept iOS limitations.

Framework Quick Reference

React + Vite

npm i -D vite-plugin-pwa

SvelteKit

npm i -D @vite-pwa/sveltekit

Next.js

npm i next-pwa

See data/framework-patterns.json for configuration.

Debugging Checklist

1. DevTools > Application > Manifest - Valid? 2. DevTools > Application > Service Workers - Registered? 3. DevTools > Application > Cache Storage - What's cached? 4. DevTools > Network > Offline - Works offline? 5. Lighthouse > PWA - Score and failures? 6. iOS Safari - Test on actual device

Related Skills

  • requirements-analysis - Determine offline requirements
  • system-design - PWA architecture decisions
  • react-pwa - React-specific PWA implementation

Related skills

How it compares

Use pwa-development for browser-installable offline web apps; pick native mobile skills when platform APIs or store distribution require iOS or Android binaries.

FAQ

What PWA components does pwa-development cover?

pwa-development covers service workers, web app manifests, responsive UI, and app-like navigation for installable progressive web apps. The skill targets SaaS and mobile-first products that need offline capability without native iOS or Android store distribution.

When should developers choose PWA over native apps?

Developers should choose pwa-development when a web product needs installability and offline support through browser standards. pwa-development fits teams avoiding native store releases while still delivering home-screen installation and cached offline UX.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.