diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 77d8624..55a96e6 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -496,7 +496,7 @@ "name": "req-plugin", "source": "./skills-req/req-plugin", "description": "需求工作流管理入口。用于 /req 命令使用、需求生命周期管理、需求撰写(含草稿门禁)。", - "version": "2.0.0", + "version": "2.1.0", "category": "productivity", "keywords": [ "project-management", @@ -509,7 +509,7 @@ "name": "req-prd-plugin", "source": "./skills-req/req-prd-plugin", "description": "产品需求设计技能。覆盖问答、PRD、缺陷与 OSS 原型闭环,文档双写本地和 ai-proj。", - "version": "2.2.0", + "version": "2.3.0", "category": "productivity", "keywords": [ "project-management", diff --git a/skills-req/req-plugin/.claude-plugin/plugin.json b/skills-req/req-plugin/.claude-plugin/plugin.json index f5dc4f7..6b40015 100644 --- a/skills-req/req-plugin/.claude-plugin/plugin.json +++ b/skills-req/req-plugin/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "req-plugin", "description": "需求工作流管理入口。用于 /req 命令使用、需求生命周期管理、需求撰写(含草稿门禁)。", - "version": "2.0.0", + "version": "2.1.0", "author": { "name": "qiudl" }, diff --git a/skills-req/req-plugin/skills/SKILL.md b/skills-req/req-plugin/skills/SKILL.md index 914c98c..8549f3d 100644 --- a/skills-req/req-plugin/skills/SKILL.md +++ b/skills-req/req-plugin/skills/SKILL.md @@ -48,6 +48,7 @@ analysis → design → dev → review → testing → [待部署池] → releas - **操作前先确认实际 ID** — 从 URL 提取 ID(如 `/requirements/897` → ID=897) - **务实路线关闭也必须补全关联任务** — 每个进度条阶段需创建关联任务 - **阶段内容门禁(防空转)** — `/req next` 时检查关键阶段任务是否有实质内容 +- **复用盘点先于估工(Gate 5,强制)** — PRD 必须含「现有实现与复用盘点」章节:每个能力点给出**现有实现(file:line)+ 结论(复用 / 改造 / 新增)**;结论=复用/改造的只按「接入差异」估工,结论=新增的必须写「为什么现有实现不能满足」。没有 file:line 证据、或标「未排查」的,**禁止 submit、禁止按全新增估工**;独立复查由非 PRD 写作者用 grep 复核并在 note 留命令与命中结果 - **Harness 环境检测** — `/req dev` 启动开发前,快速检测项目基础设施(`.husky/` 存在?`scripts/check-*.sh` 存在?)。若两者都不存在(Level 0),输出一行提示:「项目无质量护栏,建议先运行 `/harness init`」。检测结果不阻塞开发,仅提示 ## 禁止直接调用(必须走命令流程) @@ -55,7 +56,7 @@ analysis → design → dev → review → testing → [待部署池] → releas | 禁止直接调用 | 必须通过 | 原因 | |-------------|---------|------| | `ai-proj req create` with allowSelfApprove | `/req new` | 禁止自动提交,必须创建为 draft | -| `ai-proj req submit` (直接调用) | `/req submit` | 必须先通过 4 道门禁检查 | +| `ai-proj req submit` (直接调用) | `/req submit` | 必须先通过 5 道门禁检查 | | `ai-proj req archive` | `/req done` | 必须先执行类型化门禁检查 | | `ai-proj req approve` | `/req review pass` | 必须先展示 PRD 摘要并等待用户确认 | | `ai-proj req advance --to ` (force) | `/req next` | 必须先 AskUserQuestion 确认 + 记录跳过原因 | @@ -73,13 +74,15 @@ ai-proj req create \ # → 结果必定是 draft 状态 ``` -### 从 draft 到 submit 的 4 道门禁 +### 从 draft 到 submit 的 5 道门禁 ``` Gate 1: 需求讨论 ── description 末尾有「## 讨论结论」章节 Gate 2: 方案确认 ── AskUserQuestion 获得「方案确认通过」 Gate 3: PRD 文档 ── linkRole=prd 的任务存在且有文档 Gate 4: 完整性检查 ── 三段式完整 + 验收标准 ≥ 2 条 + PRD 存在 +Gate 5: 复用盘点 ── PRD 有「现有实现与复用盘点」章节;每条能力点有 file:line 证据 + 或「为什么不能复用」的理由;估工按 复用/改造/新增 分别计(无盘点 = 阻断) ``` ## 完整工作流 diff --git a/skills-req/req-prd-plugin/.claude-plugin/plugin.json b/skills-req/req-prd-plugin/.claude-plugin/plugin.json index 640693c..9bb0329 100644 --- a/skills-req/req-prd-plugin/.claude-plugin/plugin.json +++ b/skills-req/req-prd-plugin/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "req-prd-plugin", "description": "产品需求设计技能。覆盖问答、PRD、缺陷与 OSS 原型闭环,文档双写本地和 ai-proj。", - "version": "2.2.0", + "version": "2.3.0", "author": { "name": "qiudl" }, diff --git a/skills-req/req-prd-plugin/skills/SKILL.md b/skills-req/req-prd-plugin/skills/SKILL.md index 7cecf5e..754f44f 100644 --- a/skills-req/req-prd-plugin/skills/SKILL.md +++ b/skills-req/req-prd-plugin/skills/SKILL.md @@ -137,6 +137,21 @@ description: 产品设计与需求管理。用于 PRD、需求分析、用户故 - 会议/邮件/聊天记录链接 - 客户特殊约束(如"必须在 Q2 前上线") +### 1.5 现有实现与复用盘点 ⭐ 强制 + +> **目的**:防止把「已经有的能力」当成新增来估工和开发(真实事故:DS Bot 早已有头像上传/裁剪功能,PRD 仍按新建估工)。 +> **检索证据**:每条都要给 `file:line`(或 grep 命令 + 命中结果),不接受「凭印象认为没有」。 + +| 能力点 | 现有实现(file:line) | 结论 | 说明 | +|--------|----------------------|------|------| +| 头像上传/裁剪 | `ds-bot/src/client/bot-settings.js:xx` | 复用 | 只改存储落点与主体 | +| …(本次涉及的每个能力点都要有一行) | | | | + +**硬规则**: +- 结论是 **复用 / 改造** 的,估工只算「接入差异」,不许按全新功能算。 +- 结论是 **新增** 的,必须写「为什么现有实现不能满足」。 +- 标「未排查」或没有 `file:line` 的 PRD **不得提交评审**;独立复查人(非 PRD 作者)要用 grep 复核并在 note 留证据。 + ## 2. 用户分析 ### 2.1 目标用户 [用户画像描述]