day6-prd-submit
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDay 6: PRD 작성 & PR 제출
Day 6: PRD撰写 & PR提交
PRD(Product Requirements Document) 초안을 템플릿 기반으로 작성하고, 필수 형식을 검증한 뒤, GitHub PR 제출 과정을 안내한다.
基于模板撰写PRD(Product Requirements Document)初稿,验证必填格式后,指导GitHub PR提交流程。
용어 정리
术语整理
이 스킬에서 사용하는 핵심 용어:
| 용어 | 설명 |
|---|---|
| PRD | Product Requirements Document. "이 프로젝트가 뭘 해결하고, 뭘 만드는지" 정리한 문서 |
| GitHub | 코드와 문서를 함께 관리하고 공유하는 온라인 서비스. Google Docs의 코드 버전 |
| GitHub ID | GitHub 사이트에서 나를 식별하는 이름. 프로필 URL의 마지막 부분 (github.com/여기) |
| Repository (Repo) | 프로젝트 파일이 모여있는 폴더. Google Drive의 공유 폴더와 비슷 |
| 브랜치(Branch) | 원본을 건드리지 않고 내 작업 공간을 따로 만드는 것. "사본으로 저장"과 비슷 |
| 커밋(Commit) | 변경사항을 저장하는 것. Ctrl+S의 Git 버전 |
| Push | 내 컴퓨터에 저장한 것을 온라인(GitHub)에 올리는 것 |
| PR (Pull Request) | "내 작업을 확인해주세요"라고 운영진에게 보내는 검토 요청. 제출 버튼과 같다 |
| gh CLI | 터미널에서 GitHub을 조작할 수 있는 도구 |
本技能中使用的核心术语:
| 术语 | 说明 |
|---|---|
| PRD | Product Requirements Document. 整理「本项目要解决什么、要打造什么」的文档 |
| GitHub | 用于协同管理和共享代码与文档的在线服务,相当于代码版本的Google Docs |
| GitHub ID | 在GitHub平台标识个人的名称,即个人主页URL的末尾部分(github.com/此处内容) |
| Repository (Repo) | 存放项目文件的文件夹,类似Google Drive的共享文件夹 |
| Branch(分支) | 不改动原文件的前提下创建独立工作空间,类似「另存为副本」 |
| Commit(提交) | 保存更改内容,相当于Git版本的Ctrl+S |
| Push(推送) | 将本地保存的内容上传至在线平台(GitHub) |
| PR (Pull Request) | 向运营团队发送的「请审核我的工作」请求,相当于提交按钮 |
| gh CLI | 可在终端操作GitHub的工具 |
사전 요구사항
前置要求
이 스킬은 아래 환경이 갖춰져 있다고 가정한다. Step 0에서 자동 확인한다.
- 이 설치되어 있어야 한다
git - CLI가 설치되고 인증되어 있어야 한다
gh - 대상 repo가 clone 되어 있어야 한다
- repo에 push 권한(collaborator)이 있어야 한다
本技能默认以下环境已配置完成,将在Step 0自动检查:
- 已安装
git - 已安装并认证CLI
gh - 已克隆目标repo
- 拥有repo的推送权限(collaborator)
소요 시간 가이드
耗时指南
| Step | 주제 | 예상 시간 |
|---|---|---|
| 0 | 환경 체크 | ~1분 |
| 1 | GitHub ID 확인 | ~1분 |
| 2 | PRD 작성 + 검증 | ~10분 |
| 3 | 제출 (git + PR) | ~3분 |
| 합계 | ~15분 |
환경이 세팅되어 있으면 15분 내 완료 가능. 환경 문제 발생 시 +5~10분.
| Step | 主题 | 预计耗时 |
|---|---|---|
| 0 | 环境检查 | ~1分钟 |
| 1 | GitHub ID确认 | ~1分钟 |
| 2 | PRD撰写 + 验证 | ~10分钟 |
| 3 | 提交(git + PR) | ~3分钟 |
| 总计 | ~15分钟 |
环境已配置完成的情况下可在15分钟内完成,若遇环境问题需额外耗时5~10分钟。
PRD 템플릿
PRD模板
markdown
undefinedmarkdown
undefined[프로젝트 제목]
[项目标题]
문제
问题
한 줄: 누구의, 어떤 불편을, 어떻게 해결하는가
- 현재 상태: (구체적 수치 — 몇 건, 몇 분, 몇 명)
- 원하는 상태: (1주 후 돌아가고 있을 모습)
- 성공 기준: (숫자로 판단 가능한 것 1~2개)
一句话说明:为谁解决什么痛点,如何解决
- 当前状态: (具体数据 — 多少件、多少分钟、多少人)
- 期望状态: (1周后应达成的状态)
- 成功标准: (可量化的1~2项指标)
스킬
技能
| # | 스킬명 | 한 줄 설명 | 상태 |
|---|---|---|---|
| 1 | | 입력 → 출력 | ✅ 동작 / 🔨 진행중 |
| 2 | | 입력 → 출력 | ✅ 동작 / 🔨 진행중 |
| # | 技能名称 | 一句话说明 | 状态 |
|---|---|---|---|
| 1 | | 输入 → 输出 | ✅ 已运行 / 🔨 进行中 |
| 2 | | 输入 → 输出 | ✅ 已运行 / 🔨 进行中 |
변화 기록
变更记录
- Day 1: "처음 정의" →
- Day 6: "지금 정의" →
- 가장 크게 달라진 점:
---- Day 1: 「初始定义」→
- Day 6: 「当前定义」→
- 最大变更点:
---실행 흐름
执行流程
Step 0 Step 1 Step 2 Step 3
환경 체크 → GitHub ID 확인 → PRD 작성/검증 → 제출 (git + PR)Step 0 Step 1 Step 2 Step 3
环境检查 → GitHub ID确认 → PRD撰写/验证 → 提交(git + PR)Step 0: 환경 사전 체크
Step 0: 环境前置检查
스킬 시작 시 진행 전에 아래를 자동으로 확인한다:
bash
git --version
gh --version
gh auth status
git remote -v결과를 참가자에게 보여준다:
=== 환경 체크 ===
✅ git: 설치됨
✅ gh CLI: 설치됨
✅ GitHub 로그인: 완료 (사용자: {detected-id})
✅ 프로젝트 폴더: 연결됨 ({repo-url})
환경 준비가 완료되었습니다!하나라도 실패하면 해당 항목의 해결 방법을 안내하고, 해결 후 다시 체크한다. 모든 항목이 통과할 때까지 다음 Step으로 진행하지 않는다.
| 실패 항목 | 안내 |
|---|---|
| git 미설치 | "git이 설치되어있지 않습니다. 운영진에게 도움을 요청해주세요." |
| gh CLI 미설치 | " |
| gh 미인증 | " |
| repo 연결 안 됨 | "프로젝트를 아직 내 컴퓨터에 다운로드하지 않았어요. 터미널에서 아래를 입력해주세요: |
技能启动时正式开始前将自动检查以下内容:
bash
git --version
gh --version
gh auth status
git remote -v向参与者展示检查结果:
=== 环境检查 ===
✅ git: 已安装
✅ gh CLI: 已安装
✅ GitHub 登录: 完成(用户: {detected-id})
✅ 项目文件夹: 已关联({repo-url})
环境准备完成!若有任意一项检查失败,将指导对应的解决方法,解决后重新检查,直至所有项通过后再进入下一Step。
| 失败项 | 指导内容 |
|---|---|
| 未安装git | "未安装git,请向运营团队寻求帮助。" |
| 未安装gh CLI | "请在终端输入 |
| gh未认证 | "请输入 |
| 未关联repo | "您尚未将项目下载至本地,请在终端输入以下命令: |
Step 1: GitHub ID 확인
Step 1: GitHub ID确认
Step 0에서 로 감지된 GitHub ID를 보여주고 확인만 받는다:
gh auth statusAskUserQuestion: "GitHub 사용자명이 '{detected-id}'가 맞나요?"
- 네, 맞습니다
- 아니요, 다른 ID입니다 (직접 입력)ID 형식 검증: 입력된 ID가 영문, 숫자, 하이픈()만 포함하는지 확인한다. 특수문자, 공백, 슬래시 등이 포함되면 안내 후 다시 입력받는다.
-입력된 ID는 소문자로 정규화한다.
이 ID는 이후 파일 경로와 브랜치명에 사용된다:
- 파일:
{github-id}/PRD.md - 브랜치:
prd/{github-id}
展示Step 0中通过检测到的GitHub ID,向参与者确认:
gh auth statusAskUserQuestion: "您的GitHub用户名是'{detected-id}'对吗?"
- 是,正确
- 不对,是其他ID(请直接输入)ID格式验证: 检查输入的ID是否仅包含英文、数字、连字符()。若包含特殊字符、空格、斜杠等,将提示重新输入。
-输入的ID将统一转换为小写格式。
该ID将用于后续的文件路径和分支名称:
- 文件路径:
{github-id}/PRD.md - 分支名称:
prd/{github-id}
Step 2: PRD 작성 또는 검증
Step 2: PRD撰写或验证
AskUserQuestion으로 현재 상태를 묻는다:
| 선택지 | 동작 |
|---|---|
| PRD 새로 작성하기 | Step 2-A: 템플릿 기반 작성 가이드 |
| 이미 작성한 PRD 검증하기 | Step 2-B: 기존 파일 검증 |
通过AskUserQuestion询问当前状态:
| 选项 | 操作 |
|---|---|
| 撰写新PRD | 进入Step 2-A: 基于模板的撰写指导 |
| 验证已撰写的PRD | 进入Step 2-B: 验证现有文件 |
Step 2-A: PRD 작성 가이드
Step 2-A: PRD撰写指导
- 위 PRD 템플릿을 보여준다
- AskUserQuestion으로 프로젝트 주제를 묻는다:
"어떤 프로젝트의 PRD를 작성할까요?"
- 캠프에서 만든 스킬 기반 (이번 주에 만든 스킬을 프로젝트로 발전)
- 업무 자동화 아이디어 (실제 업무에서 자동화하고 싶은 것)
- 직접 입력"캠프에서 만든 스킬 기반"을 선택하면, 디렉토리를 스캔하여 참가자가 만든 스킬 목록을 보여주고 선택하게 한다.
.claude/skills/-
참가자의 답변을 바탕으로 PRD 초안을 생성한다
-
초안을 터미널에 출력하고 AskUserQuestion:
| 선택지 | 동작 |
|---|---|
| 이대로 진행 | |
| 수정하고 싶어요 | 어떤 부분을 수정할지 묻고 (문제 정의 / 스킬 목록 / 변화 기록) 반영 후 다시 출력 |
- 중요: PRD 내용은 참가자의 실제 경험과 프로젝트를 반영해야 한다. 일반적인 예시가 아닌 캠프에서 만든 스킬, 실제 업무 문제를 담도록 유도한다.
- 展示上述PRD模板
- 通过AskUserQuestion询问项目主题:
"您要为哪个项目撰写PRD?"
- 基于训练营打造的技能(将本周打造的技能发展为项目)
- 业务自动化创意(实际工作中希望自动化的场景)
- 直接输入若选择「基于训练营打造的技能」,将扫描目录,展示参与者打造的技能列表供选择。
.claude/skills/-
根据参与者的回复生成PRD初稿
-
在终端输出初稿并通过AskUserQuestion确认:
| 选项 | 操作 |
|---|---|
| 按此版本继续 | 保存至 |
| 需要修改 | 询问需修改的部分(问题定义 / 技能列表 / 变更记录),调整后重新输出 |
- 重要提示: PRD内容需结合参与者的实际经验与项目,应引导其融入训练营打造的技能、实际业务问题等具体内容,而非通用示例。
Step 2-B: PRD 형식 검증
Step 2-B: PRD格式验证
{github-id}/PRD.md读取文件,按照以下 checklist 进行验证。
{github-id}/PRD.md검증 체크리스트
验证Checklist
| # | 항목 | 검증 방법 | 필수 |
|---|---|---|---|
| 1 | 프로젝트 제목 | | 필수 |
| 2 | 문제 섹션 | | 필수 |
| 3 | 현재 상태 | | 필수 |
| 4 | 원하는 상태 | | 필수 |
| 5 | 성공 기준 | | 필수 |
| 6 | 스킬 섹션 | | 필수 |
| 7 | 스킬 2개 이상 | 스킬 테이블에서 ` | 1 |
| 8 | 변화 기록 | | 필수 |
| # | 项目 | 验证方式 | 必填性 |
|---|---|---|---|
| 1 | 项目标题 | 是否存在以 | 必填 |
| 2 | 问题章节 | 是否存在 | 必填 |
| 3 | 当前状态 | 是否存在「当前状态」文本且内容长度≥10字 | 必填 |
| 4 | 期望状态 | 是否存在「期望状态」文本且内容长度≥10字 | 必填 |
| 5 | 成功标准 | 是否存在「成功标准」文本且内容长度≥10字 | 必填 |
| 6 | 技能章节 | 是否存在 | 必填 |
| 7 | 技能数量≥2个 | 技能表格中是否存在≥2条以` | 1 |
| 8 | 变更记录 | 是否存在 | 必填 |
검증 결과 출력
验证结果输出
=== PRD 형식 검증 결과 ===
[PASS] 또는 [보완 필요]
✅ 프로젝트 제목: 있음
✅ 문제 섹션: 있음
✅ 현재 상태: 있음
✅ 원하는 상태: 있음
✅ 성공 기준: 있음
✅ 스킬 섹션: 있음
✅ 스킬 2개 이상: 있음 (N개)
✅ 변화 기록: 있음
결과: 8/8 통과 → PASS보완 필요인 경우 누락된 항목을 구체적으로 안내한다:
❌ 성공 기준: 내용이 너무 짧습니다. 구체적인 숫자를 포함해주세요.
예) "주 3회 사용, 건당 처리 시간 30분 → 5분"=== PRD格式验证结果 ===
[通过] 或 [需补充]
✅ 项目标题: 已存在
✅ 问题章节: 已存在
✅ 当前状态: 已存在
✅ 期望状态: 已存在
✅ 成功标准: 已存在
✅ 技能章节: 已存在
✅ 技能数量≥2个: 已满足(共N个)
✅ 变更记录: 已存在
结果: 8/8 通过 → 验证通过若需补充,将具体说明缺失项:
❌ 成功标准: 内容过短,请补充具体量化指标。
示例) "每周使用3次,单任务处理时间从30分钟缩短至5分钟"Step 3: 제출 (git + PR)
Step 3: 提交(git + PR)
검증 PASS 후, AskUserQuestion:
"PRD 검증을 통과했습니다! GitHub에 제출할까요?"
- 네, 제출해주세요 (권장)
- 나중에 할게요"나중에 할게요" 선택 시: "준비되면 다시 이 스킬을 실행해주세요." 안내 후 종료.
"네, 제출해주세요" 선택 시 아래를 실행한다. 각 단계마다 한글 진행 상태를 출력한다:
[1/5] 최신 상태로 동기화하는 중...bash
git checkout main && git pull origin main[2/5] 제출용 공간을 만드는 중...bash
git checkout -b prd/{github-id}브랜치가 이미 존재하면로 전환한다.git checkout prd/{github-id}
[3/5] PRD 파일을 등록하는 중...bash
git add {github-id}/PRD.md로 스테이징된 파일이git status1개뿐인지 확인한다. 다른 파일이 포함되면 해당 파일을 unstage한다.{github-id}/PRD.md
[4/5] 저장하는 중...bash
git commit -m "feat: {github-id} PRD 초안 제출"[5/5] GitHub에 올리는 중...bash
git push origin prd/{github-id}push 완료 후, gh CLI로 PR을 생성한다:
bash
gh pr create --repo {owner/repo} --title "PRD: {github-id}" --body "$(cat <<'EOF'验证通过后,通过AskUserQuestion确认:
"PRD验证已通过!是否要提交至GitHub?"
- 是,请提交(推荐)
- 稍后再提交若选择「稍后再提交」,将提示「准备就绪后请重新运行本技能」,随后结束流程。
若选择「是,请提交」,将执行以下操作,每一步均输出韩文的进度状态:
[1/5] 同步至最新版本中...bash
git checkout main && git pull origin main[2/5] 创建提交专用工作空间...bash
git checkout -b prd/{github-id}若分支已存在,则执行切换至该分支。git checkout prd/{github-id}
[3/5] 登记PRD文件...bash
git add {github-id}/PRD.md通过确认仅git status一个文件被暂存。若包含其他文件,将取消这些文件的暂存状态。{github-id}/PRD.md
[4/5] 保存变更...bash
git commit -m "feat: {github-id} PRD初稿提交"[5/5] 上传至GitHub中...bash
git push origin prd/{github-id}推送完成后,通过gh CLI创建PR:
bash
gh pr create --repo {owner/repo} --title "PRD: {github-id}" --body "$(cat <<'EOF'PRD 초안 제출
PRD初稿提交
- 작성자: {github-id}
- 파일: {github-id}/PRD.md
검증 결과: PASS (8/8)
EOF
)"
PR URL을 출력하고 완료를 안내한다.
---- 作者: {github-id}
- 文件路径: {github-id}/PRD.md
验证结果: 通过(8/8)
EOF
)"
输出PR链接并提示流程完成。
---완료 리포트
完成报告
=== Day 6 PRD 제출 완료 ===
GitHub ID: {github-id}
파일: {github-id}/PRD.md
브랜치: prd/{github-id}
검증: PASS (8/8)
PR: {PR URL}
축하합니다! GitHub에 첫 PR을 올렸습니다.
운영진이 확인 후 승인할 예정입니다.=== Day 6 PRD提交完成 ===
GitHub ID: {github-id}
文件路径: {github-id}/PRD.md
分支名称: prd/{github-id}
验证结果: 通过(8/8)
PR链接: {PR URL}
恭喜您!已在GitHub提交首个PR。
运营团队将审核您的提交。에러 처리
错误处理
| 상황 | 대응 |
|---|---|
| git 미설치 | "git이 설치되어있지 않습니다. 운영진에게 도움을 요청해주세요." |
| gh CLI 미설치 | " |
| gh 미인증 | " |
| PRD.md 파일 없음 | "PRD 파일이 아직 없어요. 먼저 작성할까요?" |
| 검증 보완 필요 | 누락 항목 + 구체적 예시 안내 + 수정 도움 |
| git 브랜치 이미 존재 | 기존 브랜치로 자동 전환 |
| push 실패 (인증) | "GitHub 로그인이 필요합니다. |
| push 실패 (권한) | "이 프로젝트에 제출 권한이 없어요. Slack에서 운영진(@zoon)에게 '권한이 필요합니다'라고 메시지를 보내주세요." |
| repo clone 안 됨 | "프로젝트를 먼저 다운로드해야 해요. 터미널에 |
| GitHub ID 형식 오류 | "GitHub ID에는 영문, 숫자, 하이픈(-)만 사용할 수 있어요." |
| 场景 | 应对方式 |
|---|---|
| 未安装git | "未安装git,请向运营团队寻求帮助。" |
| 未安装gh CLI | "请输入 |
| gh未认证 | "请输入 |
| 不存在PRD.md文件 | "未找到PRD文件,请先撰写PRD。" |
| 验证需补充 | 说明缺失项 + 提供具体示例 + 协助修改 |
| git分支已存在 | 自动切换至现有分支 |
| 推送失败(认证问题) | "需要重新登录GitHub,请执行 |
| 推送失败(权限问题) | "您无此项目的提交权限,请在Slack向运营团队(@zoon)发送消息「需要提交权限」。" |
| 未克隆repo | "请先下载项目至本地,在终端输入 |
| GitHub ID格式错误 | "GitHub ID仅允许使用英文、数字、连字符(-)。" |
출력 위치
输出路径
| 경로 | 내용 |
|---|---|
| 참가자 PRD 문서 |
| 路径 | 内容 |
|---|---|
| 参与者的PRD文档 |