SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

auto-project-builder

Dados e Análise

인터랙티브 설정(플랫폼·기술스택·서비스 유형·개수)을 거쳐 트렌드 조사·경쟁 분석·아이디어 평가를 자율 수행하고, 자동 QA 루프로 실제 동작하는 프로젝트를 완성까지 구현하는 완전 자동화 스킬. 체크포인트 재개, 완료 알림, 날짜별 리포트, overview.html 포함.

1estrelas
Ver no GitHub ↗Autor: hongmacho

핵심 원칙

사람의 개입 없이 실제로 동작하는 프로젝트를 완성한다. 빌드 오류, 타입 오류, 린트 오류가 남은 프로젝트는 "완성"이 아니다. 사람은 완성된 결과물만 받는다.


Phase -0.5: OMC/ECC 환경 감지

이 단계는 모든 Phase보다 먼저 자동으로 실행된다. 사용자에게는 별도로 고지하지 않는다.

감지 로직

현재 세션에서 사용 가능한 스킬 목록을 확인한다:

if "oh-my-claudecode:" in available_skills:
  OMC_MODE = "omc"
elif "everything-claude-code:" in available_skills:
  OMC_MODE = "ecc"
else:
  OMC_MODE = "none"

OMC_MODE 값에 따라 이후 모든 Phase에서 Agent 위임 전략이 달라진다. OMC_MODE = "omc" 일 때 가장 풍부한 스킬 조합을 활용한다.


Phase -1: 체크포인트 확인 + 인터랙티브 설정

0단계 — 이전 실행 체크포인트 확인

스킬 시작 직후 체크포인트 파일을 탐색한다:

ls .auto-project-builder-checkpoint.json 2>/dev/null

파일이 존재하면 내용을 읽어 아래 정보를 추출한다:

  • 실행 날짜, 플랫폼, 스택, 총 프로젝트 수
  • 완료된 프로젝트 목록
  • 남은 프로젝트 목록

그 후 AskUserQuestion 도구로 확인:

이전 실행에서 중단된 작업이 있습니다.

실행일: {날짜}  /  플랫폼: {PLATFORM}  /  스택: {TECH_STACK}
완료: {완료 목록}  /  남은 것: {미완료 목록}

이어서 진행할까요, 아니면 새로 시작할까요?

1. 이어서 진행  — 완료된 프로젝트는 건너뛰고 남은 것부터 시작
2. 새로 시작    — 이전 체크포인트 삭제 후 처음부터
  • 이어서 진행 선택: 저장된 변수를 복원하고 Phase 2 루프로 바로 진입
  • 새로 시작 선택: 체크포인트 삭제 후 아래 질문 1로 진행

체크포인트 파일이 없으면 질문 1로 바로 진행.


질문 1 — 플랫폼

어떤 플랫폼의 프로젝트를 만들고 싶으신가요?

1. 웹 (Web)          — 브라우저에서 동작하는 웹 앱
2. 앱 (Mobile App)   — iOS / Android 모바일 앱
3. CLI               — 터미널에서 동작하는 커맨드라인 도구
4. 알아서            — 트렌드·서비스 유형 기반으로 자율 선택
5. 자유롭게          — 직접 설명해 주세요

"알아서" 선택 시: Phase 0-B 트렌드 조사 결과와 SERVICE_CATEGORIES를 바탕으로 가장 적합한 플랫폼을 자율 결정하고 이유와 함께 고지한 뒤 진행한다. 예: 알아서 선택: 웹 — 생산성 SaaS는 브라우저 접근성이 전환율에 직결되므로

→ 선택 결과를 PLATFORM에 저장.


질문 1.5 — 아이디어 유무

생각하고 계신 아이디어가 있으신가요?

1. 알아서   — 트렌드·카테고리 기반으로 아이디어를 자율 기획합니다
2. 직접 입력 — 만들고 싶은 서비스를 설명해 주세요

