---
name: "PICKIT: Plan"
description: PICKIT 기능의 구현 계획을 수립합니다. 아키텍처 설계, DB 스키마, API 설계, 컴포넌트 분해를 산출합니다.
category: PICKIT Workflow
tags: [pickit, planning, architecture]
---

# PICKIT Plan

PICKIT 기능의 구현 계획을 수립합니다.

**입력**: `/pickit:plan <기능 설명>`  
예: `/pickit:plan 리뷰 LLM 요약 기능 구현`

---

## 컨텍스트

이 프로젝트는 **카페24 쇼핑몰 AI 넛지 솔루션**입니다. 핵심 구성:
- `pickit.js` — 카페24 페이지에 삽입되는 클라이언트 수집 엔진 (순수 JS, 외부 의존성 없음)
- FastAPI 서버 (`/server`) — 이벤트 수집, LLM 넛지 생성, 컨텍스트 관리
- Next.js + Supabase 대시보드 (`/web`) — 쇼핑몰 오너용 관리 UI
- PostgreSQL 스키마 (`/data/schema.sql`) — events, nudges, orders, product_contexts, user_contexts

**개발 플랜 참조**: `PICKIT_DEV_PLAN_v2.md`

---

## 단계

1. **입력 없을 경우 질문**

   AskUserQuestion으로:
   > "어떤 기능을 계획하고 싶으신가요? (예: 리뷰 요약, 개인화 넛지, 새 Rule 추가)"

2. **현재 코드베이스 파악**

   다음 파일들을 읽어 현재 상태 확인:
   - `PICKIT_DEV_PLAN_v2.md` — 전체 아키텍처
   - `data/schema.sql` — 현재 DB 스키마
   - `server/main.py` — 현재 API 엔드포인트
   - `client/pickit.js` — 현재 클라이언트 코드
   - `rules/rules.json` — 현재 Rule 정의

3. **Plan 에이전트 위임**

   Agent 툴로 `subagent_type: "Plan"` 에이전트를 호출:

   ```
   다음 PICKIT 기능의 구현 계획을 설계해주세요: {기능 설명}

   현재 아키텍처:
   - 클라이언트: pickit.js (순수 JS, 카페24 DOM 조작)
   - 백엔드: FastAPI (Python), Railway PostgreSQL, Redis
   - DB: events, nudges, orders, product_contexts, user_contexts, shop_profiles, bandit_state
   - LLM: Google Gemini (`gemini-2.0-flash`), GEMINI_API_KEY 환경변수
   - 대시보드: Next.js App Router (TypeScript), Tailwind CSS v4, shadcn/ui

   다음을 포함한 계획을 작성해주세요:
   1. 변경이 필요한 파일 목록 (우선순위 순)
   2. DB 스키마 변경 (필요 시)
   3. 새 API 엔드포인트 (필요 시)
   4. pickit.js 변경사항 (필요 시)
   5. 구현 순서 및 의존성
   6. 테스트 포인트
   ```

4. **계획 문서 저장**

   `pickit/plans/{kebab-case-name}.md`에 저장:
   ```markdown
   # {기능명} 구현 계획

   ## 목표
   ## 변경 파일
   ## DB 변경
   ## API 변경
   ## 구현 단계
   ## 테스트 포인트
   ```

5. **다음 단계 안내**

   계획 완료 후:
   > "계획이 완성됐습니다. `/pickit:build {계획명}`으로 구현을 시작할 수 있습니다."

   Rule/트리거 시스템 초기 세팅이 필요한 경우:
   > "`/pickit:rules-init`으로 T01~T10 × 8종 넛지 타입의 전체 Rule을 자동 생성할 수 있습니다."
