← ClaudeAtlas

discover-productlisted

Run a multi-round discovery (persona / pain / JTBD / scenario / MVP / assumptions) and write DISCOVERY.md.
kohj1018/agentic-dev-harness · ★ 2 · AI & Automation · score 81
Install: claude install-skill kohj1018/agentic-dev-harness
이 skill은 메인 세션이 R0~R4 라운드를 직접 운전하는 절차서다. 무거운 추론(R0의 페르소나 후보, R1의 pain inventory)은 architect 단발 sub-call로 위임한다. R0~R3 산출물은 메인 컨텍스트에 누적시키지 않고 `docs/10-charter/DISCOVERY.md`에 누적 적재한다. **트레이드오프 명시** — 이 skill은 의도적으로 fork 격리를 풀고 메인 세션이 사용자 인터랙션을 직접 운전한다. R0~R3 산출물은 `DISCOVERY.md`에 적재해 메인 컨텍스트 부담을 최소화하지만, 라운드 요약 일부는 메인에 남는다. 종료 후 사용자가 `/clear` 또는 새 세션으로 컨텍스트를 정리할 것을 권장한다. **Codex**: 본 skill은 wrapper 미보유(자연어 호출) — Codex에서는 "Follow `.claude/skills/discover-product/SKILL.md`"로 호출한다(목록 SSOT = README, ADR-010#amend-3·#amend-4). 입력: - `$ARGUMENTS`에 자연어 설명이 들어온다. - `--fast` 플래그가 있으면 R0의 페르소나 후보 제시·선택을 건너뛰고 R3(가정 정리)도 생략한 채 R1+R2+R4만 도는 단축 흐름. 단, R1은 페르소나 입력이 필요하므로 다음 절차로 페르소나를 확보한다: 1. `$ARGUMENTS`에 페르소나가 한 줄이라도 명시되어 있으면 그것을 그대로 사용한다(예: `--fast 회고 SaaS — 페르소나: 직장인 개인 사용자`). 2. 명시되지 않았으면 architect 단발 sub-call로 페르소나 후보 1개를 *자동 선정*하고, 해당 페르소나를 가정으로 표시해 R1을 진행한다(출력에 "이 페르소나는 fast 모드의 R0 사용자 확인 단계를 생략한 자동 선정 결과이며, 가정으로 취급한다"를 명시). 3. 사용자가 마음에 들지 않으면 `/discover-product` (fast 없이)로 재실행하면 된다는 안내를 출력에 포함. 사용자 응답 수단: - 라운드별 응답은 자연어로만 받는다(`AskUserQuestion`은 [공식 문서](https://code.claude.com/docs/en/agent-sdk/user-input)의 Limitations 섹션 기준 sub-agent에서 사용 불가). - 매 라운드 끝에 `skip` / `good` / `refine: ...`로 응답할 수 있다. 라운드 출력 포맷 (ADR-046 출력 스타일 — 사용자-facing 표면만 압축, 내부 분석·DISCOVERY.md 적재 내용은 불변): 각 라운드는 다음 고정 포맷으로 압축해 출력한다. ``` 이번 결정: <1~2줄> 확인 필요: <있으면 ≤3개, 없으면 생략> 답변: skip / good / refine: … ``` 단, 사용자가 *선택해야 하는* 옵션(R0 페르소나 후보·R1 pain 목록 등)은 선택 가능하도록 보존한다 — 압축은 framing·서술에만 적용하고 선택지 자체는 빠뜨리지 않는다(A