بنقرة واحدة
koi-prd-generator
生成产品需求文档(PRD)。用于规划功能、启动新项目。触发词:创建prd、写prd、规划功能、产品需求文档。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
生成产品需求文档(PRD)。用于规划功能、启动新项目。触发词:创建prd、写prd、规划功能、产品需求文档。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
PRD 规范性校验器。用于检查 PRD 文档是否符合规范要求。触发词:检查prd、校验prd、prd规范检查。
将 PRD 文档转换为 prd.json 格式,用于故事循环执行器逐故事执行。触发词:转换 prd、转 json、create prd.json、prd 转 json。
PRD 生成与校验流水线。自动执行 生成→校验→修正→复检 的循环流程,输出符合规范的 PRD。触发词:生成prd流水线、prd pipeline、创建高质量prd。
故事执行器(子代理指令)。每次执行一个用户故事,通过文件系统传递上下文。触发词:执行故事、实施PRD、开始开发。
故事循环执行器。读取prd-[功能名称].json,按依赖顺序循环调度子代理逐个执行用户故事,直到全部完成。触发词:执行故事循环、开始执行故事、自动执行故事。
| name | koi-prd-generator |
| description | 生成产品需求文档(PRD)。用于规划功能、启动新项目。触发词:创建prd、写prd、规划功能、产品需求文档。 |
| user-invocable | true |
创建清晰、可操作且适合实施的产品需求文档。
prd-context/prd-files/prd-[功能名称].md重要:
prd-context/ 目录不存在,尝试自动创建。prd-context/ 目录。技术栈信息由 prd-pipeline 传递,无需在本技能中询问。
使用以下部分生成 PRD:
简要描述功能及其解决的问题。
具体的、可衡量的目标(项目符号列表)。
Branch 名称: 在目标部分下方添加 branch 名称,格式如:branchName: prd/pre-review-management
每个故事需要:
故事拆分原则(关键):
拆分示例:
| 过大故事 | 应拆分为 |
|---|---|
| "创建预审记录(表单 + 上传 + 验证)" | ①创建表单页面 ②实现附件上传 ③表单验证逻辑 |
| "查询和搜索(筛选 + 关键词 + 分页 + 排序)" | ①列表展示与分页 ②多条件筛选 ③关键词搜索 ④列表排序 |
| "编辑功能(界面 + 预填充 + 附件 + 历史)" | ①编辑表单与预填充 ②附件增删 ③编辑历史记录 |
格式:
### US-001: [标题]
**描述:** 作为一名 [用户],我希望 [功能] 以便 [收益]。
**依赖:** US-000(可选,如数据库设计故事)
**优先级:** 高
**验收标准:**
- [ ] 具体、可验证的标准(包含字段名、类型、格式、数量等具体信息)
- [ ] 另一个标准(避免"正确工作"等模糊描述)
- [ ] 类型检查/lint 通过
- [ ] **[仅限 UI 故事]** 在浏览器中验证
验收标准写作要求(关键):
依赖说明要求:
对于任何有 UI 更改的故事: 始终包含"在浏览器中验证"作为验收标准。这确保了前端工作的可视化验证。
具体功能的编号列表:
要明确且不含糊。
功能需求与用户故事对应检查:
此功能不包括什么。这对于管理范围至关重要。
要求:
新项目必须包含:
第三方依赖说明:
npm install xlsx"npm install multer"npm install antd"技术栈明确要求(关键):
如何衡量成功?
剩余的问题或需要澄清的领域。
要求:
PRD 读者可能是初级开发者或 AI 代理。因此:
.md)prd-context/prd-files/prd-[功能名称].mdprd-context/ 目录不存在,尝试自动创建;如果创建失败,提示用户手动创建prd-login-system.md以下是一个符合最佳实践的 PRD 示例(简化版):
# PRD:任务优先级系统
## 引言
为任务添加优先级,以便用户能够专注于最重要的事项。
## 目标
- 允许为任何任务分配优先级(高/中/低)
- 提供不同优先级之间的清晰视觉区分
- 启用按优先级筛选和排序
- 默认新任务为中优先级
**branchName:** prd/task-priority-system
## 用户故事
### US-000:数据库设计
**描述:** 作为一名开发者,我需要设计数据库表结构,以便存储任务优先级数据。
**依赖:** 无(第一个故事)
**优先级:** 高
**验收标准:**
- [ ] 创建 tasks 表,包含字段:id(uuid), title(text), priority('high'|'medium'|'low', 默认'medium'), created_at(timestamp)
- [ ] 成功生成并运行迁移:`npm run db:migrate`
- [ ] 类型定义文件 `src/types/task.ts` 包含 Priority 类型:'high' | 'medium' | 'low'
- [ ] 类型检查通过
### US-001:在任务卡片上显示优先级徽章
**描述:** 作为一名用户,我希望一目了然地看到任务优先级,以便知道什么需要首先关注。
**依赖:** US-000
**优先级:** 高
**验收标准:**
- [ ] 每个任务卡片右侧显示彩色优先级徽章
- [ ] 颜色映射:红色 (#ff4d4f)=高,橙色 (#faad14)=中,灰色 (#d9d9d9)=低
- [ ] 徽章尺寸:24x24px,圆角 4px
- [ ] 无需悬停或点击即可看到优先级
- [ ] 安装 Ant Design:`npm install antd`
- [ ] 类型检查通过
- [ ] 在浏览器中验证
### US-002:在任务编辑中添加优先级选择器
**描述:** 作为一名用户,我希望在编辑任务时更改任务的优先级。
**依赖:** US-000
**优先级:** 中
**验收标准:**
- [ ] 任务编辑模态框包含优先级下拉菜单(使用 Ant Design Select 组件)
- [ ] 下拉选项:高优先级、中优先级、低优先级
- [ ] 显示当前选中的优先级
- [ ] 选择更改后立即保存到数据库
- [ ] 保存成功后显示绿色 toast 提示"保存成功",3 秒后自动消失
- [ ] 类型检查通过
- [ ] 在浏览器中验证
### US-003:按优先级筛选任务
**描述:** 作为一名用户,当我很专注时,我希望筛选任务列表以仅查看高优先级的项目。
**依赖:** US-000
**优先级:** 中
**验收标准:**
- [ ] 任务列表顶部包含筛选下拉菜单,选项:全部 | 高优先级 | 中优先级 | 低优先级
- [ ] 筛选条件持久化在 URL 参数中(如 ?priority=high)
- [ ] 当没有匹配的任务时显示空状态:"暂无任务"
- [ ] 筛选改变时不使用页面刷新
- [ ] 类型检查通过
- [ ] 在浏览器中验证
## 功能需求
- FR-1:向 tasks 表添加 `priority` 字段('high' | 'medium' | 'low',默认'medium')
- FR-2:在每个任务卡片右侧显示彩色优先级徽章
- FR-3:在任务编辑模态框中包含优先级下拉选择器
- FR-4:向任务列表顶部添加优先级筛选下拉菜单
- FR-5:在每个状态列内按优先级排序(高→中→低)
## 非目标
- 没有基于优先级的通知或提醒
- 没有基于到期日期的自动优先级分配
- 子任务没有优先级继承
- 不支持批量修改优先级
## 技术栈
- 前端:React 18 + TypeScript + Ant Design 5
- 状态管理:Zustand
- 构建工具:Vite 5
- 数据库:PostgreSQL 15
## 成功指标
- 用户可以在不到 2 次点击内更改优先级
- 高优先级任务在列表顶部立即可见
- 任务列表性能无回归(加载时间 < 500ms)
## 开放问题
- 优先级是否应该影响列内的任务排序顺序?(建议:是,高→中→低)
- 是否需要添加键盘快捷键来快速修改优先级?(建议:后续迭代添加)
prdFiles/prd-[功能名称].md