to-prd

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
This skill takes the current conversation context and codebase understanding and produces a PRD. Do NOT interview the user — just synthesize what you already know.
The issue tracker and triage label vocabulary should have been provided to you — run
/idd:setup-matt-pocock-skills
if not.
该Skill会利用当前对话上下文和对代码库的理解生成PRD。请勿询问用户——只需整合你已了解的信息即可。
问题追踪器和分类标签词汇表应该已提供给你——如果未提供,请运行
/idd:setup-matt-pocock-skills

Process

流程

  1. Explore the repo to understand the current state of the codebase, if you haven't already. Use the project's domain glossary vocabulary throughout the PRD, and respect any ADRs in the area you're touching.
  2. Sketch out the major modules you will need to build or modify to complete the implementation. Actively look for opportunities to extract deep modules that can be tested in isolation.
A deep module (as opposed to a shallow module) is one which encapsulates a lot of functionality in a simple, testable interface which rarely changes.
Check with the user that these modules match their expectations. Check with the user which modules they want tests written for.
  1. Write the PRD using the template below, then publish it to the project issue tracker. Apply the
    needs-triage
    triage label so it enters the normal triage flow.
<prd-template>
  1. 如果你还未了解代码库当前状态,请浏览代码仓库。在PRD中全程使用项目的领域术语表,并遵循你所涉及领域的所有ADR。
  2. 勾勒出完成实现所需构建或修改的主要模块。积极寻找可提取为独立可测试深度模块的机会。
深度模块(相对于浅模块)是指在一个简单、可测试且很少变更的接口中封装大量功能的模块。
与用户确认这些模块是否符合他们的预期。询问用户希望为哪些模块编写测试。
  1. 使用下方模板编写PRD,然后发布到项目问题追踪器。添加
    needs-triage
    分类标签,使其进入常规分类流程。
<prd-template>

Problem Statement

问题陈述

The problem that the user is facing, from the user's perspective.
从用户视角描述用户面临的问题。

Solution

解决方案

The solution to the problem, from the user's perspective.
从用户视角描述问题的解决方案。

User Stories

用户故事

A LONG, numbered list of user stories. Each user story should be in the format of:
  1. As an <actor>, I want a <feature>, so that <benefit>
<user-story-example> 1. As a mobile bank customer, I want to see balance on my accounts, so that I can make better informed decisions about my spending </user-story-example>
This list of user stories should be extremely extensive and cover all aspects of the feature.
一份编号的长篇用户故事列表。每个用户故事应采用以下格式:
  1. 作为<角色>,我希望拥有<功能>,以便<收益>
<user-story-example> 1. 作为移动银行客户,我希望查看账户余额,以便能更明智地做出消费决策 </user-story-example>
这份用户故事列表应极为详尽,涵盖功能的所有方面。

Implementation Decisions

实现决策

A list of implementation decisions that were made. This can include:
  • The modules that will be built/modified
  • The interfaces of those modules that will be modified
  • Technical clarifications from the developer
  • Architectural decisions
  • Schema changes
  • API contracts
  • Specific interactions
Do NOT include specific file paths or code snippets. They may end up being outdated very quickly.
已做出的实现决策列表。可包括:
  • 将要构建/修改的模块
  • 将要修改的模块接口
  • 来自开发者的技术说明
  • 架构决策
  • 模式变更
  • API契约
  • 特定交互
请勿包含具体文件路径或代码片段,它们可能很快就会过时。

Testing Decisions

测试决策

A list of testing decisions that were made. Include:
  • A description of what makes a good test (only test external behavior, not implementation details)
  • Which modules will be tested
  • Prior art for the tests (i.e. similar types of tests in the codebase)
已做出的测试决策列表。包括:
  • 什么是好测试的描述(仅测试外部行为,而非实现细节)
  • 将要测试的模块
  • 测试的先例(即代码库中类似类型的测试)

Out of Scope

范围外内容

A description of the things that are out of scope for this PRD.
描述本PRD不涵盖的内容。

Further Notes

补充说明

Any further notes about the feature.
</prd-template>
When the PRD is published, output this as your final message:
PRD is live. Run `/idd:to-issues` to break it into independently-grabbable issues.
关于该功能的任何补充说明。
</prd-template>
当PRD发布后,输出以下内容作为最终消息:
PRD is live. Run `/idd:to-issues` to break it into independently-grabbable issues.