Install any skill in seconds. Free to start, no credit card required.
Get Started Free →[책임 경계] 1스킬 2모드 — `--mode jtbd`: JTBD 9개 + 시장 매칭 우선순위 자동 도출 / `--mode persona`: 리뷰·Q&A 분석 기반 페르소나 3명 자동 생성. 페어 스킬 moai-domain-copywriting과 명확히 구분 — 본 스킬은 고객 분석(Why), 페어는 카피 작성(What). 다음과 같은 요청 시 반드시 이 스킬을 사용하세요: "JTBD 분석해줘", "고객이 왜 사는지 분석", "구매 동기 9개 뽑아줘", "페르소나 만들어줘", "타겟 고객 프로필 생성", "리뷰 분석해서 페르소나", "고객 여정 분석", "구매결정요인 뽑아줘" JTBD 3분류(기능적/감성적/사회적) 예시 + 심리적 필요 4종 촉발 패턴(보상/불안/지루함/사회적 자극) + 타겟 온도 메타데이터(콜드/웜/핫/슈퍼, 광고 심리학). ai-slop-reviewer 자동 체이닝 (--mode persona 텍스트 산출물).
.claude/skills/modu-ai-commerce-jtbd-persona/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | 89% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 151% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 90% | 0% |
리뷰·Q&A 데이터를 분석하는 1스킬 2모드 스킬입니다. 이커머스 셀러가 고객의 구매 동기(JTBD)와 구체적인 페르소나를 데이터 기반으로 자동 생성합니다.
데이터 소스:
데이터 연동: 연결된 커머스 MCP 커넥터가 있으면 리뷰·Q&A를 직접 조회하고, 없으면 사용자가 첨부한 내보내기 파일·복사 텍스트·스크린샷을 분석합니다.
JTBD, 고객 동기, 구매 이유, 잡스 투 비 던, 기능적 동기, 감성적 동기, 사회적 동기, 페르소나, 타겟 고객 프로필, 리뷰 분석, 구매결정요인, 고객 여정, 니즈 분석, 불만 분석
| 모드 | 플래그 | 핵심 산출물 | |------|--------|-----------| | JTBD 도출 | --mode jtbd | JTBD 9개 + 시장 매칭 우선순위 | | 페르소나 생성 | --mode persona | 페르소나 3명 (8필드) |
모드 미지정 시: --mode jtbd 먼저 실행 후 --mode persona 연속 실행 권장.
| 항목 | 필수 여부 | 예시 | |------|----------|------| | 시장조사 결과 | 필수 | commerce-market-research 산출물 .md 파일 경로 | | 상품 정보 | 필수 | 상품명, USP, 카테고리 | | 채널 | 선택 | 스마트스토어, 쿠팡 (기본값: 전체) |
시장조사 결과 로드 (입력)
↓
분석: 기능적 동기 3개 (Functional Job)
감성적 동기 3개 (Emotional Job)
사회적 동기 3개 (Social Job)
↓
시장 매칭: 각 JTBD × 시장조사 키워드 교차 → 우선순위 1축 산출상품 카테고리별 JTBD 3분류 작성 가이드 — 다이어트 가루를 기준으로:
| JTBD 분류 | 다이어트 가루 예시 | 핵심 동사·표현 | |----------|-------------------|---------------| | 기능적 JTBD (제품이 실제 수행해야 하는 업무) | "체중 감량에 도움이 필요하다" / "간편하게 칼로리를 조절하고 싶다" / "필수 영양소는 유지하면서 체중 관리하고 싶다" | "~할 수 있다", "~한다" (제품 능력) | | 감성적 JTBD (제품 사용으로 얻고 싶은 감정·심리 만족) | "몸매에 자신감을 갖고 싶다" / "자기 통제감과 성취감을 느끼고 싶다" / "스트레스 없이 식이요법을 지속하고 싶다" | "~한 느낌", "~한 감정" (감정) | | 사회적 JTBD (타인에게 어떻게 보이고 싶은지) | "건강을 챙기는 현명한 사람으로 보이고 싶다" / "트렌디한 라이프스타일을 가진 사람으로 인식받고 싶다" / "자기관리를 잘하는 사람이라는 인정을 받고 싶다" | "~한 사람으로 보이고 싶다" (사회적 위치) |
> 핵심 포인트: 같은 상품이라도 고객마다 중요시하는 JTBD가 다를 수 있으며, 효과적인 마케팅은 이러한 다양한 니즈를 모두 충족시키는 것입니다.
"심리적 필요(Psychological Need)" 개념은 본 스킬의 감성적 JTBD에 대응합니다. 가장 큰 시장이며, 마케터가 타이밍·채널로 직접 촉발 가능:
| 촉발 패턴 | 작동 메커니즘 | 마케팅 채널 예시 | |----------|---------------|----------------| | 보상 심리 | "오늘 나 고생했다 → 뭔가 사줘야겠다" | 야근 후 인스타 피드 광고 | | 불안 해소 | "이대로 두면 큰일 날까 봐" | 검색광고 + 후기 신뢰 | | 지루함 | "심심하니까 뭔가 살까" | SNS 발견 피드 + 한정 한정 | | 사회적 자극 | "남들 다 사는데 나만 빠지나" | 인플루언서 + 사회적 증거 |
> 활용: JTBD 9개 중 감성적 동기 3개를 위 4종 촉발 패턴과 매핑하면, 페르소나 마케팅 채널 선택이 자연스럽게 결정됩니다.
페르소나 생성 시 브랜드와의 관계 온도 메타데이터를 추가합니다:
| 온도 | 정의 | 페르소나 메시지 전략 | |------|------|--------------------| | 🟦 콜드 | 나를 전혀 모르는 사람 | "지금 사세요" ❌ / 심리적 필요 촉발·관심 만들기 ✅ | | 🟨 웜 | 한 번은 접촉한 사람 (광고/영상/팔로우) | 콜드보다 싸게 잡을 수 있음, 영상 50%+ 시청자 등 | | 🟧 핫 | 사이트에 왔다 간 사람 (장바구니 이탈) | 신뢰 부족·가격 망설임 해소 — 사회적 증거 + 소폭 혜택 | | 🟥 슈퍼 | 이미 산 사람 | 광고보다 온보딩·커뮤니티·VIP 혜택. Lookalike 씨앗 최고 |
페르소나 출력 JSON에 "target_temperature": "콜드/웜/핫/슈퍼" 필드 추가.
| 항목 | 필수 여부 | 예시 | |------|----------|------| | JTBD 9개 | 필수 | mode=jtbd 산출물 | | 쇼핑몰 URL / 상품 ID | 권장 | 네이버 스마트스토어 또는 카페24 상품 URL | | 리뷰 최소 건수 | 자동 | 10건 (부족 시 fallback 자동 적용) |
1. 네이버 리뷰 수집 (커넥터 조회 또는 첨부 데이터, 최소 10건)
2. 자사몰 리뷰 수집 (최소 10건)
3. Q&A 수집 (구매 전 불안·질문 패턴)
4. JTBD 교차 분석
→ 리뷰+Q&A × JTBD → 페르소나 군집 3개 분류리뷰 10건 미만 시 자동 적용:
WHILE 본인 상품 리뷰 < 10건:
→ 같은 카테고리 상위 노출 상품 1개의 리뷰 10건으로 대체
→ 출력 시 "(대체 데이터: {상품명} 리뷰 기반)" 명시mode=persona 산출물은 텍스트 페르소나 프로필이므로 moai-coworker:ai-slop-reviewer를 자동 체인합니다. 슬롭 검수 직후 moai-writer:korean-humanize으로 한국어 AI 티를 제거합니다 (슬롭 검수 다음, 필수).
검수 항목:
"/commerce-jtbd-persona --mode jtbd 비건 스킨케어 상품, 시장조사 결과 첨부"
→ 기능적(성분 안전성, 피부 개선, 흡수율) × 감성적(자기관리 만족감, 클린 라이프스타일, 죄책감 없는 소비) × 사회적(지속가능 소비 표현, 미닝아웃, 또래 추천) JTBD 9개 + 우선순위
"/commerce-jtbd-persona --mode persona"
→ 메인 페르소나: 박지연(32세, 직장인, ...) + 보조 1: ... + 보조 2: ...
→ 마지막에 ai-slop-reviewer 자동 검수
"/commerce-jtbd-persona 반려견 간식 — JTBD부터 페르소나까지 한 번에"
→ JTBD 9개 → 페르소나 3명 순차 실행json{ "mode": "jtbd", "product": "{상품명}", "jtbd": { "functional": [ {"id": "F1", "job": "JTBD 내용", "market_keyword": "매핑 키워드", "priority": 1}, {"id": "F2", "job": "...", "market_keyword": "...", "priority": 2}, {"id": "F3", "job": "...", "market_keyword": "...", "priority": 3} ], "emotional": [ {"id": "E1", "job": "...", "market_keyword": "...", "priority": 1}, {"id": "E2", "job": "...", "market_keyword": "...", "priority": 2}, {"id": "E3", "job": "...", "market_keyword": "...", "priority": 3} ], "social": [ {"id": "S1", "job": "...", "market_keyword": "...", "priority": 1}, {"id": "S2", "job": "...", "market_keyword": "...", "priority": 2}, {"id": "S3", "job": "...", "market_keyword": "...", "priority": 3} ] }, "market_match_priority": ["F1", "E2", "S1", "F2", "E1", "S3", "F3", "E3", "S2"] }
json{ "mode": "persona", "data_source": "본인 리뷰 {N}건 | 대체 데이터 여부: {없음/있음}", "personas": [ { "role": "메인", "name": "이름", "age": 32, "job": "직업", "daily_life": "일상 묘사 (2~3문장)", "needs": "핵심 니즈", "frustrations": "주요 불만", "values": "가치관", "purchase_decision": "구매결정요인 (상위 3개)" }, { "role": "보조1", "name": "...", "...": "..." }, { "role": "보조2", "name": "...", "...": "..." } ], "slop_review": { "status": "passed", "changes_made": 0, "notes": "ai-slop-reviewer 검수 결과" } }
mode=jtbd:
mode=persona:
체이닝 순서: commerce-market-research → commerce-jtbd-persona --mode jtbd → commerce-jtbd-persona --mode persona → commerce-detail-page-copy --mode copy → commerce-product-naming → cs-channel-message
commerce-market-research — 시장조사 1장 (이전 단계, mode=jtbd 입력)commerce-detail-page-copy --mode copy — 페르소나 기반 카피 2세트 생성commerce-product-naming — JTBD 기반 상품명 3안cs-channel-message — JTBD·페르소나 기반 NCM 채널별 메시지 15종design-copywriting 또는 commerce-detail-page-copy 사용design-brand-system 사용| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-11 | pass→pass | 13,361 | 8,950 | -33% | 1 | 1 | 0% | 2,645 | 5,069 | +92% | 0 | 0 | — |
case-13 | fail→pass | 14,846 | 11,685 | -21% | 1 | 1 | 0% | 2,849 | 5,392 | +89% | 0 | 0 | — |
case-14 | fail→pass | 8,325 | 4,295 | -48% | 1 | 1 | 0% | 1,608 | 4,034 | +151% | 0 | 0 | — |
case-20 | fail→fail | 8,003 | 11,694 | +46% | 1 | 1 | 0% | 1,172 | 4,948 | +322% | 0 | 0 | — |
case-01 | fail→pass | 23,917 | 15,209 | -36% | 1 | 1 | 0% | 4,544 | 5,932 | +31% | 0 | 0 | — |
case-02 | fail→pass | 22,113 | 17,296 | -22% | 1 | 1 | 0% | 3,716 | 5,797 | +56% | 0 | 0 | — |
case-03 | fail→pass | 27,309 | 30,794 | +13% | 1 | 1 | 0% | 4,293 | 8,156 | +90% | 0 | 0 | — |
case-04 | fail→pass | 18,170 | 21,617 | +19% | 1 | 1 | 0% | 2,944 | 6,840 | +132% | 0 | 0 | — |
case-05 | pass→pass | 14,966 | 7,672 | -49% | 1 | 1 | 0% | 2,495 | 4,470 | +79% | 0 | 0 | — |
case-06 | pass→pass | 15,280 | 11,527 | -25% | 1 | 1 | 0% | 2,413 | 4,976 | +106% | 0 | 0 | — |
case-12 | pass→pass | 13,186 | 14,705 | +12% | 1 | 1 | 0% | 2,473 | 5,929 | +140% | 0 | 0 | — |
case-07 | pass→pass | 15,702 | 13,437 | -14% | 1 | 1 | 0% | 2,250 | 5,225 | +132% | 0 | 0 | — |
case-08 | pass→pass | 17,937 | 19,155 | +7% | 1 | 1 | 0% | 2,765 | 6,087 | +120% | 0 | 0 | — |
case-09 | pass→pass | 19,081 | 12,619 | -34% | 1 | 1 | 0% | 3,038 | 5,336 | +76% | 0 | 0 | — |
case-10 | fail→pass | 15,307 | 10,109 | -34% | 1 | 1 | 0% | 2,693 | 4,909 | +82% | 0 | 0 | — |
case-15 | fail→pass | 6,533 | 2,225 | -66% | 1 | 1 | 0% | 1,084 | 3,569 | +229% | 0 | 0 | — |
case-16 | pass→pass | 10,820 | 3,800 | -65% | 1 | 1 | 0% | 1,857 | 3,821 | +106% | 0 | 0 | — |
case-17 | pass→pass | 15,458 | 6,921 | -55% | 1 | 1 | 0% | 2,535 | 4,340 | +71% | 0 | 0 | — |
case-18 | pass→pass | 16,584 | 14,510 | -13% | 1 | 1 | 0% | 2,509 | 5,559 | +122% | 0 | 0 | — |
case-19 | pass→pass | 16,824 | 14,819 | -12% | 1 | 1 | 0% | 2,797 | 5,404 | +93% | 0 | 0 | — |
case-21 | fail→fail | 23,830 | 15,195 | -36% | 1 | 1 | 0% | 3,842 | 5,601 | +46% | 0 | 0 | — |
case-22 | fail→fail | 16,461 | 18,529 | +13% | 1 | 1 | 0% | 2,632 | 6,258 | +138% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +36 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.