기획
기획 인터뷰 시키기
아이디어는 있는데 무엇부터 정해야 할지 모를 때
보기:
나는 "반려식물 맞춤 물주기 알림 웹앱"을 만들려고 해. 기획서를 완성할 수 있게 나에게 질문을 하나씩 해줘. 순서: 핵심 사용자(한 사람) → 그 사람의 문제 → 핵심 기능 3개 → 성공 기준 → 안 만들 것. 내 답이 모호하면 더 구체적으로 되물어줘. 다 끝나면 PLAN.md로 정리해줘.
Prompts
강의에서 실제로 쓴 요청문을 상황별로 모았습니다. 복사해서 AI 도구에 붙여넣고 [대괄호] 안만 내 상황으로 바꾸거나, 실제 작성 사례 탭을 눌러 완성된 형태를 바로 확인하세요.
Claude Code에게 프롬프트를 요청하여 완성한 실제 동작하는 라이브 데모입니다.
아이디어는 있는데 무엇부터 정해야 할지 모를 때
나는 "반려식물 맞춤 물주기 알림 웹앱"을 만들려고 해. 기획서를 완성할 수 있게 나에게 질문을 하나씩 해줘. 순서: 핵심 사용자(한 사람) → 그 사람의 문제 → 핵심 기능 3개 → 성공 기준 → 안 만들 것. 내 답이 모호하면 더 구체적으로 되물어줘. 다 끝나면 PLAN.md로 정리해줘.
기능이 너무 커서 어디서 시작할지 모를 때
PLAN.md의 핵심 기능 "식물 등록 및 물주기 알림"을 '한 번의 대화로 완성되고 브라우저에서 눈으로 확인 가능한' 조각으로 쪼개줘. - 1단계: 빈 식물 목록 화면 UI와 '식물 추가' 버튼 (/plants) - 2단계: 가짜(mock) 데이터 3종 카드로 카드 배치 확인 - 3단계: 식물 추가 모달 폼과 로컬 state 연결 - 4단계: Supabase plants 테이블 연동 및 실제 저장 결과를 TODO.md에 체크박스 목록으로 추가해줘. 아직 코드는 쓰지 마.
어떻게 만들지 감이 안 올 때 — 코드부터 나오는 걸 막기
사용자가 결제하지 않고도 매일 카카오톡으로 물주기 알림을 받게 하는 방법을 3가지 알려줘. 각 방법마다: 한 줄 설명 / 장점 / 단점 / 입문자 난이도(상·중·하). 아직 코드는 쓰지 말고, 내가 고르면 그때 만들어줘.
새 화면 조각을 만들 때의 기본형
PricingCard 컴포넌트를 src/components/에 만들어줘. [동작] - 월 19,000원 프로 플랜과 무료 플랜 2종 요금제 카드 비교 - 프로 플랜 카드 상단에 "가장 인기" 추천 뱃지 강조 - '시작하기' 버튼 클릭 시 결제 안내 모달 열림 [하지 말 것] - 다른 파일은 건드리지 마. page.tsx에 배치만 해줘. - 새 라이브러리 설치하지 마. - 스타일은 Tailwind로 최소한만. DESIGN.md가 있으면 따라줘. 완료되면 브라우저에서 확인하는 방법을 3단계로 알려줘.
기능은 되는데 화면이 허전하거나 로딩 중에 멈춘 것처럼 보일 때
[컴포넌트/화면 이름]에 세 가지 상태를 추가해줘. 1. 로딩 중: 실제 내용과 같은 모양의 회색 skeleton 2. 비어 있음: "[안내 문구]" 한 줄과 "[행동 버튼 문구]" 버튼 3. 에러: 빨간 글씨로 메시지와 "다시 시도" 버튼 기존 구조와 스타일은 유지하고, 상태 처리만 추가해줘.
PC에서는 괜찮은데 폰에서 깨질 때
모든 화면을 375px 너비(아이폰 기준)에서 점검해서 고쳐줘. - 가로 스크롤이 생기지 않게 - 버튼은 최소 높이 44px, 터치 영역 확보 - 본문 글자는 최소 16px - 여러 열 배치는 폰에서 한 열로 고친 파일과 무엇을 바꿨는지 목록으로 알려줘.
DESIGN.md를 만든 뒤 화면 하나씩 정리할 때
DESIGN.md 규칙에 맞게 [파일 경로] 화면만 다시 스타일해줘. - 구조와 기능은 바꾸지 말고 색·글꼴·간격만 - 강조색은 버튼과 링크에만 - 간격은 DESIGN.md에 적힌 값만 사용 - 다른 파일은 건드리지 마
Supabase에 어떤 테이블과 컬럼을 만들지 모를 때
PLAN.md의 기능을 위해 필요한 데이터베이스 테이블을 설계해줘. - 테이블마다: 이름 / 컬럼(이름, 타입, 설명) / 다른 테이블과의 관계 - 모든 테이블에 id, created_at, user_id 포함 - 지금 필요한 최소한만. 나중을 위한 컬럼은 넣지 마. Supabase SQL Editor에 붙여넣을 수 있는 CREATE TABLE 문도 같이 줘. RLS 정책은 "로그인한 사용자가 자기 user_id 행만" 기준으로.
API 키를 브라우저에 노출하지 않고 외부 서비스를 부를 때
src/app/api/[이름]/route.ts를 만들어줘.
- POST로 { [입력 필드] }를 받는다
- process.env.[키 이름]으로 [외부 API]를 호출한다
- 응답을 { [출력 필드] } 형태로 정리해서 반환한다
- 입력이 비었거나 API가 실패하면 400/500과 { error: "메시지" }
- 키는 절대 클라이언트로 보내지 않는다
다른 파일은 건드리지 말고, 터미널에서 curl로 테스트하는 명령을 알려줘.테이블 하나에 대한 만들기·읽기·고치기·지우기를 붙일 때
[테이블 이름] 테이블에 대한 CRUD를 만들어줘. - 목록 화면 /[경로]: 최신순, 로그인한 사용자 것만 - 추가: [입력 필드] 폼 → insert → 목록 갱신 - 수정: 항목 클릭 → 같은 폼으로 편집 → update - 삭제: 확인창 뒤 delete - 각 동작 후 성공/실패를 화면에 짧게 표시 Supabase 클라이언트는 src/lib/supabase.ts를 재사용해줘.
뭔가 안 될 때 — "안 돼" 대신 이 형식으로
[증상] [기대] [재현 순서] 1. 2. 3. [에러 메시지] (콘솔/터미널에서 그대로 복사) [최근 변경] 원인을 먼저 설명하고, 고치기 전에 무엇을 바꿀지 알려줘. 한 번에 하나만 고쳐줘.
같은 버그를 여러 번 고쳐도 안 될 때
이 문제로 지금까지 [N]번 시도했는데 아직 안 돼. 잠깐 멈추고: 1. 지금까지 시도한 것과 결과를 정리해줘 2. 원인이 될 수 있는 것을 3가지 나열해줘 (가능성 높은 순) 3. 각 원인을 확인하는 방법을 알려줘 아직 코드는 고치지 마. 내가 확인 결과를 알려줄게.
에러 없이 그냥 이상하게 동작할 때
[파일/함수]에서 [값 이름]이 실제로 어떤 값인지 확인하고 싶어. [시점: 예 - API 응답 직후 / 버튼 클릭 직후]에 console.log로 해당 값과 타입을 출력해줘. 로그 앞에 "[DEBUG]" 표시를 붙여서 나중에 찾기 쉽게. 확인이 끝나면 "DEBUG 로그 지워줘"라고 할게.
AI가 만든 파일을 읽어보고 싶을 때
[파일 경로]를 읽고 코딩을 모르는 사람에게 설명하듯 알려줘. - 이 파일이 하는 일 한 줄 - 기억하는 값(state)이 몇 개이고 각각 무엇인지 - 사용자 행동에 반응하는 곳이 어디인지 - 다른 파일과 어떻게 연결되는지 코드는 인용하지 말고 말로만.
파일이 너무 길어지거나 같은 코드가 여러 곳에 있을 때
[파일 경로]를 정리해줘. - 기능과 화면은 1픽셀도 바뀌면 안 돼 - 200줄이 넘으면 의미 단위로 컴포넌트를 분리 - 같은 코드가 두 번 이상 나오면 함수로 묶기 - 안 쓰는 import, 변수, 주석 삭제 정리 후 무엇을 어디로 옮겼는지 목록으로 알려주고, 확인 방법도 알려줘.
커밋하기 전 AI에게 한 번 훑게 할 때
git diff로 지금 바뀐 내용을 보고 리뷰해줘. - 의도하지 않은 변경이 섞여 있는지 - 비밀 키나 개인정보가 코드에 들어갔는지 - 명백한 버그나 빠진 에러 처리 - 삭제해도 되는 디버그 코드 문제가 없으면 커밋 메시지를 한국어로 한 줄 제안해줘. 아직 커밋은 하지 마.
npm run build 또는 Vercel 배포가 실패할 때
npm run build가 실패했어. 에러는 아래와 같아. [에러 붙여넣기] 기능은 바꾸지 말고 빌드가 통과하게만 고쳐줘. 타입 에러라면 any로 덮지 말고 정확한 타입으로.
로컬은 되는데 배포에서만 안 될 때
로컬에서는 되는데 Vercel 배포에서만 [증상]이 생겨. 1. 코드에서 process.env.로 읽는 환경변수를 전부 찾아 목록으로 만들어줘 2. 각각 NEXT_PUBLIC_ 접두사가 맞게 붙어 있는지 확인해줘 3. .env.local에 있는 것과 비교해서 Vercel에 추가해야 할 목록을 알려줘 값은 출력하지 말고 이름만.
매일/매주 자동으로 돌아가는 작업을 만들 때
[주기, 예: 매일 아침 8시 KST]에 실행되는 Vercel Cron을 추가해줘. - src/app/api/cron/[이름]/route.ts - CRON_SECRET 환경변수로 외부 호출 차단 - 지금은 실행 로그만 남기고, 실제 동작은 TODO 주석으로 - vercel.json 설정 포함 Vercel 대시보드에서 실행 기록을 확인하는 방법도 알려줘.
프로젝트를 새로 시작할 때
PLAN.md를 읽고 이 프로젝트의 CLAUDE.md를 만들어줘. 항목: 프로젝트 소개 / 기술 스택 / 작업 규칙 / 하지 말 것 / 자주 쓰는 명령 작업 규칙에 반드시 포함: - 요청한 파일만 수정, 다른 파일은 먼저 물어보기 - 새 라이브러리는 이유 설명 후 허락받고 설치 - 완료 후 확인 방법 3단계 안내 - 설명은 한국어로 짧게, 코드 먼저
저장소를 남에게 보여주기 전에
이 프로젝트의 README.md를 써줘. - 한 줄 소개 + 배포 주소 - 주요 기능 3개 (스크린샷 자리 표시) - 로컬 실행 방법 (설치, 환경변수 이름, 실행 명령) - 기술 스택 - 폴더 구조 간단히 한국어로, 짧게. 마케팅 문구는 빼고.
사용자에게 업데이트 내용을 알릴 때
최근 [N]개 커밋(git log)을 보고 사용자에게 보여줄 업데이트 안내를 써줘. - 개발 용어 없이, 사용자가 체감하는 변화 위주로 - "새로운 기능 / 개선 / 고친 문제" 세 묶음 - 각 항목 한 줄, 전체 10줄 이내