agentsclimarketplace

Forge prd

Skill yike-gunshi/forge-skills/skills/forge-prd

产品诊断与 PRD 迭代:诊断根因(设计缺陷/实现偏离/PRD 遗漏),必要时反驳需求,更新 PRD 并生成带异常态门禁的 Feature Spec。 触发方式:用户说"更新PRD"、"调整需求"、"迭代PRD"、"forge-prd"、描述产品问题、需要修改产品需求时。From its SKILL.md

Install
npx -y skills add yike-gunshi/forge-skills --skill forge-prd

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

16.3 KB, ~5.3k tokens by cl100k_base, as published. Nobody here has run it

文档落地路径:遵循 forge-doc-policy 规范。完整白名单 + frontmatter schema 见 ~/.claude/skills/forge-doc-policy/doc-paths.md当前文档加载契约:先读项目 CLAUDE.mddocs/README.mddocs/INDEX.md 和根级当前真相源;长 changelog 和 raw archive 只在追溯历史原因时加载。详见 ~/.claude/skills/_shared/current-doc-loading.md

/forge-prd:产品诊断与 PRD 迭代管理器

流程总览

全程中文。每个步骤结束后暂停等待用户反馈。

用户描述问题/需求
       │
       ▼
┌─ 第0步:定位 ──────────────────────────┐
│  Glob 搜索 PRD / CHANGELOG              │
│  ├─ 找到 PRD → 迭代模式                 │
│  ├─ 没找到 → [询问用户] 是否创建模式     │
│  └─ 没找到 CHANGELOG → 标记第4步新建     │
└──────────────────────────────────────────┘
       │
       ▼
┌─ 第1步:理解现状 ─────────────────────────┐
│  读 PRD + CHANGELOG + Agent(Explore)源码   │
│  热点分析(模块修改频次)                   │
│  → [询问用户] 总结现状,确认理解是否正确    │
│  → [询问用户] 本次迭代需求是什么?          │
└─────────────────────────────────────────────┘
       │
       ▼
┌─ 第2步:诊断与审查 ──────────────────────────┐
│  自动判定层级:轻量 / 标准 / 深度             │
│  ┌─ 所有层级 ─────────────────────────┐      │
│  │  ① 问题归因(设计缺陷/偏离/遗漏)  │      │
│  │  ② 10星挑战(当前几星→10星差距)    │      │
│  └─────────────────────────────────────┘      │
│  ┌─ 标准+深度 ─────────────────────────┐     │
│  │  ③ 模块健康度检查                   │      │
│  └─────────────────────────────────────┘      │
│  ┌─ 仅深度 ───────────────────────────┐      │
│  │  ④ 假设审查  ⑤ 反驳机制            │      │
│  └─────────────────────────────────────┘      │
│  → [询问用户] 展示诊断结果,确认方向         │
└───────────────────────────────────────────────┘
       │
       ▼
┌─ 第3步:方案确认 ─────────────────────────────┐
│  逐项讨论变更点(当前→目标→推荐→可选)        │
│  → [多轮询问用户] 每个变更点确认               │
│  → [询问用户] 汇总变更清单,最终确认           │
│  ⚠️ 门禁:确认前不写任何文件                   │
└────────────────────────────────────────────────┘
       │ 用户确认 ✓
       ▼
┌─ 第4步:写入文档 ─────────────────────────────┐
│  A. 更新/新建 Feature Spec(.features)        │
│  B. 将最终有效结论回写 PRD 当前事实             │
│  C. 更新 CHANGELOG 历史账本                    │
│  → 输出最终总结                                │
└────────────────────────────────────────────────┘

可视化规范

需要图示辅助判断时(架构图/流程对比/状态机),先读 references/prd-details.md 的可视化规范节。

提问格式与批量策略见 ~/.claude/skills/_shared/interaction-protocol.md