"직접 입력" 선택 시:

  • 사용자로부터 아이디어 설명을 자유 텍스트로 입력받는다
  • 입력 내용을 USER_IDEA에 저장
  • 사용자가 원하는 서비스가 명확하므로 PROJECT_COUNT = 1로 자동 설정
  • 서비스 유형(Q3)과 프로젝트 개수(Q4)는 물어보지 않는다 → 질문 2로 바로 진행
  • 기술 스택(Q2)은 선호 여부만 확인 (없어도 Phase 1에서 아이디어에 맞게 자율 결정)

"알아서" 선택 시:

  • USER_IDEA = null로 저장
  • 기존 흐름대로 Q2 → Q3 → Q4 순서로 진행

→ 선택 결과를 USER_IDEA에 저장 (직접 입력 텍스트 또는 null).


질문 2 — 선호하는 기술 스택 (PLATFORM 및 USER_IDEA 기반 추천)

이 질문은 항상 표시된다. 단, USER_IDEA가 있을 경우 추천 스택이 아이디어 내용을 반영한다.

PLATFORM = 웹 (또는 USER_IDEA가 웹 서비스인 경우):

선호하는 기술 스택이 있으신가요?

1. Next.js 14+ · shadcn/ui · Drizzle + SQLite   (추천)
2. Nuxt 3 · Tailwind CSS · PGlite
3. SvelteKit · shadcn-svelte · Drizzle + SQLite
4. Remix · shadcn/ui · Drizzle + SQLite
5. 없음    — 아이디어가 정해지면 각 프로젝트에 맞는 스택을 자율 선택
6. 직접 입력 — 원하는 스택을 설명해 주세요

PLATFORM = 앱 (또는 USER_IDEA가 모바일 앱인 경우):

선호하는 기술 스택이 있으신가요?

1. React Native + Expo · SQLite (expo-sqlite)   (추천)
2. Flutter · Dart · sqflite
3. 없음    — 아이디어가 정해지면 각 프로젝트에 맞는 스택을 자율 선택
4. 직접 입력 — 원하는 스택을 설명해 주세요

PLATFORM = CLI (또는 USER_IDEA가 CLI 도구인 경우):

선호하는 기술 스택이 있으신가요?

1. Node.js · TypeScript · Commander.js · SQLite   (추천)
2. Python · Typer · Click · SQLite
3. Go · Cobra · SQLite
4. Rust · Clap · SQLite
5. 없음    — 아이디어가 정해지면 각 프로젝트에 맞는 스택을 자율 선택
6. 직접 입력 — 원하는 스택을 설명해 주세요

PLATFORM = 알아서 / 자유롭게:

선호하는 기술 스택이 있으신가요?
(예: "Electron + React + SQLite", "FastAPI + HTMX + PostgreSQL" 등)

1. 없음    — 아이디어가 정해지면 각 프로젝트에 맞는 스택을 자율 선택
2. 직접 입력 — 원하는 스택을 설명해 주세요

"없음" 선택 시: TECH_STACK = "auto-per-idea"로 저장. Phase 1에서 각 아이디어의 특성(플랫폼, 규모, 복잡도)을 고려해 프로젝트별로 최적 스택을 독립적으로 결정하고, PRD 작성 전 선택 이유와 함께 고지한다. 예: 스택 선택: Flutter — 크로스플랫폼 네이티브 UI가 이 앱의 핵심 경험에 적합하므로

복수 프로젝트일 경우 아이디어마다 다른 스택이 선택될 수 있다. 예: 아이디어 1 → Next.js, 아이디어 2 → SvelteKit, 아이디어 3 → Remix

→ 선택/입력 결과를 TECH_STACK에 저장.


질문 3 — 서비스 유형

이 질문은 USER_IDEA = null (알아서 경로)일 때만 표시된다. USER_IDEA가 있으면 서비스 유형은 Phase 1에서 아이디어 내용을 기반으로 자율 결정한다.

