---
id: sm3-write-a-prd
name: "write-a-prd"
url: https://skills.yangsir.net/skill/sm3-write-a-prd
author: mattpocock
domain: product
tags: ["prd-creation", "product-requirements", "product-documentation", "specification-writing"]
install_count: 14300
rating: 4.50 (20 reviews)
github: https://github.com/mattpocock/skills
---

# write-a-prd

> 当用户需要创建产品需求文档（PRD）时，此技能将被调用，帮助用户编写详细、规范的PRD。

**Stats**: 14,300 installs · 4.5/5 (20 reviews)

## Before / After 对比

### PRD产品需求文档

## Readme

# write-a-prd

This skill will be invoked when the user wants to create a PRD. You may skip steps if you don't consider them necessary.

- 

Ask the user for a long, detailed description of the problem they want to solve and any potential ideas for solutions.

- 

Explore the repo to verify their assertions and understand the current state of the codebase.

- 

Interview the user relentlessly about every aspect of this plan until you reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one.

- 

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.

- Once you have a complete understanding of the problem and solution, use the template below to write the PRD. The PRD should be submitted as a GitHub issue.

## 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:

- As an , I want a , so that 

This list of user stories should be extremely extensive and cover all aspects of the feature.

## 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.

## 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.

## Further Notes

Any further notes about the feature.
Weekly Installs1.3KRepository[mattpocock/skills](https://github.com/mattpocock/skills)GitHub Stars2.4KFirst SeenFeb 12, 2026Security Audits[Gen Agent Trust HubPass](/mattpocock/skills/write-a-prd/security/agent-trust-hub)[SocketPass](/mattpocock/skills/write-a-prd/security/socket)[SnykPass](/mattpocock/skills/write-a-prd/security/snyk)Installed oncodex1.3Kopencode1.3Kgemini-cli1.3Kgithub-copilot1.3Kamp1.2Kkimi-cli1.2K

---
*Source: https://skills.yangsir.net/skill/sm3-write-a-prd*
*Markdown mirror: https://skills.yangsir.net/api/skill/sm3-write-a-prd/markdown*