Files
appkit/.claude/commands/appkit.new.md
rupy1014 f4b14fddf5 Initial commit
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 07:07:35 +09:00

14 KiB

description
description
아이디어 스케치 - 막연한 아이디어를 서비스 컨셉으로 구체화

User Input

$ARGUMENTS

User input must be considered (if not empty).

Overview

The text following /appkit.new is the app description. Assume $ARGUMENTS is always available in this conversation even if shown as-is. Don't ask again unless the user provides an empty command.

This is Step 1 of the logical thinking 7-step workflow:

논리적 사고 7단계:
1. /appkit.new      → 아이디어 스케치 (어떤 서비스인지?) ← YOU ARE HERE
2. /appkit.spec     → 기능 구체화 (뭐가 필요할까? 누가 쓸까?)
3. /appkit.customer → 고객 스토리 (고객의 하루, 고민, 해결)
4. /appkit.sales    → 세일즈 랜딩 구성 (어떻게 설득할까?)
5. /appkit.mvp      → MVP 범위 정하기 (최소한으로 검증하려면?)
6. /appkit.merge    → 기획 정돈 (흩어진 기획 통합)
7. /appkit.design   → 개발 준비 (API, ERD, 기술 스펙)

Based on the app description, perform the following:

Execution Flow

1. 아이디어 스케치 (고객 중심 대화)

Input: User's natural language app description (e.g., "Tennis court booking app with promotions and coupons")

Step 1: 고객 문제 파악

  1. 무슨 문제를 해결하나?:

    • 현재 고객이 겪는 불편함
    • 기존 솔루션의 한계
    • 해결되지 않은 니즈
  2. 누가 이 문제를 겪나?:

    • 주요 타겟 고객군
    • 그들의 특성과 행동 패턴
    • 문제의 심각도

Step 2: 서비스 컨셉 제시

Present customer-centric summary in this format:

## 📋 서비스 컨셉

**서비스명**: [추론한 이름 또는 사용자 입력]

### 🎯 핵심 문제와 해결책

**고객이 겪는 문제**:
- "테니스 치고 싶은데 코트 예약이 너무 번거로워요"
- "전화로 일일이 확인해야 하고, 대기 시간도 길어요"
- "가격도 제각각이라 비교가 어려워요"

**우리의 해결책**:
- 3초 만에 실시간 예약
- 모든 코트 가격 한눈에 비교
- 자동 할인으로 30% 저렴하게

### 👥 타겟 고객

**Primary (핵심 고객)**:
- 30-40대 직장인
- 주말 운동을 원하지만 시간이 없는 사람
- 편의성과 시간 절약을 중시

**Secondary (보조 고객)**:
- 프리랜서 (시간 유연, 가격 민감)
- 대학생 (저렴한 가격 선호)

### 💎 핵심 가치 (왜 써야 하나?)

1. **시간 절약**: 15분 대기 → 3초 예약
2. **비용 절감**: 자동 할인으로 평균 30% 저렴
3. **확실한 예약**: 실시간 확인, 즉시 확정

### 🚀 차별점 (경쟁사와 뭐가 다른가?)

- 기존: 전화 예약, 불확실, 정가
- 우리: 앱 예약, 실시간, 자동 할인

### 📦 주요 기능 (고객 가치 중심)

1. **001-search**: 빠른 코트 검색
   - 위치 기반 자동 추천
   - 실시간 예약 가능 확인

2. **002-booking**: 간편 예약/결제
   - 3초 예약 완료
   - 원터치 결제

3. **003-discount**: 스마트 할인
   - 타임딜 자동 적용
   - 쿠폰 자동 추천

4. **004-manage**: 예약 관리
   - 예약 변경/취소
   - 알림 설정

5. **005-social**: 커뮤니티
   - 파트너 찾기
   - 리뷰/평점

### 💰 수익 모델

- 예약 수수료 (5-10%)
- 프리미엄 멤버십 (우선 예약권)
- 제휴 광고 (장비, 레슨)

---

