--- name: app-plan description: "앱 빌딩 프로젝트를 시작할 때 기획을 구체화하는 인터뷰 스킬. 사용자가 만들고 싶은 앱에 대해 기능 중심으로 질문하고, 그 답변을 기반으로 필요한 기술 스택과 문서 구조를 도출한다. '앱 만들려고', '새 프로젝트 시작', '앱 기획', 'app plan', '문서 구조 잡아줘', '프로젝트 세팅' 같은 말이 나오면 트리거한다." --- # App Plan Interview 새 앱 프로젝트를 시작할 때, Claude가 인터뷰를 통해 기획을 구체화하고 필요한 문서 구조를 도출하는 스킬. 목표: 세션 끝에 **이 앱에 맞는 문서 구조 + 실제 파일 생성**까지 완료하는 것. 비개발자도 기술 용어 없이 답할 수 있도록, 모든 질문은 기능/경험/상황 중심으로 묻는다. AI가 답변을 기술 스택으로 변환하는 건 내부에서 처리한다. --- ## 세션 흐름 ### Phase 1 — 앱 정체 파악 아래 4개를 한 번에 제시한다. > 앱 기획을 같이 구체화해볼게. 기술 용어 몰라도 되니까 편하게 답해줘. > > **1. 앱 이름이 있어? 없으면 지금 부르는 가칭이라도.** > > **2. 이 앱으로 뭘 할 수 있어야 해?** > (누가 뭘 하고 싶을 때 쓰는 앱인지 자유롭게 설명해줘) > > **3. 주로 누가 써?** > → 나 혼자 쓰는 개인 도구 > → 내가 만든 서비스를 다른 사람들이 씀 > → 회사/팀 내부에서만 씀 > > **4. 어디서 써?** > → 스마트폰 > → 컴퓨터 (웹브라우저) > → 둘 다 > > **5. 지금 이 앱이 없으면 어떻게 하고 있어?** > (노션 쓴다, 엑셀 쓴다, 그냥 못 한다 등) Phase 1 답변을 받은 후, 답변 내용을 내부적으로 분석해서 Phase 2에서 관련성 높은 질문만 골라서 제시한다. --- ### Phase 2 — 기능 구체화 아래 질문 목록에서 **Phase 1 답변과 연관된 것만** 골라서 묻는다. 전부 다 묻지 않는다. **[데이터]** ``` A. 앱을 껐다가 다시 켰을 때 어떻게 돼야 해? → 이전에 하던 게 그대로 남아있어야 함 → 매번 새로 시작해도 됨 (계산기, 타이머 같은 것) ``` **[계정]** ``` B. 앱에 '내 계정' 또는 '로그인' 개념이 있어? → 있음 (내 것과 남의 것이 구분됨) → 없음 (누구나 같은 화면을 봄) ``` B가 YES면 추가로 묻는다: ``` B-1. 내 데이터를 다른 사람도 볼 수 있어? → 아니, 나만 봄 → 일부는 공개 (프로필, 게시물 등) → 전부 공개 ``` **[소셜/공유]** ``` C. 다른 사람이 올린 걸 내가 볼 수 있어야 해? (피드, 게시판, 공유 같은 기능) → 있음 / 없음 ``` **[결제]** ``` D. 이 앱으로 돈을 받을 거야? → 없음 (무료) → 있음 → 어떻게? → 한 번만 결제 (앱 구매, 기능 잠금 해제) → 매달 구독 → 기능별로 따로 → 아직 모름 ``` **[AI]** ``` E. AI가 뭔가를 만들어주거나 분석해줘야 해? (글 써주기, 이미지 생성, 추천, 분류, 요약 등) → 있음 (어떤 걸?) / 없음 ``` **[외부 연동]** ``` F. 다른 서비스에서 정보를 가져와야 해? (지도, 날씨, SNS 로그인, 공공데이터 등) → 있음 (어떤 것?) / 없음 ``` **[파일/미디어]** ``` G. 사진이나 파일을 올릴 수 있어야 해? → 있음 / 없음 ``` **[알림]** ``` H. 앱이 나한테 알림을 보내줘야 해? (푸시 알림, 이메일, 문자 등) → 있음 (어떤 상황에?) / 없음 ``` **[실시간 협업]** ``` I. 다른 사람과 동시에 같은 화면에서 작업해야 해? (구글 독스처럼 함께 편집) → 있음 / 없음 ``` --- ### Phase 2 — 디자인 기능 질문 직후 이어서 묻는다. ``` J. 이미 만들어진 디자인이 있어? → 피그마 파일 있음 → 따라 하고 싶은 앱/사이트만 있음 → 없음, 처음부터 만들어야 함 K. 브랜드 컬러, 로고, 폰트가 정해져 있어? → 있음 / 없음 L. 앱 안에 화면이 몇 개 정도 될 것 같아? → 1~3개 (심플한 도구) → 4~10개 → 10개 이상 (탭, 메뉴, 여러 섹션이 있는 구조) 그리고 버튼, 카드, 입력창 같은 요소가 여러 화면에서 반복해서 나와? → 응, 비슷한 요소가 여러 곳에 쓰여 → 아니, 화면마다 거의 달라 M. 지금 머릿속에 그리는 앱에서 이런 장면이 있어? (해당하는 것 모두 골라줘) □ 카드를 옆으로 스와이프하는 동작 □ 화면 전환할 때 슬라이드나 페이드 효과 □ 버튼 누르면 뭔가 튀어오르거나 바뀌는 반응 □ 로딩 중 애니메이션 (빙글빙글, 스켈레톤 등) □ 드래그해서 순서 바꾸기 □ 차트나 그래프 같은 데이터 시각화 □ 위에 해당하는 거 없음, 정보만 잘 보이면 됨 ``` --- ### Phase 3 — 배포 & 개발 방식 ``` 1. 완성되면 어떻게 사람들한테 전달할 거야? → 앱스토어 (iOS / 안드로이드 / 둘 다) → 웹 링크로 공유 → 나 혼자 또는 팀 내부에서만 씀 2. 혼자 만들어, 아니면 팀이랑? 3. 개발할 때 어떤 방식으로 할 거야? → Claude, Cursor 같은 AI 코딩 도구 쓸 것 같음 → 직접 코딩 → 아직 모름 ``` --- ## 내부 변환 테이블 (유저에게 보이지 않음) 인터뷰 답변을 아래 테이블로 변환해서 필요한 문서를 결정한다. | 답변 | 기술 요소 | 생성 문서 | |---|---|---| | A: 데이터 남아야 함 | DB | `DB.md` | | B: 계정 있음 | 인증 시스템 | `AUTH.md` | | B-1: 일부/전부 공개 | 소셜 기능 | `AUTH.md` 심화 | | C: 남의 것도 봄 | 피드/공유 구조 | `AUTH.md` + `DB.md` | | D: 돈 받음 | 결제 시스템 | `BILLING.md` | | E: AI 기능 있음 | AI API 연동 | `AI_SYSTEMS.md` | | F: 외부 서비스 연동 | 외부 API | `API.md` | | G: 파일 업로드 | 파일 스토리지 | `ARCHITECTURE.md` | | H: 알림 있음 | 알림 서비스 | `ARCHITECTURE.md` | | I: 실시간 협업 | 웹소켓/리얼타임 | `ARCHITECTURE.md` | | L: 화면 많음 + 반복 요소 | 컴포넌트 시스템 | `DESIGN.md` | | M: 인터랙션 여럿 | 모션/애니메이션 스펙 | `DESIGN.md` 심화 | | Phase 3-1: 앱스토어 | 모바일 빌드/배포 | `MOBILE_APP.md` | | Phase 3-3: AI 도구 사용 | — | `CLAUDE.md` 상세 + `ref/prompts/` | **항상 생성하는 문서** (조건 없음): `README.md`, `CLAUDE.md`, `docs/INDEX.md`, `docs/QUICK_REF.md`, `docs/DEPLOY.md`, `docs/TEST.md`, `docs/ROADMAP.md`, `docs/ref/README.md` --- ## 최종 출력 모든 Phase가 끝나면 아래 형식으로 결과를 보여준다. ``` ## 이 앱에 필요한 문서 구조 [항상 생성] README.md CLAUDE.md docs/ INDEX.md QUICK_REF.md DEPLOY.md TEST.md ROADMAP.md ref/ README.md [이 앱에 추가] docs/AUTH.md ← 계정/로그인 있음 docs/DB.md ← 데이터 저장 필요 docs/BILLING.md ← 구독 결제 docs/AI_SYSTEMS.md ← AI 기능 포함 docs/DESIGN.md ← 화면 다수 + 반복 컴포넌트 docs/MOBILE_APP.md ← 앱스토어 배포 docs/ref/prompts/ ← AI 도구로 개발 [생략] API.md, ARCHITECTURE.md ... (이유 한 줄씩) ``` 그 다음 묻는다: > 이 구조로 파일을 생성할까? > 생성하면 각 문서에 제목, Purpose, 주요 섹션 뼈대까지 잡아줄게. YES면 프로젝트 루트에 위 구조대로 파일을 생성한다. 각 파일은 아래 섹션 템플릿을 따른다 (상세 원칙은 `principles/DOCS_PRINCIPLES.md` 참고): ```md # [FILENAME] ## Purpose ## Current State ## Current Rules ## [주제별 핵심 섹션] ## Related Docs ``` --- ## 톤 편하고 직접적인 대화체. 기술 용어가 나오면 바로 풀어서 설명한다. 질문은 한 번에 너무 많이 쏟아내지 않는다 — Phase별로 끊어서 제시한다.