.claude/skills/qa-testing/SKILL.md
React Native + Supabase 앱의 통합 정합성을 검증하고 테스트 코드를 작성하는 스킬. 경계면 교차 비교, Supabase RLS 검증, 라우팅 정합성, 데이터 흐름 추적, 단위/통합 테스트를 수행한다. QA, 테스트, 코드 검증, 버그 탐지, 품질 보증 시 반드시 이 스킬을 사용.
npx skillsauth add fosejary/simple-todo qa-testingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
React Native + Supabase 앱의 통합 정합성을 검증하고 테스트 코드를 작성한다.
"양쪽 동시 읽기" 원칙 — 한쪽만 읽으면 경계면 버그를 못 잡는다.
검증 단계:
1. hooks/ 내 모든 supabase.from('table').select() 호출 수집
2. 각 쿼리의 테이블명이 supabase/migrations/ SQL과 일치하는지 확인
3. .select('col1, col2') 컬럼명이 실제 테이블 컬럼과 일치하는지 확인
4. 결과를 받는 TypeScript 타입의 필드명과 쿼리 결과가 일치하는지 확인
5. 옵셔널 컬럼(nullable)이 타입에 ? 또는 | null로 표현되었는지 확인
검증 단계:
1. app/ 디렉토리의 파일 구조에서 URL 패턴 추출
- (group) → URL에서 제거
- [param] → 동적 세그먼트
2. 코드 내 모든 router.push(), <Link href>, router.replace() 수집
3. 각 네비게이션 대상이 실제 존재하는 라우트인지 확인
4. 동적 세그먼트 [id]에 올바른 값이 전달되는지 확인
검증 단계:
1. stores/ 내 모든 스토어의 state shape 추출
2. 컴포넌트에서 useStore(s => s.xxx)의 xxx가 실제 존재하는지 확인
3. 액션 호출 시 전달하는 파라미터 타입이 스토어 정의와 일치하는지 확인
검증 단계:
1. migrations/ SQL에서 모든 RLS 정책 추출
2. 각 테이블에 대해 SELECT/INSERT/UPDATE/DELETE별 정책 존재 여부 확인
3. 정책의 USING/WITH CHECK 조건이 인증 컨텍스트(auth.uid())를 올바르게 참조하는지 확인
4. user 테이블 자신의 데이터만 접근 가능한지 확인
5. 관계 테이블(FK)의 RLS가 부모 테이블 권한과 일관되는지 확인
DB 스키마 → Supabase 쿼리 → 커스텀 훅 → Zustand 스토어 → 컴포넌트 렌더링
각 단계 사이에 빈 구간(dead link)이 없는지 추적한다:
Jest + React Native Testing Library:
npx expo install jest @testing-library/react-native
우선순위:
| 판정 | 기준 | |------|------| | 릴리스 가능 | P0 버그 0개, P1 버그 2개 이하, 핵심 경계면 모두 통과 | | 조건부 | P0 버그 0개, P1 버그 3개 이상 (수정 후 릴리스) | | 불가 | P0 버그 1개 이상 (반드시 수정 필요) |
__tests__/ 디렉토리에 추가_workspace/11_qa_report.md에 검증 보고서development
React Native(Expo) + Supabase로 MVP 앱을 구현하는 개발 스킬. 프로젝트 초기화, 컴포넌트 구현, Supabase 연동, 네비게이션, 상태 관리를 포함한다. React Native 개발, Supabase 연동, 모바일 앱 구현 시 반드시 이 스킬을 사용.
development
React Native + Supabase 앱을 프로덕션 수준으로 강화하는 스킬. 에러 핸들링, 보안, 크래시 리포팅, 결제, 푸시 알림, 딥링크, 오프라인 지원을 구현한다. 프로덕션 강화, 보안 강화, 결제 연동, 푸시 알림 구현 시 반드시 이 스킬을 사용.
testing
MVP를 완성된 프로덕트로 전환하는 오케스트레이터. MVP 감사 → 기능 추가 + 프로덕션 강화 + 성능 최적화 + 그로스 (병렬) → QA 검증 → 릴리스 준비 전 과정을 수행한다. MVP를 프로덕트로 강화하고 싶을 때, 프로덕션 준비, 기능 확장, 앱 완성, 출시 준비, '프로덕트로 만들어줘', '앱 완성해줘', '프로덕션 강화해줘' 등의 요청에 반드시 이 스킬을 사용.
development
React Native(Expo) 앱의 성능을 최적화하는 스킬. 번들 크기, 렌더링, 리스트 가상화, 이미지, 네트워크, 앱 시작 시간을 최적화한다. 앱 성능 최적화, 속도 개선, 메모리 최적화 시 반드시 이 스킬을 사용.