progressive-web-app
Ajuda seu agente a criar aplicativos web que funcionam mesmo sem internet. Permite que eles sejam instalados no dispositivo do usuário e tenham carregamento mais rápido.
O que ela faz
Um PWA é um site que funciona como um aplicativo, podendo ser instalado no celular e funcionar mesmo sem internet. Ele usa tecnologias modernas para ser rápido e confiável.
Quando usar
- ✓Quando você quer que seu site funcione offline.
- ✓Quando você quer que seu site possa ser instalado na tela inicial do celular.
- ✓Quando você quer melhorar a velocidade e a confiabilidade do seu site.
Exemplo do que pedir para a IA
“Como faço para meu site funcionar offline e ser instalado como um app?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele funciona usando um 'manifesto' que descreve o app e um 'service worker', que é um código extra que roda em segundo plano. Esse código gerencia o cache (arquivos salvos) e permite que o site funcione sem conexão.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill progressive-web-appOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/progressive-web-app/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Progressive Web Apps (PWAs)
Visão Geral
Um Progressive Web App é um aplicativo web que usa recursos modernos do navegador para oferecer uma experiência rápida, confiável e instalável — mesmo em redes instáveis. Os três pilares obrigatórios são:
- HTTPS — Necessário em produção para que os service workers possam se registrar (localhost é isento para desenvolvimento).
- Web App Manifest (
manifest.json) — Torna o aplicativo instalável e define sua aparência nas telas iniciais do dispositivo. - Service Worker (
sw.js) — Um script em segundo plano que intercepta requisições de rede, gerencia caches e habilita funcionalidades offline.
Quando Usar Esta Habilidade
- Use quando o usuário quiser que seu aplicativo web funcione offline ou em redes instáveis.
- Use ao construir um projeto web mobile-first onde os usuários devem poder instalar o aplicativo em sua tela inicial.
- Use quando o usuário perguntar sobre estratégias de cache, service workers ou como melhorar o desempenho e a resiliência de um aplicativo web.
- Use quando o usuário mencionar Workbox, web app manifests, sincronização em segundo plano (background sync) ou notificações push para a web.
- Use quando o usuário perguntar "meu site pode ser instalado como um aplicativo?" ou "como faço meu site funcionar offline?" — mesmo que não use a palavra PWA.
Checklist de Entregas
Toda implementação de PWA deve incluir, no mínimo, estes arquivos:
-
index.html— Vincula o manifest, registra o service worker -
manifest.json— Metadados completos do aplicativo e conjunto de ícones -
sw.js— Service worker com manipuladores de install, activate e fetch -
app.js— Lógica principal do aplicativo com registro do SW e tratamento do prompt de instalação -
offline.html— Página de fallback exibida quando a navegação falha offline (obrigatório — arquivo ausente causará falha na instalação)
Passo 1: Web App Manifest (manifest.json)
Define como o aplicativo aparece quando instalado. Deve ser vinculado a partir de <head> via <link rel="manifest">.
{
"name": "My Awesome PWA",
"short_name": "MyPWA",
"description": "A fast, offline-capable Progressive Web App.",
"start_url": "/",
"scope": "/",
"display": "standalone",
"orientation": "portrait-primary",
"background_color": "#ffffff",
"theme_color": "#0055ff",
"icons": [
{
"src": "/assets/icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "any maskable"
},
{
"src": "/assets/icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any maskable"
}
],
"screenshots": [
{
"src": "/assets/screenshots/desktop.png",
"sizes": "1280x720",
"type": "image/png",
"form_factor": "wide"
}
]
}
Campos principais:
display:standaloneoculta a interface do navegador;minimal-uimostra controles mínimos;browseré a aba padrão.purpose: "maskable"em ícones habilita ícones adaptáveis no Android (a zona segura é importante — mantenha o conteúdo na área central de 80%).screenshotsé opcional, mas necessário para o diálogo de instalação aprimorado do Chrome no desktop.
Passo 2: Shell HTML (index.html)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My Awesome PWA</title>
<!-- PWA manifest -->
<link rel="manifest" href="/manifest.json">
<!-- Theme color for browser chrome -->
<meta name="theme-color" content="#0055ff">
<!-- iOS-specific (Safari doesn't fully use manifest) -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="apple-mobile-web-app-title" content="MyPWA">
<link rel="apple-touch-icon" href="/assets/icons/icon-192x192.png">
<link rel="stylesheet" href="/styles.css">
</head>
<body>
<div id="app">
<header><h1>My PWA</h1></header>
<main id="content">Loading...</main>
<!-- Optional: install button, hidden by default -->
<button id="install-btn" hidden>Install App</button>
</div>
<script src="/app.js"></script>
</body>
</html>
Passo 3: Registro do Service Worker e Prompt de Instalação (app.js)
// ─── Registro do Service Worker ───────────────────────────────────────────
if ('serviceWorker' in navigator) {
window.addEventListener('load', async () => {
try {
const registration = await navigator.serviceWorker.register('/sw.js');
console.log('[App] SW registrado, escopo:', registration.scope);
} catch (err) {
console.error('[App] Falha no registro do SW:', err);
}
});
}
…
Perguntas frequentes
O que é um 'service worker'?
É um script (código) que roda em segundo plano no navegador. Ele pode interceptar requisições de rede, gerenciar o cache de arquivos e permitir que seu site funcione offline.
O que é o 'Web App Manifest'?
É um arquivo JSON que contém informações sobre o seu aplicativo web, como nome, ícones, cores e como ele deve se comportar quando instalado. Ele permite que o site seja adicionado à tela inicial do dispositivo.
Preciso de HTTPS?
Sim, para que os 'service workers' funcionem em produção (sites publicados), é necessário usar HTTPS. O localhost (ambiente de desenvolvimento) é uma exceção.
Detalhes
Descrição original do autor
Build Progressive Web Apps (PWAs) with offline support, installability, and caching strategies. Trigger whenever the user mentions PWA, service workers, web app manifests, Workbox, 'add to home screen', or wants their web app to work offline, feel native, or be installable.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3901
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
angular-developer
Ajuda seu agente a criar código Angular e a dar conselhos sobre a estrutura do projeto. É útil para iniciar novos projetos, criar partes do código ou melhorar a performance e acessibilidade.
affaan-m/ECC
frontend-a11y
Ajuda seu agente a tornar interfaces web acessíveis para todos. Ele garante que sites e apps funcionem bem com leitores de tela e navegação por teclado.
affaan-m/ECC
frontend-patterns
Faz seu agente aplicar padrões modernos no desenvolvimento frontend. Ele otimiza performance, gerencia estado e segue boas práticas em React e Next.js.
affaan-m/ECC