---
name: "PICKIT: Debug"
description: PICKIT 기능의 QA 테스트를 실행합니다. Playwright로 카페24 넛지 발동 시나리오를 검증하고 버그를 리포트합니다.
category: PICKIT Workflow
tags: [pickit, qa, testing, playwright]
---

# PICKIT Debug

PICKIT 기능의 QA 테스트를 실행합니다.

**입력**: `/pickit:debug [테스트 대상]`  
예: `/pickit:debug 리뷰 요약 넛지` 또는 `/pickit:debug` (전체 시나리오)

---

## 컨텍스트

**테스트 환경**:
- 테스트베드 쇼핑몰: `teonteon20.cafe24.com`
- 서버: `localhost:8000` (FastAPI)
- 서버 시작: `uvicorn server.main:app --reload`

**카페24 QA 시나리오 (표준 6개)**:
1. PC 상품 페이지 — 마우스 이탈 넛지 (R01)
2. 모바일 상품 페이지 — 스크롤 역전 + 옵션 클릭 넛지
3. 사이즈 가이드 클릭 후 이탈 (R07)
4. 리뷰 탭 클릭 후 이탈 (R15)
5. 로그인 유저 개인화 넛지 (memberIdCrypt 존재 시)
6. LightGBM 폴백 — P(convert) < 0.3 시 넛지 미노출

---

## 단계

1. **테스트 범위 확인**

   입력이 없으면 AskUserQuestion:
   > "어떤 부분을 테스트하고 싶으신가요? (특정 Rule, 넛지 UI, LLM 연동, 전체 시나리오)"

2. **서버 상태 확인**

   ```bash
   curl -s http://localhost:8000/health || echo "서버가 실행 중이 아닙니다"
   ```
   
   서버 미실행 시 안내: "먼저 `uvicorn server.main:app --reload`로 서버를 실행해주세요."

3. **qa-dev 에이전트 위임**

   Agent 툴로 qa-dev 에이전트 호출:

   ```
   PICKIT 넛지 솔루션의 QA 테스트를 수행해주세요.

   테스트 대상: {테스트 범위}
   
   서버 시작 명령:
   python scripts/with_server.py \
     --server "uvicorn server.main:app --reload" --port 8000 \
     -- python {test_script}.py

   테스트해야 할 PICKIT 시나리오:
   
   ## 시나리오 1: 기본 넛지 발동 (Rule R01)
   - 상품 페이지 접속: http://localhost:3000/product/헤리티지-블레이저-시리즈/22/
   - 15초 체류 후 마우스를 viewport 밖으로 이동 (JS 트리거 시뮬레이션)
   - 넛지 UI가 #actionCart 위에 나타나는지 확인
   - 스크린샷: /tmp/pickit_nudge_r01.png
   
   ## 시나리오 2: 사이즈 가이드 → 이탈 넛지 (R07)
   - .size_guide_info 클릭
   - 옵션 미선택 상태에서 마우스 이탈
   - 사이즈 관련 넛지 메시지 확인
   
   ## 시나리오 3: 리뷰 탭 → 이탈 넛지 (R15)
   - a[href='#review'] 클릭
   - 리뷰 요약이 넛지 body에 포함되는지 확인
   
   ## 시나리오 4: LLM 넛지 vs 정적 폴백
   - POST /nudge/generate 에 mock 데이터 전송
   - 응답 JSON: icon, title, body, cta 필드 존재 확인
   - 응답 시간 1초 이내 확인

   ## 시나리오 5: 넛지 쿨다운 (동일 Rule 10분 미발동)
   - 넛지 발동 후 즉시 재트리거 시도
   - 넛지가 발동되지 않는지 확인

   ## 검증 포인트
   - innerHTML 사용 여부 (XSS 위험 — textContent여야 함)
   - 넛지 1일 5회 초과 여부 (localStorage 확인)
   - 모바일 viewport (375px)에서 넛지 UI 깨짐 여부

   카페24 DOM 선택자 참조:
   - 장바구니: button#actionCart
   - 넛지 앵커: button#actionCart → .xans-product-action → .btnWrap
   - 리뷰 탭: a[href='#review']
   - 사이즈 가이드: .size_guide_info

   ## 리포트 형식
   결과를 다음 형식으로 한국어로 리포트:
   ### 통과 / 실패 목록
   ### 발견된 버그 (재현 방법 + 스크린샷 경로)
   ### 권장 수정사항
   ```

4. **결과 요약**

   qa-dev 에이전트 결과를 바탕으로 버그 우선순위 정리:
   - 🔴 Critical: 넛지 미발동 / XSS 취약점 / 서버 500 에러
   - 🟡 Warning: 쿨다운 미작동 / UI 깨짐 / 느린 응답
   - 🟢 Minor: 카피 오타 / 아이콘 이슈

5. **완료 안내**

   버그 발견 시:
   > "버그 수정 후 `/pickit:debug`를 다시 실행하거나, `/pickit:build`로 수정을 시작하세요."
   
   통과 시:
   > "모든 시나리오 통과. `/pickit:nudge-gen`으로 넛지 카피를 생성하거나 카페24에 배포할 수 있습니다."
