| name | rn-harness-research |
| description | Phase 1 โ Market research and idea discovery via store top charts and competitor analysis. |
| allowed-tools | ["Read","Write","Edit","Bash","Glob","Grep","WebFetch","WebSearch","AskUserQuestion"] |
rn-harness-research โ Phase 1: ์์ฅ ์กฐ์ฌ & ์์ด๋์ด ๋ฐ๊ตด
์์ด๋์ด๊ฐ ์์ผ๋ฉด ์์ฅ์ ์กฐ์ฌํ๊ณ , ์์ผ๋ฉด ์ง์ ์ฐพ์์ ์ ์ํ๋ค.
Trigger
์ค์ผ์คํธ๋ ์ดํฐ(/rn-harness)์์ Phase 1์ผ๋ก ํธ์ถ๋จ.
Input
docs/harness/config.md์ app_idea
docs/harness/references/ (์์ผ๋ฉด)
Process
Step 0: ๋ชจ๋ ํ๋ณ
app_idea๋ฅผ ํ์ธ:
- ๊ตฌ์ฒด์ ์์ด๋์ด (์: "์ปคํผ ๊ตฌ๋
์ฑ") โ Mode A: ์์ฅ ์กฐ์ฌ
- ๋น ๊ฐ / ๋ชจํธํ ์์ฒญ (์: "๋ญ ๋ง๋ค๊น", "์์์", "") โ Mode B: ์์ด๋์ด ๋ฐ๊ตด
Mode A: ์์ฅ ์กฐ์ฌ (์์ด๋์ด๊ฐ ์์ ๋)
Step 1: ์์ด๋์ด ๋ถ์
app_idea๋ฅผ ์ฝ๊ณ ๋ค์์ ํ์
:
- ํต์ฌ ๋๋ฉ์ธ (๊ฑด๊ฐ, ๊ธ์ต, ๊ต์ก, ์ปค๋จธ์ค ๋ฑ)
- ํ๊ฒ ์ฌ์ฉ์์ธต
- ํต์ฌ ๊ฐ์น ์ ์
Step 2: ์์ฅ ์กฐ์ฌ
WebSearch๋ฅผ ์ฌ์ฉํ์ฌ:
- ์นดํ
๊ณ ๋ฆฌ ํธ๋ ๋: ํด๋น ์นดํ
๊ณ ๋ฆฌ App Store/Google Play ์ธ๊ธฐ ์ฑ ์กฐ์ฌ
- ๊ฒฝ์ ์ฑ ๋ถ์: ์์ 5~10๊ฐ ๊ฒฝ์ ์ฑ ๋ถ์
- ์ฑ ์ด๋ฆ, ํ์ , ์ฃผ์ ๊ธฐ๋ฅ, ๊ฐ์ , ์ฝ์
- ์ ์ ๋ฆฌ๋ทฐ์์ ๋ฐ๋ณต๋๋ ๋ถ๋ง/์์ฒญ ์ฌํญ
- ์์ฅ ๊ธฐํ: ๊ฒฝ์ ์ฑ์ด ๋์น๊ณ ์๋ ์์ญ
- ์์ตํ ๋ชจ๋ธ: ํด๋น ์นดํ
๊ณ ๋ฆฌ์์ ํํ ์์ต ๋ชจ๋ธ (๊ด๊ณ , ๊ตฌ๋
, ์ธ์ฑ๊ฒฐ์ )
Step 3: ์ฐจ๋ณํ ์ ๋ต ์๋ฆฝ
๊ฒฝ์ ๋ถ์ ๊ธฐ๋ฐ์ผ๋ก:
- ํต์ฌ ์ฐจ๋ณ์ 3๊ฐ์ง
- MVP ํต์ฌ ๊ธฐ๋ฅ ๋ฆฌ์คํธ
- "์ด ์ฑ์ ์ฐ๋ ์ด์ " ํ ์ค ์ ์
Step 4: ๊ธฐ์ ํ๋น์ฑ ๊ฒํ
React Native + Expo๋ก ๊ตฌํ ๊ฐ๋ฅํ์ง:
- ํ์ํ ๋ค์ดํฐ๋ธ ๋ชจ๋ ํ์ธ
- Expo SDK ์ง์ ์ฌ๋ถ
- ์๋ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์กด์ฌ ์ฌ๋ถ
- ๋ฐฑ์๋ ์๊ตฌ์ฌํญ (Firebase, Supabase ๋ฑ)
โ Step 10: ์ฌ์ฉ์ ํ์ธ์ผ๋ก ์ด๋
Mode B: ์์ด๋์ด ๋ฐ๊ตด (์์ด๋์ด๊ฐ ์์ ๋)
Step 5: ์คํ ์ด ํ ์ฐจํธ ์กฐ์ฌ
WebSearch๋ก ํ์ฌ ์ธ๊ธฐ ์ฑ ํธ๋ ๋ ๋ถ์:
-
App Store ์นดํ
๊ณ ๋ฆฌ๋ณ Top 100 ์กฐ์ฌ
- ์์ฐ์ฑ, ๊ฑด๊ฐ/ํผํธ๋์ค, ๊ธ์ต, ๊ต์ก, ๋ผ์ดํ์คํ์ผ, ์ ํธ๋ฆฌํฐ
- ์ต๊ทผ ๊ธ์์นํ ์ฑ, ์๋ก ์ถ์๋ ์ฑ
- ํ๊ตญ ์คํ ์ด + ๋ฏธ๊ตญ ์คํ ์ด ๋์ ์กฐ์ฌ
-
Google Play ์ธ๊ธฐ ์ฐจํธ ์กฐ์ฌ
- ๋ฌด๋ฃ ์ธ๊ธฐ, ์ ๋ฃ ์ธ๊ธฐ, ์ธ๊ธฐ ๊ธ์์น
- ์นดํ
๊ณ ๋ฆฌ๋ณ ํธ๋ ๋
-
์ต๊ทผ ํธ๋ ๋ ํค์๋
- "2026 ์ฑ ํธ๋ ๋", "์ธ๊ธฐ ์ฑ ์นดํ
๊ณ ๋ฆฌ"
- ProductHunt, TechCrunch ์ต์ ์ฑ ์์
Step 6: 1์ธ ๊ฐ๋ฐ ํํฐ๋ง
๋ฐ๊ฒฌํ ํธ๋ ๋/์์ด๋์ด๋ฅผ ๋ค์ ๊ธฐ์ค์ผ๋ก ํํฐ๋ง:
| ๊ธฐ์ค | ์กฐ๊ฑด |
|---|
| 1์ธ ๊ฐ๋ฐ ๊ฐ๋ฅ | 2์ฃผ ์ด๋ด MVP ๊ตฌํ ๊ฐ๋ฅํ ๋ฒ์ |
| ์๋ฒ ๋ถํ์ | ๋ก์ปฌ ์ ์ฅ (AsyncStorage/SQLite) ๋๋ Firebase/Supabase ๋ฌด๋ฃ ํฐ์ด |
| ๋ค์ดํฐ๋ธ ๋ชจ๋ ์ต์ | Expo SDK๋ก ๋๋ถ๋ถ ์ปค๋ฒ ๊ฐ๋ฅ |
| ์์ตํ ๊ฐ๋ฅ | AdMob ๊ด๊ณ ๋๋ ๊ฐ๋จํ ์ธ์ฑ๊ฒฐ์ ๋ก ์์ต ๊ฐ๋ฅ |
| ๊ฒฝ์ ๊ฐ๋ | ๋ํ ๊ธฐ์
์ด ๋
์ ํ์ง ์๋ ํ์ ์์ญ |
| ์ ์ง๋ณด์ ๋ถ๋ด ๋ฎ์ | ์ฝํ
์ธ ์
๋ฐ์ดํธ/์๋ฒ ๊ด๋ฆฌ ๋ถํ์ |
Step 7: ์์ด๋์ด ํ๋ณด ์์ฑ
3~5๊ฐ ์์ด๋์ด๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์:
### ์์ด๋์ด 1: [์ฑ ์ด๋ฆ]
- **ํ ์ค ์๊ฐ**: ...
- **ํ๊ฒ**: ...
- **ํต์ฌ ๊ธฐ๋ฅ 3๊ฐ์ง**:
1. ...
2. ...
3. ...
- **์ฐจ๋ณ์ **: ๊ธฐ์กด [๊ฒฝ์์ฑ]์ [์ฝ์ ]์ด ์๋๋ฐ ์ด ์ฑ์ [๊ฐ์ ]
- **์์ตํ**: AdMob ๋ฐฐ๋ + ์ ๋ฉด ๊ด๊ณ (์์ DAU X๋ช
๊ธฐ์ค ์ $Y)
- **๊ธฐ์ ํ๋น์ฑ**: Expo SDK ์ปค๋ฒ / ์๋ฒ ๋ถํ์ / ์์ ๊ฐ๋ฐ ๊ธฐ๊ฐ N์ผ
- **์์ฅ ๊ทผ๊ฑฐ**: [ํ์ฐจํธ ์ฑ]์ ๋ฆฌ๋ทฐ์์ [๋ถ๋ง]์ด ๋ฐ๋ณต๋จ โ ๊ธฐํ
Step 8: ๊ฐ ํ๋ณด๋ณ ๊ฒฝ์ ์ฑ ๋ถ์
๊ฐ ์์ด๋์ด์ ์ง์ ๊ฒฝ์ ์ฑ 3~5๊ฐ ๋ถ์:
- ์ฑ ์ด๋ฆ, ํ์ , ๋ค์ด๋ก๋ ์, ์ฃผ์ ๊ธฐ๋ฅ
- ์ ์ ๋ฆฌ๋ทฐ ์ฃผ์ ๋ถ๋ง์
- ์ฐ๋ฆฌ๊ฐ ๋
ธ๋ฆด ์ ์๋ ํ์
Step 9: ์ฌ์ฉ์์๊ฒ ์ ํ ์์ฒญ
AskUserQuestion:
์์ฅ ์กฐ์ฌ ๊ฒฐ๊ณผ ๋ค์ ์์ด๋์ด๋ฅผ ์ถ์ฒํฉ๋๋ค:
1. [์์ด๋์ด 1] โ [ํ ์ค ์๊ฐ]
์ถ์ฒ ์ด์ : [๊ทผ๊ฑฐ]
2. [์์ด๋์ด 2] โ [ํ ์ค ์๊ฐ]
์ถ์ฒ ์ด์ : [๊ทผ๊ฑฐ]
3. [์์ด๋์ด 3] โ [ํ ์ค ์๊ฐ]
์ถ์ฒ ์ด์ : [๊ทผ๊ฑฐ]
์ด๋ค ์์ด๋์ด๋ก ์งํํ ๊น์? (๋ฒํธ ๋๋ ์ ์์ด๋์ด)
์ฌ์ฉ์ ์ ํ ํ โ ์ ํ๋ ์์ด๋์ด๋ก Mode A Step 2~4 ์คํ (์ฌํ ์กฐ์ฌ)
Step 10: ์ฌ์ฉ์ ํ์ธ
AskUserQuestion์ผ๋ก ์กฐ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๊ณต์ ํ๊ณ ๋ฐฉํฅ ํ์ธ:
- "์กฐ์ฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด์ฃผ์ธ์. ์์ ํ ๋ถ๋ถ์ด ์์ผ๋ฉด ์๋ ค์ฃผ์ธ์."
- ์ฌ์ฉ์ ํผ๋๋ฐฑ ๋ฐ์
Output
docs/harness/specs/YYYY-MM-DD-research.md:
# ์์ฅ ์กฐ์ฌ ๋ณด๊ณ ์
## ๋ชจ๋
[A: ์์ฅ ์กฐ์ฌ / B: ์์ด๋์ด ๋ฐ๊ตด]
## ์ฑ ์์ด๋์ด
[์ต์ข
์ ํ๋ ์์ด๋์ด]
## ์์ฅ ๋ถ์
### ์คํ ์ด ํธ๋ ๋ (Mode B์ธ ๊ฒฝ์ฐ)
[ํ ์ฐจํธ ๋ถ์ ๊ฒฐ๊ณผ]
### ์นดํ
๊ณ ๋ฆฌ ํธ๋ ๋
[์กฐ์ฌ ๊ฒฐ๊ณผ]
### ๊ฒฝ์ ์ฑ ๋ถ์
| ์ฑ | ํ์ | ๋ค์ด๋ก๋ | ์ฃผ์ ๊ธฐ๋ฅ | ๊ฐ์ | ์ฝ์ |
|---|---|---|---|---|---|
### ์์ฅ ๊ธฐํ
[๊ฒฝ์ ์ฑ์ด ๋์น๋ ์์ญ]
## ์ฐจ๋ณํ ์ ๋ต
1. [์ฐจ๋ณ์ 1]
2. [์ฐจ๋ณ์ 2]
3. [์ฐจ๋ณ์ 3]
## ํต์ฌ ๊ฐ์น ์ ์
[ํ ์ค ์ ์]
## MVP ๊ธฐ๋ฅ ๋ฆฌ์คํธ
### P0 (ํ์)
- [ ] ๊ธฐ๋ฅ 1
- [ ] ๊ธฐ๋ฅ 2
### P1 (์ค์)
- [ ] ๊ธฐ๋ฅ 3
### P2 (๋์ค์)
- [ ] ๊ธฐ๋ฅ 4
## ์์ตํ ์ ๋ต
[๊ด๊ณ , ๊ตฌ๋
, ์ธ์ฑ๊ฒฐ์ ๋ฑ]
## ๊ธฐ์ ํ๋น์ฑ
### 1์ธ ๊ฐ๋ฐ ์ ํฉ์ฑ
- ์์ ๊ฐ๋ฐ ๊ธฐ๊ฐ: [N์ผ]
- ์๋ฒ ํ์: [๋ถํ์ / Firebase ๋ฌด๋ฃ ํฐ์ด]
- Expo SDK ์ปค๋ฒ: [O/X, ํ์ ๋ค์ดํฐ๋ธ ๋ชจ๋]
### React Native + Expo ํธํ์ฑ
[๊ฒํ ๊ฒฐ๊ณผ]
### ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
[๋ชฉ๋ก]
### ๋ฐฑ์๋ ์๊ตฌ์ฌํญ
[์์ / Firebase / Supabase ๋ฑ]
State Update
์๋ฃ ํ state.md ์
๋ฐ์ดํธ:
current_phase: plan
next_role: rn-harness-plan
HARD GATES
- WebSearch๋ฅผ ๋ฐ๋์ ์ฌ์ฉํ์ฌ ์ค์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ผ๋ก ์กฐ์ฌ
- ๊ฒฝ์ ์ฑ ์ต์ 3๊ฐ ์ด์ ๋ถ์
- Mode B: ์์ด๋์ด ์ต์ 3๊ฐ ์ด์ ์ ์
- Mode B: 1์ธ ๊ฐ๋ฐ ๊ฐ๋ฅ + ์๋ฒ ๋ถํ์(๋๋ ์ต์) ํํฐ ํ์
- ์ฌ์ฉ์ ํ์ธ ์์ด ๋ค์ Phase๋ก ์งํ ๊ธ์ง