day6-prd-submit by ai-native-camp/camp-1
npx skills add https://github.com/ai-native-camp/camp-1 --skill day6-prd-submit基于模板撰写产品需求文档初稿,验证必要格式后,指导 GitHub PR 提交流程。
本技能中使用的核心术语:
| 术语 | 说明 |
|---|---|
| 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) | 向运营团队发送的“请审核我的工作”的审查请求。相当于提交按钮 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| gh CLI | 可以在终端中操作 GitHub 的工具 |
本技能假设已具备以下环境。将在 Step 0 中自动检查。
gitgh CLI| 步骤 | 主题 | 预计时间 |
|---|---|---|
| 0 | 环境检查 | ~1分钟 |
| 1 | 确认 GitHub ID | ~1分钟 |
| 2 | 撰写 PRD + 验证 | ~10分钟 |
| 3 | 提交 (git + PR) | ~3分钟 |
| 总计 | ~15分钟 |
如果环境已设置好,可在 15 分钟内完成。如果出现环境问题,则需额外 5~10 分钟。
# [项目标题]
## 问题
> 一句话:为谁,解决什么不便,如何解决
- **当前状态**:(具体数据 — 多少件、多少分钟、多少人)
- **期望状态**:(1 周后希望看到的样子)
- **成功标准**:(可以用数字判断的 1~2 项)
## 技能
| # | 技能名称 | 一句话说明 | 状态 |
|---|--------|-----------|------|
| 1 | `/my-skill-1` | 输入 → 输出 | ✅ 运行中 / 🔨 进行中 |
| 2 | `/my-skill-2` | 输入 → 输出 | ✅ 运行中 / 🔨 进行中 |
## 变化记录
- **Day 1**: "最初定义" →
- **Day 6**: "现在定义" →
- **最大的变化点**:
Step 0 Step 1 Step 2 Step 3
环境检查 → 确认 GitHub ID → 撰写/验证 PRD → 提交 (git + PR)
技能开始时,在继续之前自动检查以下内容:
git --version
gh --version
gh auth status
git remote -v
向参与者展示结果:
=== 环境检查 ===
✅ git: 已安装
✅ gh CLI: 已安装
✅ GitHub 登录: 完成 (用户: {detected-id})
✅ 项目文件夹: 已连接 ({repo-url})
环境准备已完成!
如果任何一项失败,则指导该项目的解决方法,并在解决后重新检查。在所有项目通过之前,不进入下一个 Step。
| 失败项目 | 指导 |
|---|---|
| git 未安装 | "git 未安装。请向运营团队寻求帮助。" |
| gh CLI 未安装 | "请在终端输入 brew install gh。" (macOS 标准)。失败时呼叫运营团队 |
| gh 未认证 | "请输入 gh auth login 并按照出现的提示操作。使用 GitHub 账户登录即可。" |
| repo 未连接 | "尚未将项目下载到我的电脑。请在终端输入以下内容:gh repo clone {owner/repo}" |
展示 Step 0 中通过 gh auth status 检测到的 GitHub ID,并仅请求确认:
AskUserQuestion: "GitHub 用户名是 '{detected-id}' 吗?"
- 是的,正确
- 不,是其他 ID (直接输入)
ID 格式验证:确认输入的 ID 是否只包含英文字母、数字和连字符 (-)。如果包含特殊字符、空格、斜杠等,则进行指导并要求重新输入。
将输入的 ID 规范化为小写。
此 ID 将用于后续的文件路径和分支名称:
{github-id}/PRD.mdprd/{github-id}通过 AskUserQuestion 询问当前状态:
| 选项 | 操作 |
|---|---|
| 新建 PRD | Step 2-A: 基于模板的撰写指南 |
| 验证已撰写的 PRD | Step 2-B: 验证现有文件 |
"要撰写哪个项目的 PRD?"
- 基于训练营中创建的技能 (将本周创建的技能发展为项目)
- 工作自动化想法 (实际工作中想要自动化的内容)
- 直接输入
如果选择“基于训练营中创建的技能”,则扫描 .claude/skills/ 目录,展示参与者创建的技能列表并让其选择。
基于参与者的回答生成 PRD 初稿
在终端输出初稿并通过 AskUserQuestion 询问:
| 选项 | 操作 |
|---|---|
| 按此进行 | 保存到 {github-id}/PRD.md 后进入 Step 2-B |
| 想要修改 | 询问要修改哪个部分 (问题定义 / 技能列表 / 变化记录),反映修改后重新输出 |
读取 {github-id}/PRD.md 文件,并使用以下检查清单进行验证。
---|---|---|---
1 | 项目标题 | 是否存在以 # 开头的第一行 (大标题) | 必需
2 | 问题部分 | 是否存在 ## 问题 标题 | 必需
3 | 当前状态 | 是否存在 当前状态 文本且长度超过 10 个字符 | 必需
4 | 期望状态 | 是否存在 期望状态 文本且长度超过 10 个字符 | 必需
5 | 成功标准 | 是否存在 成功标准 文本且长度超过 10 个字符 | 必需
6 | 技能部分 | 是否存在 ## 技能 标题 | 必需
7 | 技能 2 个以上 | 技能表格中是否存在 | 1 8 | 变化记录 | 是否存在## 变化记录` 标题 | 必需
=== PRD 格式验证结果 ===
[通过] 或 [需要补充]
✅ 项目标题: 存在
✅ 问题部分: 存在
✅ 当前状态: 存在
✅ 期望状态: 存在
✅ 成功标准: 存在
✅ 技能部分: 存在
✅ 技能 2 个以上: 存在 (N 个)
✅ 变化记录: 存在
结果: 8/8 通过 → 通过
如果需要补充,则具体指导缺失的项目:
❌ 成功标准: 内容太短。请包含具体数字。
例如) "每周使用 3 次,每件处理时间从 30 分钟 → 5 分钟"
验证通过后,通过 AskUserQuestion 询问:
"PRD 验证已通过!要提交到 GitHub 吗?"
- 是的,请提交 (推荐)
- 稍后再做
如果选择“稍后再做”:指导“准备好后请再次运行此技能。”然后结束。
如果选择“是的,请提交”,则执行以下操作。每个步骤都输出韩语进度状态:
[1/5] 正在同步到最新状态...
git checkout main && git pull origin main
[2/5] 正在创建提交空间...
git checkout -b prd/{github-id}
如果分支已存在,则使用
git checkout prd/{github-id}切换。
[3/5] 正在注册 PRD 文件...
git add {github-id}/PRD.md
使用
git status确认暂存的文件是否只有{github-id}/PRD.md这一个。如果包含其他文件,则取消暂存该文件。
[4/5] 正在保存...
git commit -m "feat: {github-id} PRD 初稿提交"
[5/5] 正在上传到 GitHub...
git push origin prd/{github-id}
推送完成后,使用 gh CLI 创建 PR:
gh pr create --repo {owner/repo} --title "PRD: {github-id}" --body "$(cat <<'EOF'
## PRD 初稿提交
- 撰写者: {github-id}
- 文件: {github-id}/PRD.md
验证结果: 通过 (8/8)
EOF
)"
输出 PR URL 并指导完成。
=== 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 未安装 | "请输入 brew install gh。" 失败时指导呼叫运营团队 |
| gh 未认证 | "请输入 gh auth login 并使用 GitHub 账户登录。" |
| PRD.md 文件不存在 | "还没有 PRD 文件。要先撰写吗?" |
| 验证需要补充 | 缺失项目 + 具体示例指导 + 修改帮助 |
| git 分支已存在 | 自动切换到现有分支 |
| 推送失败 (认证) | "需要 GitHub 登录。请执行 gh auth login。" |
| 推送失败 (权限) | "没有此项目的提交权限。请在 Slack 上向运营团队 (@zoon) 发送'需要权限'的消息。" |
| repo 克隆失败 | "需要先下载项目。请在终端输入 gh repo clone {owner/repo}。" |
| GitHub ID 格式错误 | "GitHub ID 只能使用英文字母、数字和连字符 (-)。" |
| 路径 | 内容 |
|---|---|
{github-id}/PRD.md | 参与者 PRD 文档 |
Weekly Installs
619
Repository
GitHub Stars
198
First Seen
Feb 20, 2026
Security Audits
Installed on
claude-code612
opencode26
github-copilot23
cursor22
gemini-cli22
codex22
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을 조작할 수 있는 도구 |
이 스킬은 아래 환경이 갖춰져 있다고 가정한다. Step 0에서 자동 확인한다.
git이 설치되어 있어야 한다gh CLI가 설치되고 인증되어 있어야 한다| Step | 주제 | 예상 시간 |
|---|---|---|
| 0 | 환경 체크 | ~1분 |
| 1 | GitHub ID 확인 | ~1분 |
| 2 | PRD 작성 + 검증 | ~10분 |
| 3 | 제출 (git + PR) | ~3분 |
| 합계 | ~15분 |
환경이 세팅되어 있으면 15분 내 완료 가능. 환경 문제 발생 시 +5~10분.
# [프로젝트 제목]
## 문제
> 한 줄: 누구의, 어떤 불편을, 어떻게 해결하는가
- **현재 상태**: (구체적 수치 — 몇 건, 몇 분, 몇 명)
- **원하는 상태**: (1주 후 돌아가고 있을 모습)
- **성공 기준**: (숫자로 판단 가능한 것 1~2개)
## 스킬
| # | 스킬명 | 한 줄 설명 | 상태 |
|---|--------|-----------|------|
| 1 | `/my-skill-1` | 입력 → 출력 | ✅ 동작 / 🔨 진행중 |
| 2 | `/my-skill-2` | 입력 → 출력 | ✅ 동작 / 🔨 진행중 |
## 변화 기록
- **Day 1**: "처음 정의" →
- **Day 6**: "지금 정의" →
- **가장 크게 달라진 점**:
Step 0 Step 1 Step 2 Step 3
환경 체크 → GitHub ID 확인 → PRD 작성/검증 → 제출 (git + PR)
스킬 시작 시 진행 전에 아래를 자동으로 확인한다:
git --version
gh --version
gh auth status
git remote -v
결과를 참가자에게 보여준다:
=== 환경 체크 ===
✅ git: 설치됨
✅ gh CLI: 설치됨
✅ GitHub 로그인: 완료 (사용자: {detected-id})
✅ 프로젝트 폴더: 연결됨 ({repo-url})
환경 준비가 완료되었습니다!
하나라도 실패하면 해당 항목의 해결 방법을 안내하고, 해결 후 다시 체크한다. 모든 항목이 통과할 때까지 다음 Step으로 진행하지 않는다.
| 실패 항목 | 안내 |
|---|---|
| git 미설치 | "git이 설치되어있지 않습니다. 운영진에게 도움을 요청해주세요." |
| gh CLI 미설치 | "brew install gh를 터미널에 입력해주세요." (macOS 기준). 실패 시 운영진 호출 |
| gh 미인증 | "gh auth login을 입력하고 나오는 안내를 따라주세요. GitHub 계정으로 로그인하면 됩니다." |
| repo 연결 안 됨 | "프로젝트를 아직 내 컴퓨터에 다운로드하지 않았어요. 터미널에서 아래를 입력해주세요: gh repo clone {owner/repo}" |
Step 0에서 gh auth status로 감지된 GitHub ID를 보여주고 확인만 받는다:
AskUserQuestion: "GitHub 사용자명이 '{detected-id}'가 맞나요?"
- 네, 맞습니다
- 아니요, 다른 ID입니다 (직접 입력)
ID 형식 검증 : 입력된 ID가 영문, 숫자, 하이픈(-)만 포함하는지 확인한다. 특수문자, 공백, 슬래시 등이 포함되면 안내 후 다시 입력받는다.
입력된 ID는 소문자로 정규화한다.
이 ID는 이후 파일 경로와 브랜치명에 사용된다:
{github-id}/PRD.mdprd/{github-id}AskUserQuestion으로 현재 상태를 묻는다:
| 선택지 | 동작 |
|---|---|
| PRD 새로 작성하기 | Step 2-A: 템플릿 기반 작성 가이드 |
| 이미 작성한 PRD 검증하기 | Step 2-B: 기존 파일 검증 |
"어떤 프로젝트의 PRD를 작성할까요?"
- 캠프에서 만든 스킬 기반 (이번 주에 만든 스킬을 프로젝트로 발전)
- 업무 자동화 아이디어 (실제 업무에서 자동화하고 싶은 것)
- 직접 입력
"캠프에서 만든 스킬 기반"을 선택하면, .claude/skills/ 디렉토리를 스캔하여 참가자가 만든 스킬 목록을 보여주고 선택하게 한다.
참가자의 답변을 바탕으로 PRD 초안을 생성한다
초안을 터미널에 출력하고 AskUserQuestion:
| 선택지 | 동작 |
|---|---|
| 이대로 진행 | {github-id}/PRD.md에 저장 후 Step 2-B로 |
| 수정하고 싶어요 | 어떤 부분을 수정할지 묻고 (문제 정의 / 스킬 목록 / 변화 기록) 반영 후 다시 출력 |
{github-id}/PRD.md 파일을 읽고 아래 체크리스트로 검증한다.
---|---|---|---
1 | 프로젝트 제목 | #으로 시작하는 첫 번째 줄 (큰 제목)이 존재하는가 | 필수
2 | 문제 섹션 | ## 문제 헤딩이 존재하는가 | 필수
3 | 현재 상태 | 현재 상태 텍스트가 존재하고 10자 이상인가 | 필수
4 | 원하는 상태 | 원하는 상태 텍스트가 존재하고 10자 이상인가 | 필수
5 | 성공 기준 | 성공 기준 텍스트가 존재하고 10자 이상인가 | 필수
6 | 스킬 섹션 | ## 스킬 헤딩이 존재하는가 | 필수
7 | 스킬 2개 이상 | 스킬 테이블에서 | 1 8 | 변화 기록 |## 변화 기록` 헤딩이 존재하는가 | 필수
=== PRD 형식 검증 결과 ===
[PASS] 또는 [보완 필요]
✅ 프로젝트 제목: 있음
✅ 문제 섹션: 있음
✅ 현재 상태: 있음
✅ 원하는 상태: 있음
✅ 성공 기준: 있음
✅ 스킬 섹션: 있음
✅ 스킬 2개 이상: 있음 (N개)
✅ 변화 기록: 있음
결과: 8/8 통과 → PASS
보완 필요인 경우 누락된 항목을 구체적으로 안내한다:
❌ 성공 기준: 내용이 너무 짧습니다. 구체적인 숫자를 포함해주세요.
예) "주 3회 사용, 건당 처리 시간 30분 → 5분"
검증 PASS 후, AskUserQuestion:
"PRD 검증을 통과했습니다! GitHub에 제출할까요?"
- 네, 제출해주세요 (권장)
- 나중에 할게요
"나중에 할게요" 선택 시: "준비되면 다시 이 스킬을 실행해주세요." 안내 후 종료.
"네, 제출해주세요" 선택 시 아래를 실행한다. 각 단계마다 한글 진행 상태를 출력한다:
[1/5] 최신 상태로 동기화하는 중...
git checkout main && git pull origin main
[2/5] 제출용 공간을 만드는 중...
git checkout -b prd/{github-id}
브랜치가 이미 존재하면
git checkout prd/{github-id}로 전환한다.
[3/5] PRD 파일을 등록하는 중...
git add {github-id}/PRD.md
git status로 스테이징된 파일이{github-id}/PRD.md1개뿐인지 확인한다. 다른 파일이 포함되면 해당 파일을 unstage한다.
[4/5] 저장하는 중...
git commit -m "feat: {github-id} PRD 초안 제출"
[5/5] GitHub에 올리는 중...
git push origin prd/{github-id}
push 완료 후, gh CLI로 PR을 생성한다:
gh pr create --repo {owner/repo} --title "PRD: {github-id}" --body "$(cat <<'EOF'
## PRD 초안 제출
- 작성자: {github-id}
- 파일: {github-id}/PRD.md
검증 결과: PASS (8/8)
EOF
)"
PR URL을 출력하고 완료를 안내한다.
=== Day 6 PRD 제출 완료 ===
GitHub ID: {github-id}
파일: {github-id}/PRD.md
브랜치: prd/{github-id}
검증: PASS (8/8)
PR: {PR URL}
축하합니다! GitHub에 첫 PR을 올렸습니다.
운영진이 확인 후 승인할 예정입니다.
| 상황 | 대응 |
|---|---|
| git 미설치 | "git이 설치되어있지 않습니다. 운영진에게 도움을 요청해주세요." |
| gh CLI 미설치 | "brew install gh를 입력해주세요." 실패 시 운영진 호출 안내 |
| gh 미인증 | "gh auth login을 입력하고 GitHub 계정으로 로그인해주세요." |
| PRD.md 파일 없음 | "PRD 파일이 아직 없어요. 먼저 작성할까요?" |
| 검증 보완 필요 | 누락 항목 + 구체적 예시 안내 + 수정 도움 |
| git 브랜치 이미 존재 | 기존 브랜치로 자동 전환 |
| push 실패 (인증) | "GitHub 로그인이 필요합니다. gh auth login을 실행해주세요." |
| push 실패 (권한) | "이 프로젝트에 제출 권한이 없어요. Slack에서 운영진(@zoon)에게 '권한이 필요합니다'라고 메시지를 보내주세요." |
| repo clone 안 됨 | "프로젝트를 먼저 다운로드해야 해요. 터미널에 gh repo clone {owner/repo}를 입력해주세요." |
| 경로 | 내용 |
|---|---|
{github-id}/PRD.md | 참가자 PRD 문서 |
Weekly Installs
619
Repository
GitHub Stars
198
First Seen
Feb 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
claude-code612
opencode26
github-copilot23
cursor22
gemini-cli22
codex22
agent-browser 浏览器自动化工具 - Vercel Labs 命令行网页操作与测试
136,300 周安装
| GitHub ID 형식 오류 | "GitHub ID에는 영문, 숫자, 하이픈(-)만 사용할 수 있어요." |