Pwa Installability Criteria
PWA install prompt (beforeinstallprompt / Chrome install button) fires only when ALL four are true:
$ prime install @community/fact-pwa-installability-criteria Projection
Always in _index.xml · the agent never has to ask for this.
PwaInstallabilityCriteria [fact] v1.0.0
A browser install prompt appears only when all four installability criteria are simultaneously met: served over HTTPS, has a registered service worker with a fetch handler, has a manifest with name/icons/start_url/display, and is not already installed.
PWA install prompt (beforeinstallprompt / Chrome install button) fires only when ALL four are true:
1. HTTPS (or localhost for development) — plain HTTP never triggers the prompt.
2. Service worker registered and active with a fetch event handler — empty SW is insufficient.
3. Web app manifest linked in <head> with required fields:
- name (or short_name)
- icons: at least one 192×192px and one 512×512px PNG/WebP
- start_url
- display: "standalone" | "fullscreen" | "minimal-ui"
4. The app is not already installed on the device.
Failing any single criterion silently prevents the prompt — no error is thrown.
Lighthouse PWA audit reports each criterion independently.
Loaded when retrieval picks the atom as adjacent / supporting.
PwaInstallabilityCriteria [fact] v1.0.0
A browser install prompt appears only when all four installability criteria are simultaneously met: served over HTTPS, has a registered service worker with a fetch handler, has a manifest with name/icons/start_url/display, and is not already installed.
PWA install prompt (beforeinstallprompt / Chrome install button) fires only when ALL four are true:
1. HTTPS (or localhost for development) — plain HTTP never triggers the prompt.
2. Service worker registered and active with a fetch event handler — empty SW is insufficient.
3. Web app manifest linked in <head> with required fields:
- name (or short_name)
- icons: at least one 192×192px and one 512×512px PNG/WebP
- start_url
- display: "standalone" | "fullscreen" | "minimal-ui"
4. The app is not already installed on the device.
Failing any single criterion silently prevents the prompt — no error is thrown.
Lighthouse PWA audit reports each criterion independently.
Loaded when retrieval picks the atom as a focal / direct hit.
PwaInstallabilityCriteria [fact] v1.0.0
A browser install prompt appears only when all four installability criteria are simultaneously met: served over HTTPS, has a registered service worker with a fetch handler, has a manifest with name/icons/start_url/display, and is not already installed.
PWA install prompt (beforeinstallprompt / Chrome install button) fires only when ALL four are true:
1. HTTPS (or localhost for development) — plain HTTP never triggers the prompt.
2. Service worker registered and active with a fetch event handler — empty SW is insufficient.
3. Web app manifest linked in <head> with required fields:
- name (or short_name)
- icons: at least one 192×192px and one 512×512px PNG/WebP
- start_url
- display: "standalone" | "fullscreen" | "minimal-ui"
4. The app is not already installed on the device.
Failing any single criterion silently prevents the prompt — no error is thrown.
Lighthouse PWA audit reports each criterion independently.
Sources
Source
- github.com/ehmo/platform-design-skills, skills/web/SKILL.md §11.4 (MIT)
- https://web.dev/install-criteria/
Source
prime-system/examples/frontend-design/primes/compiled/@community/fact-pwa-installability-criteria/atom.yaml