어떤 유형의 서비스를 만들고 싶으신가요?
(복수 선택 가능)

1.  생산성        — 할 일 관리, 시간 추적, 노트, 자동화
2.  콘텐츠        — 블로그, 미디어, 뉴스레터, 크리에이터 도구
3.  팀·협업       — 팀 관리, 소통, 프로젝트 추적
4.  커머스        — 쇼핑, 마켓플레이스, 구독
5.  교육          — 학습, 퀴즈, 튜터링, 플래시카드
6.  헬스·라이프   — 건강 추적, 피트니스, 웰빙, 식단
7.  파이낸스      — 예산 관리, 투자, 가계부
8.  개발자 도구   — 유틸리티, API 도구, 코드 분석
9.  커뮤니티      — 소셜, 포럼, 네트워킹
10. 알아서        — 트렌드 조사 기반으로 유망 카테고리 자율 선택
11. 자유롭게      — 직접 설명해 주세요

"알아서" 선택 시: Phase 0-B 트렌드 조사 결과(TREND_DATA.market_gaps, TREND_DATA.trending_categories)를 기반으로 현재 가장 유망한 카테고리를 자율 선택하고 이유와 함께 고지한 뒤 진행한다. 예: 알아서 선택: 개발자 도구 — GitHub Trending에서 AI 코드 도구 수요가 급증 중이므로

→ 선택 결과(복수 가능)를 SERVICE_CATEGORIES[]에 저장.


질문 4 — 프로젝트 개수

이 질문은 USER_IDEA = null (알아서 경로)일 때만 표시된다. USER_IDEA가 있으면 PROJECT_COUNT = 1로 자동 설정하고 이 질문은 건너뛴다.

총 몇 개의 서비스를 만들까요? (기본값: 5, 최대: 10)

숫자 입력, 또는:
- 알아서 — 선택한 카테고리 수와 트렌드 밀도를 기반으로 자율 결정

"알아서" 선택 시: SERVICE_CATEGORIES 수와 TREND_DATA.competitive_density를 기반으로 적정 개수를 결정한다. 카테고리 1개당 2–3개, 최대 10개를 초과하지 않는다. 예: 알아서 선택: 6개 — 카테고리 2개 × 3개씩

→ 입력값을 PROJECT_COUNT에 저장. 빈 입력이면 5. "알아서"이면 위 공식으로 계산.


설정 요약 출력

USER_IDEA가 있는 경우 (직접 입력 경로):

━━━ 설정 요약 ━━━
플랫폼:      {PLATFORM}
아이디어:    {USER_IDEA}
선호 스택:   {TECH_STACK | "아이디어 기반 자율 선택"}
서비스 유형: 아이디어 기반 자율 결정
프로젝트 수: 1개
━━━━━━━━━━━━━━━━━
진행할까요? (yes / 취소)

USER_IDEA가 없는 경우 (알아서 경로):

━━━ 설정 요약 ━━━
플랫폼:      {PLATFORM}
선호 스택:   {TECH_STACK | "아이디어별 자율 선택"}
서비스 유형: {SERVICE_CATEGORIES}
프로젝트 수: {PROJECT_COUNT}개
━━━━━━━━━━━━━━━━━
진행할까요? (yes / 취소)

사용자가 yes가 아닌 경우 Phase -1 처음으로 돌아간다.


Phase 0: 환경 조사

Context7 조사와 트렌드 조사를 병렬로 실행한다.

0-A. Context7 스택 조사 (병렬 레인 1)

TECH_STACK에 포함된 라이브러리/프레임워크의 최신 버전과 권장 사용 패턴 조사.

# 공통
mcp__context7__resolve-library-id("drizzle-orm")

