구현 전 아이디어 탐색·수요 검증 — Startup(YC 6 forcing questions) + Builder(창의 탐색) 모드 선택. pre-design 산출물 승인 게이트 (chain 비강제 — 명시 선택 진입). gstack office-hours 한국어 재창작.
Resources
1Install
npx skillscat add andyko18/specops-ko/brainstorming-ko Install via the SkillsCat registry.
브레인스토밍 — 아이디어 탐색 & 수요 검증
서브에이전트로 dispatch되어 특정 task를 실행 중이라면 본 skill 건너뜀. 본 skill은 pre-design 탐색 전용이다.코드 작성 금지. 파일 생성·수정·삭제·commit 금지.
탐색 완료 후 구현은 /init-project → /start <기능> 으로 진입.
판정: 기계화 불가 (행위 금지형) — "코드를 쓰지 않았다" 는 부재의 증명이라 검사할 산출물이 없다. 본 skill 은 lifecycle 밖 선택 진입점이라 관문도 없다. 위반 시 후속 /start 의 spec 단계에서 드러나는 것이 현실적 안전망이다.
Phase 0: 모드 선택
AskUserQuestion으로 모드 선택:
어떤 목표로 아이디어를 탐색하나요?
선택지:
- [S] Startup / 사내 신규 사업 — 수요 검증, 시장 탐색, YC 기준 진단 (Phase 1A)
- [B] Builder / 사이드 프로젝트 — 창의 탐색, 가장 재미있는 버전 발굴, 해커톤/오픈소스/학습 (Phase 1B)
모드 매핑:
- 창업, SI 신규 제안, 사내 서비스 → Startup 모드
- 해커톤, 오픈소스, 개인 학습, 그냥 만들고 싶어서 → Builder 모드
Phase 1A: Startup 모드 — YC 제품 진단
운영 원칙
구체성만이 화폐다. 모호한 답변은 계속 밀어붙인다. "헬스케어 기업"은 고객이 아니다. 이름, 직함, 회사, 이유가 필요하다.
관심은 수요가 아니다. 대기자 명단, 가입, "흥미롭네요" — 이 중 어느 것도 수요가 아니다. 행동이 수요다. 돈이 수요다. 서비스가 중단됐을 때 패닉이 수요다.
현재 상태가 진짜 경쟁자다. 다른 스타트업도, 대기업도 아니다 — 사용자가 지금 쓰고 있는 스프레드시트+슬랙 조합이 경쟁자다.
좁을수록 좋다 (초기). 누군가 이번 주에 실제 돈을 낼 가장 작은 버전이, 풀 플랫폼 비전보다 가치 있다.
6개의 Forcing Questions
Q0 — 현재 상태 파악 (라우팅 기준)
Phase 1A 진입 직후 AskUserQuestion으로 먼저 묻는다:
"지금 아이디어의 현재 상태는 어디인가요?"
- 아이디어만 있음 (아직 사용자 없음)
- 실제 사용자/피드백 있음
- 유료 고객 있음
라우팅 규칙:
- 답변 1 → Q1 → Q2 → Q3 (수요 증거·현재 상태·고객 인물)
- 답변 2 → Q2 → Q4 → Q5 (현재 상태·최소 버전·관찰)
- 답변 3 → Q4 → Q5 → Q6 (최소 버전·관찰·미래 적합성)
Q0 이후 라우팅에 따라 해당 질문 3개만 순서대로 진행한다.
각 질문은 AskUserQuestion으로 하나씩 물어본다. 답변이 구체적·증거 기반·불편할 때까지 밀어붙인다.
Q1: 수요 현실
질문: "누군가가 이것을 진심으로 원한다는 가장 강력한 증거는 무엇인가요? '관심 있다'거나 '대기자 명단에 등록했다'가 아니라, 내일 사라진다면 진짜 속상할 사람이 있다는 증거요."
여기까지 밀어붙인다: 구체적인 행동. 돈을 낸 사람. 사용을 늘리는 사람. 워크플로우를 이것 중심으로 바꾼 사람.
적신호: "사람들이 흥미롭다고 해요." "대기자 500명 모았어요." "VC들이 이 분야에 관심 있어요." — 이 중 어느 것도 수요가 아니다.
Q2: 현재 상태
질문: "사용자들이 지금 이 문제를 해결하기 위해 — 어설프게라도 — 무엇을 하고 있나요? 그 임시방편의 비용은 얼마인가요?"
여기까지 밀어붙인다: 구체적인 워크플로우. 낭비되는 시간. 낭비되는 돈. 억지로 이어붙인 도구들.
적신호: "없어요 — 솔루션이 없어서 기회가 큰 거예요." 진짜 아무것도 없다면 문제가 충분히 아프지 않다는 신호다.
Q3: 구체적인 고객 인물
질문: "이것이 가장 필요한 실제 사람을 지목해주세요. 직함은? 무엇이 그들을 승진시키나요? 무엇이 그들을 해고시키나요? 무엇이 그들을 밤에 잠 못 들게 하나요?"
여기까지 밀어붙인다: 이름. 역할. 문제가 해결되지 않으면 그들이 직면하는 구체적인 결과. 가급적 그 사람 입에서 직접 들은 것.
적신호: 카테고리 수준의 답변. "헬스케어 기업." "SMB." "마케팅 팀." 이것들은 필터지 사람이 아니다.
Q4: 가장 좁은 쐐기
질문: "플랫폼을 다 만들기 전에, 누군가 이번 주에 실제 돈을 낼 가장 작은 버전은 무엇인가요?"
여기까지 밀어붙인다: 기능 하나. 워크플로우 하나. 며칠 안에 출시할 수 있고 누군가 돈을 낼 것.
적신호: "풀 플랫폼을 만들기 전에는 누가 쓸 수가 없어요." — 아키텍처에 집착하는 신호다.
Q5: 관찰 & 놀라움
질문: "실제로 사람들이 이것을 사용하는 것을 직접 보셨나요 — 돕지 않고? 무엇이 놀라웠나요?"
여기까지 밀어붙인다: 구체적인 놀라움. 창업자의 가정을 뒤엎는 것. 아무것도 놀랍지 않다면 보고 있지 않거나 주의를 기울이지 않는 것.
적신호: "설문을 보냈어요." "데모 콜을 했어요." 설문은 거짓말한다. 데모는 연극이다.
Q6: 미래 적합성
질문: "3년 후 세상이 의미 있게 달라진다면 — 실제로 달라질 텐데 — 여러분의 제품이 더 필수적이 되나요, 덜 필수적이 되나요?"
여기까지 밀어붙인다: 사용자의 세상이 어떻게 바뀌고, 그 변화가 왜 이 제품을 더 가치 있게 만드는지에 대한 구체적인 주장.
적신호: "시장이 연 20% 성장하고 있어요." 성장률은 비전이 아니다.
STOP — 각 질문 후 반드시 멈추고 답변을 기다린다.
Phase 1B: Builder 모드 — 창의 탐색
운영 원칙
- 감탄이 화폐다 — 무엇이 "와!"를 이끌어내나?
- 보여줄 수 있는 것을 만들어라. 가장 좋은 버전은 존재하는 것이다.
- 최고의 사이드 프로젝트는 자신의 문제를 해결한다.
- 최적화 전에 탐색하라. 이상한 아이디어를 먼저 시도해봐라.
탐색 질문
각 질문은 AskUserQuestion으로 하나씩 물어본다. 심문이 아니라 브레인스토밍이 목표.
- 이것의 가장 멋진 버전은 무엇인가요? 진짜 즐거운 것이 되려면?
- 누구에게 보여줄 건가요? 무엇이 그들을 "와!"하게 만들 건가요?
- 실제로 사용하거나 공유할 수 있는 가장 빠른 경로는 무엇인가요?
- 이것에 가장 가까운 기존 것은 무엇이고, 여러분의 것은 어떻게 다른가요?
- 시간이 무제한이라면 무엇을 추가할 건가요? 10배 버전은?
STOP — 각 질문 후 반드시 멈추고 답변을 기다린다.
Builder → Startup 자동 전환 감지:
각 질문 답변에서 다음 신호 단어가 등장하면 즉시 전환:
- "수익", "유료", "돈", "고객이 낼", "팔", "투자", "VC", "시장", "경쟁사", "사업 모델"
전환 시 선언:
"좋네요 — 수익·시장 방향이 보이는군요. 좀 더 날카로운 질문으로 들어갈게요."
→ Builder 탐색 질문 중 남은 것은 건너뛰고 Startup Q2(현재 상태)부터 진행
→ Q0 응답은 "사용자 있음(2번)"으로 간주 → Q2 → Q4 → Q5 라우팅 적용
Phase 2: 전제 도전
솔루션 제안 전에 전제를 검증한다:
- 올바른 문제인가? 다른 프레이밍이 더 간단하거나 임팩트 있는 솔루션을 만들 수 있나?
- 아무것도 안 하면 어떻게 되나? 실제 아픔인가, 가상인가?
- 기존 코드가 이미 부분적으로 해결하나? 재사용할 수 있는 패턴/유틸이 있나?
AskUserQuestion으로 전제 확인:
전제:
1. [진술] — 동의/비동의?
2. [진술] — 동의/비동의?Phase 3: 대안 생성
모드별 적용: Builder 모드 = A/B/C 대안 필수 (창의 탐색이 목적 — 산출물 템플릿의
## 대안 (A/B/C)섹션에 기록). Startup 모드 = 선택 (검증이 목적이라 대안 발산은 부차 — 수행 시 산출물의## 열린 질문·## 다음 단계에 선택 방향만 1~2줄 기록, 별도 A/B/C 섹션 강제 안 함).
탐색된 방향 기반으로 3가지 대안을 병렬 제시:
- A. [가장 단순한 버전] — 며칠 안에 출시 가능
- B. [가장 임팩트 있는 버전] — 핵심 가치 최대화
- C. [가장 창의적인 버전] — 예상치 못한 접근
각 대안마다:
- 핵심 아이디어
- 주요 trade-off
- 예상 구현 난이도
AskUserQuestion으로 방향 선택 또는 조합.
Phase 4: 산출물 저장
탐색 완료 후 메모 저장:
mkdir -p .specops/memory
DATE=$(date +%Y%m%d)
TIME=$(date +%H%M%S)
# slug: 공통 헬퍼 사용 (국립국어원 로마자 표기법 — 한글 주제도 의미 있는 ASCII kebab).
# 자체 tr 파이프라인 금지 (한글 전부 제거 → dash 쓰레기). FID slug 관례와 일치.
SLUG=$(bash "${CLAUDE_PLUGIN_ROOT}"/scripts/slug.sh "<주제>" | cut -c1-30)
[ -z "$SLUG" ] && SLUG="idea" # 빈 주제 방어 (파일명 trailing dash 방지)
OUTPUT=".specops/memory/brainstorming-${DATE}-${TIME}-${SLUG}.md"산출물 파일 구조는 모드에 따라 분기한다:
[Startup 모드] 산출물:
라우팅 조건부: Q0 응답에 따라 질문된 3개 Q만 실제로 채운다 (답변1 → Q1·Q2·Q3, 답변2 → Q2·Q4·Q5, 답변3 → Q4·Q5·Q6). 미질문 Q 섹션은 생략한다 (빈
<답변>placeholder 를 그대로 남기지 말 것 — 라우팅상 묻지 않은 질문임).
# 브레인스토밍 — <주제>
**날짜**: YYYY-MM-DD
**모드**: Startup
**Q0 상태**: 아이디어만 있음 | 사용자 있음 | 유료 고객 있음
<!-- 아래 섹션 중 Q0 라우팅으로 질문된 3개에 해당하는 것만 포함 -->
## 고객 증거 <!-- Q1(수요 증거) / Q3(구체적 인물) 질문 시 -->
- Q1 진짜 수요 증거: <답변 요약>
- Q3 구체적 인물: <직함 / 회사 / 역할>
## 현재 상태 (경쟁자) <!-- Q2 질문 시 -->
- Q2 현재 사용 중인 임시방편: <답변>
- 추정 비용/시간 낭비: <답변>
## 최소 버전 Spec <!-- Q4 질문 시 -->
- Q4 이번 주 출시 가능한 버전: <답변>
## 관찰 & 놀라움 <!-- Q5 질문 시 -->
- Q5 직접 관찰한 것: <답변>
## 미래 적합성 <!-- Q6 질문 시 -->
- Q6 3년 후 더 필수적인가: <답변>
## 열린 질문
- [ ] ...
## 다음 단계
- [ ] /init-project <프로젝트명>[Builder 모드] 산출물:
# 브레인스토밍 — <주제>
**날짜**: YYYY-MM-DD
**모드**: Builder
## 핵심 감탄 포인트
- 가장 멋진 버전: <답변>
- "와!"를 만드는 요소: <답변>
## 대안 (A/B/C)
- A. [가장 단순한 버전]: <설명>
- B. [가장 임팩트 있는 버전]: <설명>
- C. [가장 창의적인 버전]: <설명>
### 선택된 방향
<선택 + 이유>
## 검토했지만 배제한 방향
...
## 열린 질문
- [ ] ...
## 다음 단계
- [ ] /init-project <프로젝트명>저장 전 자가 점검 — 자가점검은 실제로 질문된 것만 평가한다 (Startup 은 Q0 라우팅으로 3개만 질문하므로, 고정 Q 번호를 참조하면 성숙한 아이디어(유료고객 경로)가 항상 반려되는 역설이 생김 — 라우팅 상대적으로 판정).
[Startup 모드] — 4개 항목 중 3개 이상 충족 시 저장 진행:
| # | 기준 |
|---|---|
| 1 | Q0 라우팅으로 질문된 첫째 Q 답변이 구체적·증거 기반 (모호·카테고리 수준 아님) |
| 2 | 질문된 둘째 Q 답변이 구체적·증거 기반 |
| 3 | 질문된 셋째 Q 답변이 구체적·증거 기반 |
| 4 | 열린 질문 1개 이상 |
라우팅별 질문 집합: 답변1 → Q1·Q2·Q3 / 답변2 → Q2·Q4·Q5 / 답변3 → Q4·Q5·Q6. 어느 경로든 "질문된 3개 + 열린질문" 동일 기준으로 판정하므로 성숙도와 무관하게 공정.
[Builder 모드] — 5개 중 3개 이상 충족 시 저장 진행:
| # | 기준 |
|---|---|
| 1 | 가장 멋진 버전 서술 |
| 2 | 기존 것과의 차이점 |
| 3 | 출시 가능한 가장 빠른 경로 |
| 4 | "와!" 포인트 |
| 5 | 열린 질문 1개 이상 |
미충족 시:
"아직 탐색이 부족합니다. [미충족 항목]에 대해 한 번 더 구체화해볼까요?"
→ 해당 항목 질문 후 재점검. 사용자가 "그냥 저장"을 명시하면 그대로 진행.
저장 후: "브레인스토밍 메모가 .specops/memory/brainstorming-<날짜>-<시간>-<슬러그>.md에 저장됐습니다."
다음 단계 (선택)
브레인스토밍 완료 후:
/init-project— 프로젝트 구조 부트스트랩 (탐색 메모로 PRD 6필드 초안 합성 + Phase 11 LLM 보강이 13종 본문에 반영)/start <기능>— 프로젝트가 이미 초기화된 경우 바로 Lifecycle 진입
강제 chain 없음 — 탐색 결과로 방향 사용자 결정.
5원칙 주입 (specops-ko 고유)
| 원칙 | 본 skill 적용 |
|---|---|
| 1 투명성 | 모드 선택 + 질문 결과를 brainstorming-*.md 에 전문 저장 |
| 2 문지기 | HARD GATE — 코드 작성·파일 생성·commit 금지 (탐색만) |
| 3 깊이 | 구체성이 없는 답변은 계속 밀어붙임 (관심 ≠ 수요) |
| 4 주권 | 강제 chain 없음 — 탐색 결과로 방향 사용자 결정 |
| 5 한계 고백 | 정적 질문 목록 — 도메인별 맞춤 질문 미지원 |
참조
commands/brainstorming.md— 슬래시 진입점skills/using-specops-ko/SKILL.md— 메타 skillcommands/init-project.md— 다음 단계 (부트스트랩)commands/start.md— Lifecycle 진입
다음 skill
탐색 완료 + 산출물 저장 후 사용자 선택에 따라:
- 프로젝트 초기화 필요 →
/init-project슬래시 커맨드 안내 (Skill 아님 —commands/init-project.md) - 프로젝트 이미 초기화 →
specops-ko:specifying-ko호출
강제 chain 없음. 본 brainstorming-ko는 사용자가 명시적으로 선택하기 전까지 어떤 구현 스킬도 호출하지 않는다.
specops-ko v1.72.0 · 2026-07-09 · garrytan/gstack office-hours/SKILL.md 한국어 재창작