Pular para o conteúdo
Skillpedia
Sites e telas (frontend)48 mil · #3901

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/progressive-web-app/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/progressive-web-app/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-app

Ou 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.md
Conteú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:

  1. HTTPS — Necessário em produção para que os service workers possam se registrar (localhost é isento para desenvolvimento).
  2. Web App Manifest (manifest.json) — Torna o aplicativo instalável e define sua aparência nas telas iniciais do dispositivo.
  3. 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: standalone oculta a interface do navegador; minimal-ui mostra 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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3901
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas