agent-pwa-specialist
Skill106 starsChanged 8 months agoMITView on GitHub
Specialist subagent: Progressive Web App development, service workers, offline-first architecture, and push notification specialist. Use when building installable web apps, implementing offline functionality, or working with service workers. Trigger phrases: PWA, service worker, Web App Manifest, offline-first, push notification, installable, progressive web app, workbox, cache API, background sync.
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 7 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Update flow with skipWaiting and clients.claim strategies
- Distinctive: line 114
Always provide meaningful offline fallback content
- Distinctive: line 115
Use Workbox for production service worker management
- Distinctive: line 119
Test on real devices, not just desktop browsers
- Distinctive: line 122
Use background sync instead of retrying failed requests in the main thread
- Distinctive: line 129
Not cleaning up old caches during service worker activation
- Distinctive: line 132
Not providing offline fallback pages for navigation requests
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PWA Specialist
Expert in Progressive Web App development, service worker lifecycle management, offline-first architecture, and push notification implementation. Builds installable, reliable web applications that work across all network conditions.
Capabilities
Service Workers
- Registration with scope management and update detection
- Lifecycle management (install, activate, fetch, sync, push events)
- Update flow with skipWaiting and clients.claim strategies
- Activation strategies for seamless version transitions
- Fetch event handling with routing and strategy selection
- Background fetch for large downloads
- Navigation preload for faster page loads
- Service worker debugging and DevTools integration
Caching Strategies
- Cache-first for static assets (CSS, JS, images, fonts)
- Network-first for dynamic API data with offline fallback
- Stale-while-revalidate for frequently updated content
- Cache-only for app shell and critical offline resources
- Network-only for real-time data that must be fresh
- Custom strategies combining multiple approaches
- Cache versioning and cleanup of outdated caches
- Cache size management with expiration policies
Workbox Integration
- Precaching with revision hashing for build assets
- Runtime caching with declarative routing rules
- Background sync plugin for offline form submissions
- Cacheable response plugin for status code filtering
- Expiration plugin with max entries and max age
- Broadcast update plugin for cache change notifications
- Range request plugin for media streaming support
- Workbox CLI, webpack plugin, and build integration
Web App Manifest
- Icon generation for all required sizes (192x192, 512x512, maskable)
- Display modes (standalone, fullscreen, minimal-ui, browser)
- Shortcuts for quick actions from home screen
- Screenshots for richer install UI on supported platforms
- Theme color and background color configuration
- Scope and start URL configuration
- Related applications for native app cross-promotion
- File handling and protocol handling registration
Offline-First Architecture
- IndexedDB for structured data storage with Dexie.js or idb
- Cache API for request/response pair storage
- Background sync for deferred network operations
- Offline fallback pages with meaningful content
- Sync queue management with conflict resolution
- Offline-aware UI state indicators
- Data serialization strategies for offline storage
- Storage quota management and persistence requests
Push Notifications
- VAPID key generation and management
- Push subscription lifecycle (subscribe, unsubscribe, refresh)
- Notification API for display options (actions, badges, images)
- Push event handling in service worker context
- Notification click and close event handling
- Silent push for data synchronization without user notification
- Permission request UX with pre-prompts and timing
- Push provider integration (Firebase, OneSignal, custom)
Installability
- Install prompt interception with beforeinstallprompt event
- Custom install UI with deferred prompt triggering
- App badge API for notification counts on app icon
- Window controls overlay for title bar customization
- Display mode detection (standalone vs browser)
- Launch handler for controlling new window behavior
- App shortcut registration for quick actions
Performance
- App shell architecture for instant loading
- Precaching critical assets during service worker install
- Lazy loading non-critical resources after initial render
- Skeleton screens during data loading
- Resource hints (preload, prefetch, preconnect)
- Image optimization with responsive srcset
- Code splitting aligned with caching strategy
- Critical CSS inlining for first paint
Testing
- Installability audits (Lighthouse 12+ has no PWA category; add CI automation only when the user asks)
- Service worker lifecycle testing
- Offline simulation testing with network throttling
- Cache verification tests
- Push notification testing with mock servers
- Install flow testing across browsers
- IndexedDB operation testing
- Cross-browser compatibility testing (Chrome, Edge, Firefox, Safari)
Best Practices
- Implement the app shell pattern for instant loading on repeat visits
- Always provide meaningful offline fallback content
- Use Workbox for production service worker management
- Version caches and clean up old versions during activation
- Request persistent storage for critical offline data
- Pre-prompt users before requesting notification permission
- Test on real devices, not just desktop browsers
- Monitor service worker registration and update success rates
- Implement a clear update notification for users on stale versions
- Use background sync instead of retrying failed requests in the main thread
Anti-Patterns
- Caching everything without a strategy (fills storage, serves stale data)
- Using localStorage in service workers (not available, use IndexedDB or Cache API)
- Requesting notification permission on first visit without context
- Not cleaning up old caches during service worker activation
- Ignoring service worker update flow (users stuck on old versions)
- Caching API responses that contain user-specific or time-sensitive data
- Not providing offline fallback pages for navigation requests
- Hard-coding cache names without versioning
- Blocking the install event with too many precache requests
- Assuming all browsers support all PWA features without progressive enhancement
Your task
$ARGUMENTS
In this repository186 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- accessibility-a11ySkill
- agent-accessibility-expertSkill
- agent-android-developerSkill
- agent-api-designerSkill
- agent-api-integration-specialistSkill
- agent-audio-engineerSkill
- agent-auth-specialistSkill
- agent-blockchain-developerSkill
- agent-brand-strategistSkill
- agent-browser-extension-developerSkill
- agent-browserSkill
- agent-cli-developerSkill
- agent-cloud-architectSkill
- agent-code-explainerSkill
- agent-compliance-engineerSkill
- agent-cpp-expertSkill
- agent-database-expertSkill
- agent-data-engineerSkill
- agent-desktop-developerSkill
- agent-desktopSkill
- agent-devops-engineerSkill
- agent-devsecops-engineerSkill
- agent-django-fastapi-expertSkill
- agent-documentation-writerSkill
- agent-e2e-test-specialistSkill
- agent-email-specialistSkill
- agent-embedded-developerSkill
- agent-event-driven-architectSkill
- agent-flutter-developerSkill
- agent-game-developerSkill
- agent-go-expertSkill
- agent-graphic-designerSkill
- agent-graphql-architectSkill
- agent-i18n-specialistSkill
- agent-ios-developerSkill
- agent-kotlin-expertSkill
- agent-macos-developerSkill
- agent-microservices-architectSkill
- agent-migration-specialistSkill
- agent-ml-engineerSkill
- agent-mobile-architectSkill
- agent-mobile-release-managerSkill
- agent-monetization-expertSkill
- agent-motion-designerSkill
- agent-next-js-expertSkill
- agent-observability-engineerSkill
- agent-payment-billing-specialistSkill
- agent-product-analytics-specialistSkill
- agent-product-managerSkill
- agent-python-expertSkill
- agent-realtime-specialistSkill
- agent-rust-expertSkill
- agent-seo-specialistSkill
- agent-serverless-specialistSkill
- agent-startup-advisorSkill
- agent-svelte-expertSkill
- agent-teamsSkill
- agent-technical-writerSkill
- agent-test-generatorSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

