--- name: prd-generator description: 아이디어·사용자 설명·기존 프로젝트를 바탕으로 docs/PRD.md에 요구 ID와 관찰 가능한 수용 기준, 자율운영 합의를 작성하거나 필요한 부분을 갱신한다. --- # 요구와 완료 기준 ## 목적과 입력 PRD는 누구에게 어떤 결과를 제공할지 정한다. 사용자 요청·기존 합의·`docs/IDEA.md`가 있으면 읽고 기존 코드의 현재 동작을 조사한다. IDEA가 없다는 이유로 명확한 요청을 다시 브레인스토밍하지 않는다. 기존 PRD·후속 문서·상태가 있으면 먼저 읽어 확정 결정과 진행을 이어받는다. ## 최소 산출물 `docs/PRD.md`에 다음 정보가 있으면 충분하다. 작은 프로젝트는 짧게 쓴다. - 목적·사용자·핵심 흐름·포함/제외와 우선순위 - 기능 `FR-xxx`, 필요한 비기능 `NFR-xxx`와 각각의 관찰 가능한 수용 기준 - 사용자 목표 연결이 필요하면 `US-xxx`; 가정·중요 제약·남은 미결 `OQ-xxx` - `## 자율운영 합의` 수용 기준은 입력/행동과 화면·응답·저장값 등 확인할 결과를 적는다. 중요한 오류·권한·빈 입력 경로를 포함하고 수치가 필요하면 조건과 측정 방법을 함께 쓴다. “편리하다·안정적이다”만으로 완료를 판정하지 않는다. P0/P1/P2는 실제 중요도로 정하며 비율을 맞추지 않는다. 기술명은 사용자 제약일 때 기록한다. 기술 선정은 TRD, 계약·구조는 Architecture, 순서는 Plan의 책임이다. ## 사용자와 정하기 - Loop 전 PRD는 사용자와 소통하며 쓴다. 요구의 구체성과 사용자 맞춤에 필요한 만큼 충분히 묻고 질문 수를 줄이는 것을 목표로 삼지 않는다. 요청·IDEA에 없는 사용자 결정(사용자 역할·사용 상황·포함/제외 경계·P0 범위·중요 오류와 권한 처리·NFR 목표 수치)을 에이전트 가정으로 채워 확정하지 않는다. - 이런 결정은 작성 전에 한 번에 소수씩, 답에서 이어지는 질문으로 여러 차례 선택지·묻는 이유·추천안과 함께 묻는다. 사실 확인·실험으로 답할 것은 객관식으로 묻지 않고 '알아봐야 한다'는 답도 열어 둔다. - 단계를 마칠 때 핵심 FR·우선순위·주요 수용 기준과 남은 사용자 결정을 요약해 확인받는다. 미응답은 OQ 사용자 결정으로 남기고 확정 기준으로 쓰지 않는다. - 이미 답했거나 명시 위임된 항목은 묻지 않는다. 사용자가 자기 말로 질문 없이 진행을 지시했거나 질문할 수 없는 세션이면 가정·미결로 기록하고 보고에서 먼저 확인할 항목으로 올린다. ## 시각 미리보기와 사용자 확정 - 화면이 있는 제품은 요구 정리 후 본격적인 화면 구현과 해당 제품 Loop 전에 검토 가능한 실제 렌더링 미리보기와 사용자의 최종 시각 결정을 확보한다. - 정본은 `docs/DESIGN.md` 또는 기존 동등 문서로 두고 선호·참고 방향, 결정 대상과 미결을 연결한다. - 실제 가용 호스트 도구를 확인해 아티팩트·로컬 페이지·앱·이미지 등 적합한 수단으로 미리보기를 준비하며 제품명으로 기능을 가정하지 않는다. - 미리보기에 필요한 최소 잠정 기술 선택은 허용하되 최종 기술 선정은 TRD에 잇고, 대안 수·라이브러리·프레임워크를 강제하지 않는다. - 정보 위계·타이포그래피·색과 대비·간격과 정렬·주요 상태·반응형을 대상에 맞는 관찰 가능한 시각 품질 기준으로 정한다. - 미리보기 자산과 재현에 필요한 자료를 지속 경로에 보존하고 정본에 연결한다. 일시적 링크만 남기지 않는다. - 정본에 사용자의 선택·승인 근거·대상 버전·적용 범위를 기록한다. 기술·아키텍처 위임, 침묵과 경과 시간은 최종 시각 승인이 아니다. - 문서만 요청하면 미리보기 구현을 강제하지 않고 미결과 다음 행동을 기록한다. 개발 요청이면 추상적 질문에 그치지 않고 실제 미리보기를 준비해 사용자 결정을 받는다. 결정을 받기 전에는 미리보기를 화면 구현보다 먼저 만들고 임시 후보로 UI를 구현·완료하지 않는다. - 확인 가능한 승인 기준선은 그 범위에서 재사용한다. 시각을 보존하는 버그 수정·리팩터링과 CLI·문서 작업에는 새 디자인 절차를 요구하지 않는다. - 필수 시각 승인을 충족한 범위에서 후속 단계의 재승인을 생략하며, 준비 비용은 기존 전체 예산에 포함한다. DESIGN의 미결·재개 조건 기록은 질문 파일 금지와 별개다. ## 자율운영 합의 실행 전에 코드·문서·OS·도구·권한·외부 의존을 조사한다. 직접 확인할 사실은 질문하지 않는다. 기존 합의를 재사용하고 사용자만 정할 핵심 빈칸을 미리 묶어 묻는다. 합의 절에는 아래를 최소 기록한다. - 목표/제외와 기술·설계 선택 재량 - 허용된 코드·문서·테스트·의존성·로컬 환경 변경 및 복구 - 외부 접근·비용·데이터 경계, 시간/사용량 상한, 커밋·게시 권한 - 역할별 기본 모델과 사용량 한도 도달 시 처리(대기 후 재개·허용 대체 모델·중단) - 막혔을 때 허용 대안과 최종 미완료 처리 - 실행 환경(Orca / 일반 / Others)이 정해졌으면 그 선택 각 항목에는 출처를 `(사용자)`·`(에이전트 기본값)`·`(미정)`으로 표시한다. 사용자가 직접 답하거나 확인한 것만 `(사용자)`이며, 에이전트 기본값은 사용자가 확인하기 전까지 합의로 쓰지 않는다. '답이 없으면 기본값으로 하겠다'는 식으로 확인을 생략하지 않는다. 답하지 않은 항목은 `(미정)`으로 두고 `(사용자)`로 적지 않는다. 시간 상한은 실행·검증·복구·결과 회수를 포함한 전체 예산으로 두고 측정 불가 사용량은 미확인으로 남긴다. 환경 준비·네 게이트·독립 검증·분석 전환의 상세 운영은 Harness/Loop에 연결하고 여기서 복제하지 않는다. 사용자 명시 기본값 변경·자식 실행 금지를 우선하며 달라진 보장과 미검증을 합의에 기록한다. 이전 합의는 원래 위치를 참조해도 된다. 문서화만 요청됐다면 실행 권한은 미합의로 표시하고 구현을 강제하지 않는다. 필수 권한이나 핵심 결정이 미해소이면 자율 실행 준비 완료로 표시하지 않는다. 미응답을 승인으로 해석하지 않는다. Loop 이후 합의 안에서 질문·재승인·수동 조작 요청 없이 구현·검증·복구한다. 새 권한이 필요한 작업과 의존 작업은 차단하고 독립 작업을 마친 뒤 증거와 재개 조건을 남긴 미완료 결과로 끝낸다. ## 미결과 갱신 - 미결은 사용자 결정 / 사실 확인 / 실험 / 유예로 구분하고 영향 요구와 해소 방법을 적는다. 확인·실험을 사용자에게 추측하게 하지 않는다. 위임된 선택은 스스로 결정하고 근거를 남긴다. - 기존 FR/NFR/US/OQ ID·절 참조·사용자 수정·상태를 보존한다. 새 번호는 끝에 붙인다. OQ 번호는 관련 프로젝트 문서 전체에서 충돌하지 않게 확인한다. - 폐기/대체와 해소 이력을 연결한다. 기존 추적표의 해당 행만 맞추고 계획됨·구현됨 상태를 초기화하지 않는다. - 충돌은 가장 앞의 영향 부분(IDEA 포함)부터 고치고 근거·현재 기준 포인터를 남긴다. 통과 편의로 기준을 낮추거나 요청 범위를 몰래 바꾸지 않는다. - 후미 절 요청은 `## 추가 N`·`## 리팩토링 N`을 보존한다. 필요한 후속 문서와 루트 포인터만 갱신한다. ## 완료 증거와 연결 작업 시작·중요 결정·종료 때 PRD나 기존 STATE/LOG에 현재 단계·확정/미결·다음 행동과 근거를 증분 저장한다. 원 대화 없이 요구·합의를 이어받게 하되 작은 문서 요청에 전체 계획 체계를 강제하지 않는다. 요청의 모든 포함 항목이 수용 기준이나 명시적 미결로 연결되는지, 제약과 기준이 모순되지 않는지 확인한다. 변경 ID·기준·차단·합의 범위를 보고한다. 문서 완성과 실제 제품 검증 결과를 구분한다. 기획만 요청됐다면 여기서 끝내고 다음 스킬을 제안한다. 다음 단계는 필요한 시각 미리보기·사용자 확정을 거친 `trd-generator`다. 단계를 마치면 결과(요약·주요 결정·가정·남은 결정)를 보고하고 다음 스킬로 이어 진행할지 사용자에게 확인한다. 수정 요청은 반영해 다시 보고한다. Loop 실행 전까지 모든 단계에 적용하며, 사용자가 자기 말로 단계별 확인 생략을 지시했을 때만 확인 없이 이어 간다. '만들어줘'·'끝까지'나 사전 권한·예산 합의만으로는 생략하지 않고, 에이전트는 확인 생략이나 자동 진행을 먼저 권하거나 추천하거나 생략 방법을 안내하지 않으며, 그렇게 받은 선택도 근거가 아니다. 진행이 확인되면 실행을 사용자에게 떠넘기지 않는다. 필수 디자인 선택은 앞단에서 받되 이미 확정한 내용을 재승인받지 않고 승인된 실행을 사용자에게 넘기지 않는다. ## 환경 참고 도구 차이가 필요할 때만 [Claude Code](references/claude-code.md) 또는 [Codex](references/codex.md)를 읽는다.