이렇게 이해한 것이 맞나요? 수정하거나 추가하고 싶은 내용이 있나요?

특히:
- 핵심 고객이 맞나요?
- 해결하려는 문제가 정확한가요?
- 더 중요한 기능이 있나요?

Step 3: Receive User Feedback

Wait for user response:

  • "Good", "Yes", "Proceed" → Move to Step 4
  • Modification request → Update content and return to Step 2
  • Additional features → Add to feature list and return to Step 2

Example Dialog:

User: "Lesson booking is important too. And we need instructor rating feature"

Claude:
Got it! I'll update as follows:

**Major Feature Specs (Updated)**:
1. 001-user: User authentication and profile management
2. 002-venue: Court information management
3. 003-lesson: Lesson information and instructor management (newly added)
4. 004-booking: Booking and payment system (courts + lessons)
5. 005-promotion: Coupons and promotions
6. 006-review: Facility and instructor reviews/ratings (instructor rating added)

Shall we proceed with this?

Step 4: Final Confirmation

When user confirms with "Good", "Proceed", etc.:

✅ App structure confirmed!

Creating files now...

2. Script Execution (After User Confirmation)

Execute only after user confirmation:

Script: .app/scripts/init-app.sh --json --app-name "tymatch"

Script Actions:

  • Create docs/appkit/ directory
  • Create docs/appkit/specs/ directory
  • Create subdirectories for each confirmed spec (001-user/, 002-venue/, ...)
  • JSON output:
    {
      "SPECS_DIR": "docs/appkit/specs",
      "APP_OVERVIEW": "docs/appkit/overview.md"
    }
    

Important:

  • No file creation before user confirmation
  • Script only handles directory creation and path output
  • Natural language analysis and dialogue handled by Claude

3. Service Overview Document Creation

File: docs/appkit/overview.md

Content: Use user-confirmed content with customer focus

# [Service Name] Service Concept

## 🎯 서비스 본질
[한 문장으로 서비스 정의]
예: "직장인의 주말 운동을 쉽게 만드는 테니스 코트 예약 서비스"

## 🔥 해결하는 문제
[User-confirmed problems]
- 번거로운 전화 예약 (15분 대기)
- 불투명한 가격 정보
- 원하는 시간대 확인 어려움

## 👥 타겟 고객
[User-confirmed target customers]

### Primary Persona
- 김대리 (35세, IT기업)
- Pain: "주말 운동하고 싶은데 예약이 너무 번거로워"
- Want: 빠른 예약, 확실한 시간 확보

### Secondary Personas
- 프리랜서: 평일 낮 저렴한 시간대 활용
- 대학생: 그룹 예약으로 할인 받기

## 💎 핵심 가치 제안
[User-confirmed value propositions]
1. **시간 절약**: 15분 → 3초
2. **비용 절감**: 자동 할인 30%
3. **확실성**: 실시간 확인 & 즉시 확정

## 📦 주요 기능 (고객 가치 중심)
[User-confirmed features with customer value]
- **001-search**: 3초 만에 찾는 완벽한 코트
- **002-booking**: 클릭 한 번으로 예약 완료
- **003-discount**: 자동으로 적용되는 최저가
- **004-manage**: 언제든 변경 가능한 유연함
- **005-social**: 함께 운동할 파트너 찾기

## 🚀 MVP 로드맵
Phase 0 (2주): 핵심 예약 기능
Phase 1 (1개월): 할인 & 리뷰
Phase 2 (3개월): 커뮤니티 & 확장

## 💰 비즈니스 모델
[User-confirmed business model]
- 예약 수수료 (5-10%)
- 프리미엄 멤버십
- 제휴 마케팅

## 📊 성공 지표
- Week 1: 10명 사용자 확보
- Week 2: 10건 예약 달성
- Month 1: NPS 30+ 달성

Important: Use content presented in Step 2 and confirmed by user as-is

4. Individual Spec Draft Creation (Based on Overview.md)

Create initial draft spec.md file in each spec directory based on overview.md content:

