write-a-prd

Originally frommattpocock/skills
Installation
SKILL.md

This skill creates a PRD and saves it to ./docs/<feature-name>/PRD.md. You may skip steps if context is already provided or you don't consider them necessary.

When invoked interactively (user at the keyboard)

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

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

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

  4. 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. Once you have a complete understanding of the problem and solution, write the PRD using the template below.

When invoked by afk (context provided, no user interaction)

Related skills

More from tahajemmali/skills

Installs
79
First Seen
Apr 11, 2026