PWA 개발 (프로그레시브 웹앱)
서비스워커·캐싱 전략·오프라인·Workbox까지 PWA 구축 전 과정을 코드 예제와 체크리스트로 안내하는 스킬입니다.
개발·코딩중급★ 473⑂ 52AI 점수 9/10마지막 업데이트: 2026. 11. 9.
무엇을 해주나
- 웹앱 매니페스트: 필수 필드부터 스크린샷, 바로가기, 공유 타깃, 파일 핸들러까지 포함한 전체 예제와 체크리스트를 제공합니다.
- 서비스워커 패턴: install → activate → fetch 라이프사이클, 오래된 캐시 정리, 등록 코드를 그대로 쓸 수 있는 형태로 제시합니다.
- 캐싱 전략 선택: Cache First / Network First / Stale While Revalidate / Network Only / Cache Only를 리소스 유형별로 매핑한 표와 구현 코드.
- Workbox & 빌드 도구: vite-plugin-pwa, next-pwa, CRA 템플릿 설정 예시와 수동 Workbox 서비스워커 작성법.
- 앱다운 기능: 설치 프롬프트(beforeinstallprompt), 스탠드얼론 모드 감지, 푸시 알림, 백그라운드 동기화.
- 검증: Lighthouse CLI 명령과 설치 가능성·오프라인·성능(FCP/LCP/CLS) 수동 테스트 체크리스트, 흔한 실수 ↔ 해결책 표.
이런 분께 추천
- 기존 웹 서비스를 설치 가능한 앱으로 전환하려는 프런트엔드 개발자
- 지하철·공장 등 네트워크가 불안정한 환경에서도 동작해야 하는 서비스를 만드는 팀
- 서비스워커 캐시가 꼬여 "배포했는데 옛날 화면이 보인다" 문제를 겪는 분
활용 예시
- Vite + React 앱 PWA화:
vite.config.js에 VitePWA 플러그인과 runtimeCaching 규칙(API는 NetworkFirst, 이미지는 CacheFirst)을 추가해 오프라인 지원을 붙입니다. - 오프라인 폼 제출: Workbox BackgroundSyncPlugin으로
/api/submitPOST를 큐에 넣고, 온라인 복귀 시 자동 재전송하도록 구성합니다. - 설치 유도 UX:
beforeinstallprompt를 가로채 커스텀 설치 버튼을 노출하고,display-mode: standalone으로 설치 여부를 판별해 UI를 바꿉니다.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/aiskillstore/marketplace/HEAD/pending/alinaqi/pwa-development/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
AI 스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 aiskillstore/marketplace 의 pending/alinaqi/pwa-development 폴더를 내 ~/.claude/skills/pwa-development/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/aiskillstore/marketplace.git /tmp/aiskillstore && mkdir -p ~/.claude/skills && cp -r /tmp/aiskillstore/pending/alinaqi/pwa-development ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 엽니다.
- 저장소를 내려받습니다:
git clone https://github.com/aiskillstore/marketplace.git /tmp/aiskillstore - 스킬 폴더를 만듭니다:
mkdir -p ~/.claude/skills - 스킬을 복사합니다:
cp -r /tmp/aiskillstore/pending/alinaqi/pwa-development ~/.claude/skills/ ls ~/.claude/skills/pwa-development로SKILL.md가 있는지 확인합니다.- Claude Code를 재시작합니다.
- 이 스킬은 자동 발동형(
user-invocable: false)이므로,sw.js·service-worker.js·manifest.json·workbox-config.*파일을 다루거나 "오프라인 지원을 추가해줘"라고 요청하면 적용됩니다. - (선택) Workbox 예제를 쓰려면 프로젝트에서
npm install vite-plugin-pwa -D등을 함께 설치하세요.