Important: This creates first draft, not empty templates. Extract relevant information from overview.md for each feature.

Approach:

  1. Read the feature description from overview.md (주요 기능 section)
  2. Extract customer value, target user, and workflow hints
  3. Create initial draft with inferred content
  4. Mark sections that need /appkit.spec for further detailing

File: docs/appkit/specs/001-persona/spec.md

Content: Draft with overview-based initial content

# Spec: 001-persona

## Feature Name
페르소나 생성 및 관리

## User Value (고객 가치)
[Extract from overview.md's feature description]
- 100가지 다양한 스타일로 브랜드 노출 확대
- 카테고리별 최적화된 인플루언서 확보

## Target User (누가 쓸까?)
[Infer from overview.md's 타겟 고객 section]
- Primary: 서비스 관리자
- Use case: 초기 셋업 시 다양한 페르소나 생성

## User Journey & Screen Flow
[Extract workflow from overview.md's 핵심 워크플로우]

### 1. 페르소나 생성 화면
- **UI Elements**: 카테고리 선택, 개수 설정, 생성 버튼
- **CTA**: "100명 자동 생성" 버튼
- **Next**: 페르소나 목록 화면

### 2. 페르소나 목록 화면
- **UI Elements**: 페르소나 카드 그리드 (이름, 카테고리, 상태)
- **CTA**: 미드저니 프롬프트 export, 프로필 이미지 업로드
- **Next**: 개별 페르소나 상세

## Business Rules
[Extract from overview.md's feature description]
- 카테고리별 페르소나 자동 생성 (Beauty 25명, Fashion 25명, etc.)
- 미드저니용 프롬프트 export 기능
- 프로필 이미지 업로드 시스템

## Edge Cases
[Initial inference - needs /appkit.spec for details]
- 페르소나 생성 실패 시 재시도 로직
- 중복 페르소나 체크

## Dependencies
[Infer from overview.md workflow]
- None (initial setup feature)

---

💡 **더 구체화하려면**:

/appkit.spec 001-persona "카테고리별 비율 조정 기능" /appkit.spec 001-persona "페르소나별 톤앤매너 설정"

Content Generation Strategy:

For each spec (001-010), extract from overview.md:

  1. Feature Name: Use Korean name from 주요 기능 section
  2. User Value: Extract from 핵심 가치 제안 or feature description
  3. Target User: Infer from 타겟 고객 (관리자 vs 광고주)
  4. User Journey: Extract from 핵심 워크플로우 section
  5. Business Rules: Extract explicit rules from feature description
  6. Edge Cases: Basic inference (mark as "needs detailing")
  7. Dependencies: Infer from workflow order

Example Mapping (from AI Influencer Network overview.md):

001-persona →
  - Extract: "100명의 다양한 인플루언서 생성"
  - User Value: 카테고리별 최적화된 인플루언서 풀 확보
  - Journey: 카테고리 선택 → 자동 생성 → 미드저니 export

003-content-composer →
  - Extract: "크롤링 요소 조합으로 빠른 제작"
  - User Value: 검증된 요소 조합으로 시행착오 최소화
  - Journey: 크롤링 갤러리 → 요소 선택 → 나노바나나 생성

006-brand-site →
  - Extract: "광고주가 쉽게 의뢰"
  - User Value: 빠른 캠페인 실행, 다양한 타겟층 공략
  - Journey: 브랜드 등록 → 카테고리 선택 → 캐릭터 추천

Files to Create (with overview-based drafts):

  • docs/appkit/specs/001-persona/spec.md
  • docs/appkit/specs/002-reference-crawl/spec.md
  • docs/appkit/specs/003-content-composer/spec.md
  • docs/appkit/specs/004-caption-generator/spec.md
  • docs/appkit/specs/005-approval/spec.md
  • docs/appkit/specs/006-brand-site/spec.md
  • docs/appkit/specs/007-ad-content/spec.md
  • docs/appkit/specs/008-posting/spec.md
  • docs/appkit/specs/009-engagement/spec.md
  • docs/appkit/specs/010-analytics/spec.md

5. Completion Report

Report to user:

✅ 서비스 컨셉 정의 & 기능 초안 생성 완료!

📁 생성된 파일:
- docs/appkit/overview.md (서비스 컨셉)
- docs/appkit/specs/001-search/spec.md (검색 - 초안 생성됨 ✨)
- docs/appkit/specs/002-booking/spec.md (예약 - 초안 생성됨 ✨)
- docs/appkit/specs/003-discount/spec.md (할인 - 초안 생성됨 ✨)
- docs/appkit/specs/004-manage/spec.md (관리 - 초안 생성됨 ✨)
- docs/appkit/specs/005-social/spec.md (커뮤니티 - 초안 생성됨 ✨)

✨ 변경사항: 빈 템플릿이 아닌 overview.md 기반 **초안**이 생성되었습니다!
각 spec에는 이미 다음 내용이 포함되어 있습니다:
- User Value (고객 가치)
- Target User (타겟 고객)
- User Journey (기본 화면 흐름)
- Business Rules (핵심 규칙)
- Dependencies (의존성)

🎯 핵심 가치:
- 시간 절약: 15분 → 3초
- 비용 절감: 30% 자동 할인
- 확실한 예약: 실시간 확정

👥 타겟 고객:
- Primary: 30-40대 직장인
- Secondary: 프리랜서, 대학생

📝 다음 단계 (논리적 사고 흐름):

**Step 2 - 기능 구체화 (/appkit.spec)**
이미 초안이 있으니, 더 구체적인 시나리오를 추가하세요:
  /appkit.spec 001-search "위치 기반으로 가까운 코트 찾기, 거리순 정렬"
  /appkit.spec 002-booking "퇴근길 지하철에서 3초 예약, 원터치 결제"
  /appkit.spec 003-discount "타임딜 자동 적용, 중복 쿠폰 불가"

**Step 3 - 고객 스토리 (/appkit.customer)**
타겟 페르소나의 하루와 문제 해결 스토리:
  /appkit.customer

**Step 4 - 세일즈 랜딩 (/appkit.sales)**
광고주를 설득하는 랜딩 페이지:
  /appkit.sales

📍 현재 위치: Step 1/7 완료 (아이디어 스케치 + 초안 생성)
📍 다음 단계: Step 2 - /appkit.spec (기능 구체화)

💡 Tip: 각 spec 파일을 열어보세요. 이미 기본 구조가 채워져 있어서
      `/appkit.spec`으로 추가 디테일만 넣으면 됩니다!

Important Notes

🔴 Mandatory Requirements

  1. Interactive process required:

    • Never create files immediately
    • Always present summary in Step 2
    • Create files only after user confirmation
  2. Handle user feedback:

    • "Good", "Yes", "Proceed" → Proceed with file creation
    • Modification request → Update and re-present
    • Additional features → Update list and re-present
    • If uncertain, ask additional questions
  3. Iterate before confirmation:

    • Repeat Steps 2-3 until user is satisfied
    • Don't rush, have thorough dialogue

🟡 Analysis Guidelines

  1. Natural language analysis:

    • Carefully analyze user input
    • Infer domain and business model
    • Derive reasonable major features (5-8)
    • Fill gaps with questions
  2. Numbering system:

    • Use 3-digit numbers (001, 002, 003, ...)
    • Sort in logical order (auth → core features → supplementary features)
  3. Feature names:

    • Short and clear (user, venue, booking, promotion)
    • Use lowercase English with hyphens

🟢 Technical Details

  1. Script execution:

    • Execute only after user confirmation
    • If script doesn't exist, create directories manually
    • Parse JSON output to confirm paths
  2. Incremental detailing:

    • This stage creates structure only
    • Details added with /appkit.spec command

Example Flow

User: /appkit.new Tennis court booking app

Claude: [Presents Step 2 summary]

User: Add lesson booking too

Claude: [Presents updated summary]

User: Good!

Claude: ✅ Confirmed! Creating files...
[Executes file creation]