stripe-newsletter 프로젝트의 기능 구현을 에이전트 팀으로 조율하는 오케스트레이터. 새 기능 추가, 모듈 구현, 풀스택 작업 등 여러 도메인(API, Stripe, Frontend)에 걸치는 작업 시 이 스킬을 참조할 것. '기능 구현해줘', '모듈 추가해줘', 'API부터 프론트까지', '풀스택으로', '구독 기능 변경', '새 플랜 추가' 등 복수 도메인 작업을 언급하면 반드시 이 스킬을 사용할 것. 단일 파일 수정이나 특정 도메인만의 작업과는 구분됨.
stripe-newsletter 프로젝트의 에이전트를 조율하여 풀스택 기능을 구현하는 통합 오케스트레이터.
| 에이전트 | subagent_type | 역할 | 스킬 | 출력 |
|---|---|---|---|---|
| api-developer | api-developer | NestJS 백엔드 구현 | api-dev | apps/api/src/ |
| stripe-integrator | stripe-integrator | Stripe 결제 통합 | stripe-integration | apps/api/src/modules/stripe/ + Stripe 설정 |
| frontend-developer | frontend-developer | Next.js 프론트엔드 | frontend-dev | apps/web/src/ + apps/admin/src/ |
| qa-integrator | qa-integrator | 통합 QA | (내장) | e2e/ + 검증 보고서 |
_workspace/ 생성_workspace/00_requirements.md에 정리| 영향 도메인 | 필요 에이전트 |
|---|---|
| API만 | api-developer |
| Stripe만 | stripe-integrator |
| 프론트만 | frontend-developer |
| API + Stripe | api-developer, stripe-integrator (병렬) |
| API + 프론트 | api-developer → frontend-developer (순차) |
| 풀스택 | 전체 에이전트 (아래 Phase 2~5) |
단일 도메인 작업이면 해당 에이전트만 호출하고 Phase 5로 건너뛴다.
복수 도메인에 걸치는 작업이면, 먼저 공유 타입을 정의한다.
packages/shared/src/types/에 새 타입 인터페이스 작성packages/shared/src/dto/에 DTO 작성 (필요 시)packages/shared/src/index.ts에 export 추가이 단계는 메인 세션에서 직접 수행하거나, api-developer에게 위임.
실행 방식: 병렬 (api-developer와 stripe-integrator 동시 실행)
| 에이전트 | 입력 | 출력 | model | run_in_background |
|---|---|---|---|---|
| api-developer | 요구사항 + shared 타입 | 엔티티/서비스/컨트롤러 + 유닛 테스트 | opus | true |
| stripe-integrator | 요구사항 + shared 타입 | Stripe 설정 + 웹훅 핸들러 | opus | true |
api-developer 프롬프트 구성:
프로젝트: /Users/bini59/Desktop/08_TEST/12-stripe
요구사항: {requirements}
에이전트 정의 참조: .claude/agents/api-developer.md
스킬 참조: .claude/skills/api-dev/skill.md
작업:
1. 엔티티 생성/수정 (apps/api/src/entities/)
2. 서비스 구현 (apps/api/src/modules/)
3. 컨트롤러 구현
4. 유닛 테스트 작성
5. 결과를 _workspace/03_api_result.md에 요약
stripe-integrator 프롬프트 구성:
프로젝트: /Users/bini59/Desktop/08_TEST/12-stripe
요구사항: {requirements}
에이전트 정의 참조: .claude/agents/stripe-integrator.md
스킬 참조: .claude/skills/stripe-integration/skill.md
작업:
1. Stripe 제품/가격 설정 (MCP 도구 사용)
2. 웹훅 핸들러 추가/수정
3. Checkout/Portal 흐름 구현
4. 결과를 _workspace/03_stripe_result.md에 요약
실행 방식: Phase 3 완료 후 순차 실행
Phase 3의 API 엔드포인트 결과를 입력으로 전달한다.
| 에이전트 | 입력 | 출력 | model | run_in_background |
|---|---|---|---|---|
| frontend-developer | 요구사항 + API 결과 | 페이지/훅/컴포넌트 + Vitest 테스트 | opus | false |
frontend-developer 프롬프트 구성:
프로젝트: /Users/bini59/Desktop/08_TEST/12-stripe
요구사항: {requirements}
에이전트 정의 참조: .claude/agents/frontend-developer.md
스킬 참조: .claude/skills/frontend-dev/skill.md
API 결과: {Phase 3 결과 요약}
작업:
1. Web 앱 페이지/훅/컴포넌트 구현 (apps/web/src/)
2. Admin 앱 페이지 구현 (apps/admin/src/)
3. Vitest 테스트 작성
4. 결과를 _workspace/04_frontend_result.md에 요약
실행 방식: Phase 4 완료 후 순차 실행
| 에이전트 | 입력 | 출력 | model | run_in_background |
|---|---|---|---|---|
| qa-integrator | 전체 Phase 결과 | 검증 보고서 + E2E 테스트 | opus | false |
qa-integrator 프롬프트 구성:
프로젝트: /Users/bini59/Desktop/08_TEST/12-stripe
에이전트 정의 참조: .claude/agents/qa-integrator.md
작업:
1. API 응답 shape과 프론트엔드 훅 타입 교차 비교
2. shared 타입과 엔티티 일관성 검증
3. E2E 테스트 작성/업데이트 (e2e/)
4. 검증 보고서 작성: _workspace/05_qa_report.md
_workspace/ 디렉토리 보존 (중간 산출물은 삭제하지 않음)[요구사항]
↓
[Phase 2: Shared 타입]
↓
┌──────────────────────────────────┐
│ Phase 3 (병렬) │
│ [api-developer] → api_result │
│ [stripe-integrator] → stripe_result │
└──────────────────────────────────┘
↓ (api_result + stripe_result)
[Phase 4: frontend-developer] → frontend_result
↓ (전체 결과)
[Phase 5: qa-integrator] → qa_report
↓
[Phase 6: 결과 요약]
| 상황 | 전략 |
|---|---|
| api-developer 실패 | 1회 재시도. 재실패 시 프론트엔드 단계 생략, QA에서 부분 검증 |
| stripe-integrator 실패 | 1회 재시도. 재실패 시 API만으로 진행, Stripe 설정은 수동 안내 |
| frontend-developer 실패 | 1회 재시도. 재실패 시 백엔드 결과만 제공, 프론트엔드 가이드 문서 생성 |
| qa-integrator 실패 | 사용자에게 수동 검증 필요 알림 |
| 타입 불일치 발견 (QA) | shared 패키지를 정본으로, 불일치 모듈 수정 후 재검증 |
SubscriptionPlan 타입에 'enterprise' 추가, PLANS에 새 플랜 상수 추가