# 웹 — Next.js 선택 시
mcp__context7__resolve-library-id("next.js")
mcp__context7__resolve-library-id("shadcn/ui")
mcp__context7__resolve-library-id("better-sqlite3")
mcp__context7__resolve-library-id("next-auth")

# 앱 — React Native 선택 시
mcp__context7__resolve-library-id("react-native")
mcp__context7__resolve-library-id("expo")

# CLI — Node.js 선택 시
mcp__context7__resolve-library-id("commander")
mcp__context7__resolve-library-id("inquirer")

# ... 선택 스택에 맞게 동적으로 조사

조사 결과를 STACK_VERSIONS에 저장.

0-B. 트렌드 조사 (병렬 레인 2)

OMC_MODE == "omc" 일 때도 WebSearch 또는 Exa로 직접 조사 (autoresearch는 웹 조사 도구가 아닌 반복 개선 루프이므로 사용하지 않는다):

그 외 모드에서도 동일하게 WebSearch 또는 Exa로 직접 조사:

# Product Hunt 최근 인기 서비스
WebSearch("site:producthunt.com {SERVICE_CATEGORIES} {PLATFORM} app 2025 2026")

# GitHub Trending 조사
WebSearch("github trending {TECH_STACK_KEYWORD} repositories 2025")

# 해당 카테고리 인기 앱/서비스 현황
WebSearch("{SERVICE_CATEGORIES} best apps 2025 market trends")

조사 결과를 TREND_DATA에 저장:

{
  "trending_categories": ["현재 뜨는 세부 카테고리"],
  "popular_features": ["사용자들이 원하는 기능"],
  "market_gaps": ["아직 해결 안 된 문제"],
  "competitive_density": "high | medium | low"
}

두 레인 완료 후 Phase 1로 진행.


변수 추적 (Variable Flow)

변수명초기화 위치타입/범위
OMC_MODEPhase -0.5string: "omc" / "ecc" / "none"
PLATFORMPhase -1 Q1string: 웹/앱/CLI/auto/자유
USER_IDEAPhase -1 Q1.5string(사용자 입력 텍스트) 또는 null; null이면 알아서 경로
TECH_STACKPhase -1 Q2string: 선택 스택 명칭 또는 "auto-per-idea" (아이디어별 자율 결정)
SERVICE_CATEGORIES[]Phase -1 Q3 (USER_IDEA=null 시만)string[]; "auto" 이면 트렌드 기반 자율 결정; USER_IDEA 있으면 Phase 1에서 자율 결정
PROJECT_COUNTPhase -1 Q4 (USER_IDEA=null 시만)정수 1–10, 기본 5; USER_IDEA 있으면 1로 고정; "알아서" 이면 공식 계산
STACK_VERSIONSPhase 0-A라이브러리 버전 맵
TREND_DATAPhase 0-B트렌드 조사 결과 객체
IDEAS[]Phase 1PROJECT_COUNT개 객체 배열
IDEA_SCORES[]Phase 1.3idea-generator 출력: {idea, pain, market, originality, feasibility, flaw_penalty, total/15, verdict}[]
GITHUB_REPOS[]Phase 1.5{name, description, url}[]
REJECTED_IDEAS[]Phase 1.3 + 1.5탈락 아이디어 + 사유
APPROVED_IDEAS[]Phase 1.5최종 승인 아이디어
REPLACEMENT_ATTEMPTSPhase 1.3 + 1.5정수, 최대 PROJECT_COUNT×3
PROJECT_LOG[]Phase 2완료 프로젝트 로그
QA_ATTEMPTSPhase 2-4프로젝트별 QA 재시도 횟수
RUN_DATEPhase 3 시작YYYYMMDDHHmm 형식 (년월일시분, 예: 202605242157)
CHECKPOINT_FILEPhase -1.auto-project-builder-checkpoint.json

Phase 1: 아이디어 생성 (idea-generator 스킬 활용)

Como adicionar

/plugin marketplace add hongmacho/auto-project-builder

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.