SuperAPI AI 工具集

prd-generator

写作与研究

查看项目

更新于 10-16 02:08

技能介绍

用途

PRD Generator(安全导向)用于把一段纯语言的功能描述,转换为一份完整、以安全为重点的产品需求文档(PRD)。它适合需要快速产出结构化规格、并希望把安全需求与威胁模型纳入文档的团队。

主要能力

  • 运行 10 角色规格流水线:01 上下文整理、02 范围裁剪、03 约束提炼、04 需求工程、05 歧义排查、06 安全工程、07 契约设计、08 验证矩阵、09 批次规划、10 最终门禁。
  • 产出完整 PRD Markdown 文档,以及 .cursor/plans/ 格式的计划文件。
  • 生成安全需求与威胁模型(资产、参与者、入口点、信任边界、高风险流程)。
  • 生成 API 契约、事件定义与错误分类。
  • 生成验证矩阵,确保每条 MUST 需求都有证明路径。
  • 生成增量、可验证的交付批次计划。
  • 输出遵循 RFC 2119(MUST / MUST NOT / SHOULD / MAY),需求带 ID(如 R-FUNC-001、R-SEC-001)与优先级标签(P0/P1/P2),功能需求带 maps_to AC#。
  • 总需求数上限 40 条;未知信息以开放问题形式呈现,不编造事实。

使用方式

首次使用需配置以下设置(交互式询问、环境变量或提示词内覆盖):

  • Owner name:PRD 负责人,如 @jane.doe
  • Default stakeholders:默认干系人,如 @product-team, @security-lead
  • Confluence space key:Confluence 空间,如 ENG、PRODUCT、SEC
  • Confluence template title:PRD 嵌套的父页面标题
  • Slack channel:默认通知频道(可选)
  • Email recipients:Gmail 草稿默认收件人(可选)

环境变量示例:

export PRD_OWNER="@your-name" export PRD_STAKEHOLDERS="@stakeholder1, @stakeholder2" export PRD_CONFLUENCE_SPACE="YOUR_SPACE_KEY" export PRD_CONFLUENCE_TEMPLATE="Your Template Page Title" export PRD_SLACK_CHANNEL="#your-channel"

提示词内覆盖示例:

Write a PRD for feature X. Owner: @jane. Space: ENG. Notify #product-specs.

执行流程:

  1. 收集配置并提取意图(功能名、问题陈述、粗略范围、需激活的连接器)。
  2. 内联运行 10 角色规格流水线。
  3. 按 PRD 模板渲染文档。
  4. 写入文件:
    • outputs/{feature-slug}-PRD.md
    • outputs/{feature-slug}-cursor-plan.md 使用 create_file 写入,再用 present_files 展示。
  5. 始终尝试推送到 Confluence:先获取 cloud ID,再按 CQL 搜索父页面,最后创建 PRD 页面并报告页面 URL。
  6. 可选连接器:Linear(从批次计划创建 issue)、Asana(创建 task)、Slack(通知)、Notion(镜像页面)、Gmail(创建草稿)。

期望工具:present_files、create_file、bash_tool。

适用场景

  • 需要从简短功能描述快速生成结构化、安全导向 PRD 的团队。
  • 希望把安全需求、威胁模型、验证矩阵与交付批次一并纳入规格的工程与安全团队。
  • 需要将 PRD 同步到 Confluence,并按需创建 Linear/Asana 工单、Slack 通知、Notion 镜像或 Gmail 草稿的工作流。

限制

  • 连接器均为可选,缺失时会降级为本地文件而非报错;Atlassian 为始终尝试项。
  • 若描述过于模糊,会提出一个问题并以标记假设继续。
  • 若 Atlassian MCP 认证失败,仅交付文件并记录错误。
  • 若流水线产生超过 10 个开放问题,仅呈现前 5 个阻塞项,其余降为低优先级。
  • 需求矛盾会被标记而不自动解决。
  • 最终门禁为 NO_SHIP 时,仍会产出全部文件,但 PRD 状态标记为 BLOCKED。
  • 未提供的信息(如具体价格、平台支持范围等)不会编造,会以开放问题形式呈现。