第0步:定位项目、PRD 与 CHANGELOG

  1. 根据用户提供的目录线索,用 Glob 搜索 PRD 文件:

    搜索模式(按优先级):
    - {项目目录}/docs/PRD.md
    - {项目目录}/docs/prd.md
    - {项目目录}/docs/*PRD*
    - {项目目录}/docs/*需求*
    - {项目目录}/PRD.md
    - {项目目录}/**/PRD*.md
    
  2. 搜索 CHANGELOG 文件(不写死文件名,模式匹配):

    搜索模式:
    - {项目目录}/docs/*changelog*(不区分大小写)
    - {项目目录}/docs/*CHANGELOG*
    - {项目目录}/docs/*变更*
    - {项目目录}/**/CHANGELOG*
    - {项目目录}/**/changelog*
    
  3. 分支判断:

    • 找到 PRD → 进入「迭代模式」(第1步)
    • 找不到 PRD,和用户确认是否进入「创建模式」,用户确认后生成PRD(第1步-替代)
    • 找不到 CHANGELOG → 标记需要在第4步新建(基于项目文档 + git history 回溯生成)

第1步:理解现状(迭代模式)

  1. 读取 docs/README.mddocs/INDEX.mddocs/PRD.md 当前真相源。
  2. 按需读取 docs/modules/*、当前代码和相关接口/表。
  3. 读取 docs/CHANGELOG.md 顶部索引;只有本次问题需要历史原因时,才读取 PRD-CHANGELOG.md 的相关段落,不默认扫全文。
  4. CHANGELOG 热点分析
    • 统计各模块被修改的频次
    • 识别「反复修改但未根治」的模块(同一模块在多个版本中出现)
    • 如果发现热点模块与用户本次需求相关,主动提示
  5. 用 Agent 工具深度分析项目源码:
    • 使用 Explore 子代理扫描项目结构、关键文件、技术栈
    • 重点关注:当前实现与 PRD 描述的差异、用户描述的问题
  6. 向用户总结当前产品状态(3-5句),确认理解是否正确
    • 如果项目模块较多(≥4个)或存在热点模块数据,考虑用 widget 渲染指标卡片和热点柱状图
    • 简单项目直接文字总结即可
  7. 询问用户本次迭代的需求或问题

第1步(替代):从零创建 PRD

项目没有 PRD 时走此分支:深度读代码 + 多轮交互确认后生成完整 PRD。 细则必读 references/prd-details.md;模板用 references/prd-template.md

第2步:诊断与审查(自适应深度)

审查深度自动判定

层级触发条件做什么
轻量审查单个小改动(改阈值、调文案、修参数)归因 → 10星挑战 → 确认方案
标准审查功能调整、多个小改动集中在同一区域归因 + 模块健康度 + 10星挑战 + 方案对比
深度审查新模块、架构调整、或 CHANGELOG 显示某模块反复修改假设审查 + 10星挑战 + 反驳机制

自动升级规则

  • 多个小需求集中在同一模块 → 从轻量升级到标准
  • CHANGELOG 中某模块在 ≥3 个版本中被修改 → 升级到深度,主动告知用户:"这个模块已经在 vX.X、vX.X、vX.X 中反复修改,建议做一次彻底审查"
  • 用户主动要求更深度的审查 → 升级

诊断流程(所有层级通用)

  1. 问题归因

    • 产品设计缺陷:PRD 中对该场景的定义就不完整或不合理
    • 实现偏离 PRD:PRD 写得对但代码实现偏离了
    • PRD 遗漏场景:PRD 根本没考虑到这个场景
    • 明确告知用户属于哪种情况
  2. 10星挑战(所有层级必做):

    • 当前方案几星?
    • 10星版本是什么样的?
    • 差距是"小"(可以做完)还是"大"(超出当前范围)?
    • 轻量审查:简要挑战即可(1-2句)
    • 标准/深度审查:展开讨论,用并排对比图展示当前 vs 10星方案
  3. 模块健康度检查(标准/深度层级):

    • 该模块在 CHANGELOG 中的修改历史
    • 该模块当前实现与 PRD 的一致性
    • 是否存在关联模块需要同步调整

深度审查额外步骤(借鉴 cn-plan-product)

  1. 假设审查

    • PRD 中对该模块的隐含假设是什么?
    • 这些假设是否仍然成立?
    • 用户的新需求是否暴露了错误的假设?
  2. 反驳机制

    • 如果认为用户提的需求放在这里不合适,直接说出来
    • 给出替代方案或建议砍掉某些不需要的功能
    • 从整体产品视角评估,而非只看单个需求点

诊断输出

向用户展示:

  • 问题归因结果
  • 模块健康度评估(如适用)
  • 建议的方向:新增功能 / 优化现有功能 / 砍掉不需要的功能 / 调整架构

可视化判断:根据诊断复杂度决定是否用 widget:

  • 归因路径涉及多个因果环节 → 用 SVG 流程图展示归因链
  • 涉及多个模块的健康度评估 → 用 SVG 评分卡矩阵(Emerald=健康,Amber=需关注,Rose=需修复)
  • 10 星挑战(标准/深度层级) → 用并排对比图展示当前 vs 10星方案
  • 单一明确问题 → 直接文字说明即可

等待用户确认方向后进入第3步。


第3步:方案确认

通过 AskUserQuestion 逐项讨论每个变更点:

  1. 当前行为:现在是什么样的
  2. 目标行为:期望变成什么样的
  3. 推荐方案:给出推荐并说明理由
  4. 可选方案:列出替代方案(如有),标注完整度
  5. 做与不做:明确确认什么做、什么不做、什么推迟,以及原因

可视化判断

  • 单个变更点的讨论 → 文字即可
  • 多个可选方案需要对比 → 用 SVG 并排对比图展示各方案优劣
  • 变更点涉及复杂的行为差异 → 用「当前 vs 目标」对比图

讨论完成后,汇总变更清单:

  • 变更项 ≤3 个 → 文字清单
  • 变更项 ≥4 个 → 考虑用交互式 widget 汇总(含类型颜色编码和优先级标注)

通过 AskUserQuestion 请用户最终确认。

⚠️ 关键门禁:在用户明确确认变更清单之前,不得写入任何文件(CHANGELOG、PRD)。 第3步的产出仅在对话中展示,不写入磁盘。


第3.5步:生成 Feature Spec(用户确认门禁)

门禁不变:Feature Spec 需用户确认后才可进开发;每个功能点至少 3 种异常态 (空态/错误态/降级态,涉本地存储加陈旧态),异常态的 Then 必须写明确 UI 行为。

交给用户前先跑四点自审(Superpowers v5 Spec Self-Review,约 30 秒抓 4-5 个问题):

  1. 占位符扫描——还有 TBD/TODO/含糊需求吗?有就先补
  2. 内部一致性——章节之间打架吗?结构和功能描述对得上吗?
  3. 范围检查——一个实现计划装得下吗?装不下就拆
  4. 歧义检查——哪条需求能读出两种意思?选定一种写死 自审改完再给用户确认;用户要求修改后必须重跑自审。 生成细则必读 references/prd-details.md;模板用 references/feature-spec-template.md

第3.6步:生成/更新项目 CLAUDE.md

首次运行时(项目根目录不存在 CLAUDE.md):

  1. 读取 references/project-claude-md-template.md
  2. 填充项目名称、文档路径等变量
  3. 写入 {项目根目录}/CLAUDE.md

已有 CLAUDE.md 时

  1. 读取现有内容
  2. 检查是否已包含 ## Forge 工作流 章节
  3. 如果没有,在文件末尾追加 Forge 章节(不覆盖已有内容)
  4. 如果已有,跳过(不重复写入)

第4步:写入文档(用户确认后执行)

前提:用户已在第3步确认变更清单,且在第3.5步确认 Feature Spec。 确认后一次性产出并写入以下内容:

A. 更新 CHANGELOG

在 CHANGELOG 文件中追加本次变更记录(如果 CHANGELOG 不存在,新建并基于 git history 回溯生成历史记录)。

参考格式见 references/prd-template.md 的 CHANGELOG 格式部分。

每条变更记录包含:

  • 时间戳:精确到日期
  • 变更背景:为什么要做这次变更
  • 用户原始需求:用户的原话或需求描述
  • 设计方案:采用的方案摘要
  • 关键决策表:议题 / 决定 / 原因
  • 影响范围:新增、修改、删除了什么

B. 写入 Feature Spec

  1. 将第3.5步用户确认的 Feature Spec 写入 .features/{feature-id}/feature-spec.md
  2. 更新 .features/{feature-id}/status.md.features/_registry.md
  3. Feature Spec 必须包含用户流程、页面/系统结构、Given/When/Then、验收清单和非目标。
  4. 不把完整 Feature Spec 长期塞进 docs/PRD.md

C. 更新 PRD 当前事实

  1. 只把本轮确认后仍有效的产品事实回写到 docs/PRD.md
  2. 新增功能 → 更新对应页面/模块职责、输入/处理/输出、接口/read model 映射。
  3. 修改功能 → 原位更新当前规格,不在正文堆版本号和历史过程。
  4. 砍掉的功能 → 从当前事实移除,必要时在“非目标/产品债”中保留一句当前边界。
  5. 涉及表/API/read model 的变化 → 同步到对应映射和验收方式。
  6. 自洽性检查:PRD 当前事实、Feature Spec、CHANGELOG 互不矛盾。

D. 产出迭代交付说明

在 PRD 的「本次迭代摘要」中包含面向下游 Agent 的交付说明:

  • 变更摘要(3-5行)
  • 关键流程变化(如有流程图则更新)
  • 前端变更要点:涉及哪些页面/组件、交互变化、视觉变化
  • 后端变更要点:涉及哪些 API/数据模型、逻辑变化
  • 设计变更要点:配色/布局/组件样式变化(如适用)
  • 测试验收标准:每个变更点对应的验收条件
  • Agent 补充信息
    • 受影响的文件路径提示(基于源码分析)
    • 数据库迁移注意事项(如涉及 schema 变更)
    • 兼容性提醒(如涉及 API 变更对前端的影响)
    • 关联变更提示(改 A 可能需要同步改 B)

此部分内容在对话中与用户确认核心方向后,由 skill 补充 Agent 所需的技术细节,一并写入 PRD。


写入完成后,输出最终总结:

  • 如果本次迭代变更较多(≥4项)或涉及多个模块 → 用 widget 渲染完成仪表盘(指标卡片 + 变更统计图)
  • 简单迭代 → 文字总结即可,包含:项目名、版本变更、诊断层级、变更数、文件状态

Feature 状态管理(.features/ 架构)

核心三条:① 每个 feature 一个 .features/{id}/status.md,prd 行本 skill 负责更新; ② 全局注册表 _registry.md 同步 heartbeat;③ 状态值只用 ⏳/🔄/✅/❌。 字段与操作细则见 references/prd-details.md

完整性原则

  • PRD 是给后续 agent(设计、开发、QA)看的,必须准确、完整、无歧义
  • CHANGELOG 是给人和 agent 看的,需要记录决策上下文和"为什么"
  • 宁可多问一个问题,不要假设用户意图
  • 每个变更点都要有明确的「当前行为」和「目标行为」对比
  • 用户描述的是症状,skill 要做的是诊断——找到根因,而非只处理表面
  • 对于带前端的项目,PRD 应覆盖设计系统、配色方案、交互细节
  • 对于纯后端项目,PRD 应覆盖 API 设计、数据模型、性能要求
  • 如果认为需求不合理,直接反驳并给出替代方案

资源

What ships with it: 4 files

21.8 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.