원클릭으로
add-pwa-feature
PWA 기능, 서비스워커 및 오프라인 상태 관련 로직을 추가하는 패턴 가이드
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
PWA 기능, 서비스워커 및 오프라인 상태 관련 로직을 추가하는 패턴 가이드
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
프로젝트 구조와 네이밍 컨벤션에 맞게 새 React 컴포넌트를 추가하는 가이드
PDF(인쇄 레이아웃) 및 Excel(xlsx 동적 로딩) 파일 내보내기 구현 및 갱신 패턴 가이드
Gemini 3.1 Flash Lite API를 사용한 계기판 OCR 및 증빙 서류 AI 판별 연동 패턴 가이드
Sentry에 잡힌 환경/브라우저/외부 의존성 발 노이즈 에러를 필터링한다. 사용자가 "Sentry 노이즈", "Sentry 에러 필터", "이 에러 무시", "Sentry에 자꾸 뜨는 X 막아줘" 등을 요청할 때 발동한다.
React 단위 테스트(Vitest) 및 E2E 테스트(Playwright) 작성 컨벤션과 Mocking 가이드
Cloud Functions, 프론트엔드 빌드 및 배포 시 발생하는 다양한 오류(Node 버전, 의존성 충돌, 소스맵)의 해결 패턴을 모아둔 가이드.
| name | add-pwa-feature |
| description | PWA 기능, 서비스워커 및 오프라인 상태 관련 로직을 추가하는 패턴 가이드 |
오프라인 우선주의(Offline-First) 및 PWA(Progressive Web App) 앱 업데이트를 처리하기 위한 스킬입니다. 차량운행일지는 환경 특성상 탭 오프라인 지원이 핵심 과제 중 하나입니다.
단순히 navigator.onLine만을 사용하는 것을 지양합니다. 상태 관리를 통해 전역으로 UI를 핸들링합니다.
// src/hooks/useNetworkStatus.ts (권장 훅 사용 예시)
import { useState, useEffect } from 'react';
export function useNetworkStatus() {
const [isOnline, setIsOnline] = useState(navigator.onLine);
useEffect(() => {
const handleOnline = () => setIsOnline(true);
const handleOffline = () => setIsOnline(false);
window.addEventListener('online', handleOnline);
window.addEventListener('offline', handleOffline);
return () => {
window.removeEventListener('online', handleOnline);
window.removeEventListener('offline', handleOffline);
};
}, []);
return isOnline;
}
서비스워커(registerSW.js 또는 pwa-plugin 설정 파일)의 캐시된 리소스를 날리고 최신 버전을 적용해야 할 때 다음과 같은 패턴을 권장합니다.
vite-plugin-pwa를 사용 중이라면 autoUpdate 활성화를 기본으로 합니다.IndexedDB 나 dexie.js 등 브라우저 기반 저장소를 사용하는 로직 초안을 제안하세요.useRetry)하는 설계를 병행해야 합니다.