Шаблон PRD у Markdown:скопіюйте й заповніть.
Документ з вимогами до продукту найпростіше зберігати в .md-файлі поруч із кодом. Цей шаблон короткий, з пронумерованими вимогами та перевірюваними критеріями приймання, і написаний так, щоб за ним міг працювати ШІ-агент.
macOS 14 або новіша. Читати можна безкоштовно; редагування й рев'ю оплачуються один раз.
Коротко
Добрий PRD описує проблему, цілі та те, що не входить у роботу, потім перелічує пронумеровані вимоги з критеріями приймання, які можна перевірити. Збережіть його як prd.md або docs/prd/feature-name.md, скопіюйте шаблон нижче й заповніть кожен розділ простими реченнями.
# PRD: <Feature name>
## 1. Problem
## 2. Goals
## 3. Non-goals
## 5. Requirements
## 6. Acceptance criteria
·
Шаблон
Скопіюйте його в новий файл і замініть усе, що в кутових дужках. Видаляйте розділ, лише якщо певні, що він не стосується справи, і пишіть «немає» замість порожнього місця, щоб читач бачив, що про це думали.
# PRD: <Feature name>
Status: Draft | In review | Approved
Owner: <name>
Last updated: <date>
## 1. Problem
Who has the problem, what it is, and what it costs them today.
One short paragraph. No solution here.
## 2. Goals
- <Outcome 1, measurable>
- <Outcome 2, measurable>
## 3. Non-goals
Things this work will NOT do, so nobody builds them by accident.
- <Not in scope 1>
- <Not in scope 2>
## 4. Users and scenarios
- As a <role>, I want <action>, so that <benefit>.
- As a <role>, I want <action>, so that <benefit>.
## 5. Requirements
Number each one so it can be referenced in plans and tests.
- R1. The system must <behavior>.
- R2. The system must <behavior>.
- R3. The system should <optional behavior>.
## 6. Acceptance criteria
- [ ] R1: Given <state>, when <action>, then <result>.
- [ ] R2: Given <state>, when <action>, then <result>.
## 7. Edge cases and errors
- <Empty state>
- <Invalid input>
- <Network or permission failure>
## 8. Data and interfaces
- Data stored or changed: <fields, formats, migrations>
- APIs or screens affected: <names>
## 9. Success metrics
- <Metric>: from <baseline> to <target> by <date>.
## 10. Rollout and rollback
- Release plan: <flag, staged, all at once>
- How to turn it off if it goes wrong: <step>
## 11. Open questions
- [ ] <Question> (owner: <name>)
## 12. Context for the agent
Files to read first: <paths>. Constraints: <stack, style, limits>.
Чому він написаний саме так
У PRD для ШІ-агента те саме завдання, що й для людини, але з меншим простором для здогадок. Людина спитає вас у коридорі, що ви мали на увазі. Агент заповнить прогалину найкращим здогадом і піде далі.
- Не-цілі — найдешевший захист від розростання обсягу. Агенти додають «корисні» дрібниці, якщо не сказати їм цього не робити.
- Пронумеровані вимоги (R1, R2) дають змогу плану, тесту й коментарю рев'ю посилатися на те саме.
- Критерії приймання як прапорці списку завдань перетворюються на список справ, який можна відмічати. Синтаксис див. у статті списки завдань у Markdown.
- Крайні випадки — те, на чому згенерований код ламається першим: порожні дані, хибний ввід, втрата з'єднання.
- Відкат змушує подумати, як скасувати зміну, ще до випуску.
Як його заповнювати
-
Опишіть проблему без рішення
Якщо ви не можете описати проблему, не назвавши функцію, значить, функція — здогад. Скажіть, кого це стосується і що відбувається сьогодні.
-
Зробіть кожну ціль вимірюваною
«Швидше оформлення замовлення» — побажання. «Медіанний час оформлення менше 30 секунд» — ціль.
-
Пишіть вимоги як поведінку
«Система має показати помилку, якщо файл більший за 10 МБ» можна перевірити. «Хороша обробка помилок» — ні.
-
До кожної вимоги — свій критерій
Використовуйте схему «Дано, коли, тоді» (Given, when, then). Якщо перевірку написати не виходить, вимога розпливчаста.
-
Закінчіть відкритими питаннями
Назвіть відповідального за кожне. Агент має питати про них, а не вирішувати їх.
Діаграми допомагають для потоків і станів; блок Mermaid у файлі легко змінювати. Див. синтаксис блок-схем Mermaid.
Передача PRD ШІ-агентові
Вказуйте агентові файл, а не вставляйте текст: «Прочитай docs/prd/export.md і запропонуй план; поки не пиши код». Спершу попросіть план, звірте його з пронумерованими вимогами, потім дозвольте будувати. PRD, план і список завдань зазвичай три окремі файли. PRD каже, що й навіщо, план — як, а завдання — це кроки.
Правила для всього проєкту (команди, стиль, папки) тримайте поза PRD, у CLAUDE.md чи AGENTS.md, щоб у PRD було лише те, що стосується цієї функції.
Часті помилки
- Рішення під виглядом проблеми. «Нам потрібен випадний список» — не проблема.
- Немає не-цілей. Усе поруч опиняється в обсязі роботи.
- Вимоги, які не можуть не виконатися. Якщо жоден тест не може їх провалити, вони нічого не кажуть.
- PRD, який ніхто не перечитує. Оновлюйте статус і відкриті питання по ходу роботи.
- Десять сторінок на дрібну зміну. Функції на один день вистачить півсторінки.
Менеджери продукту можуть читати PRD і перевіряти їх у DotMD як відмальовані документи, з коментарями до конкретного місця. Читання безкоштовне; про редагування та рев'ю див. ціни.
Питання про шаблони PRD у Markdown
Що входить до шаблону PRD?
Проблема, цілі, не-цілі, користувацькі сценарії, пронумеровані вимоги, критерії приймання, крайні випадки, дані та інтерфейси, метрики успіху, випуск і відкат, відкриті питання.
Навіщо писати PRD у Markdown?
Markdown-файл лежить поруч із кодом, має читабельну історію в Git, його легко читає ШІ-агент, і його можна перевіряти та змінювати, як будь-який інший файл.
Як назвати файл?
prd.md для одного продукту або docs/prd/feature-name.md, коли їх кілька. Одна функція — один файл.
Чим PRD відрізняється від специфікації?
PRD каже, що будувати й навіщо, з погляду користувача. Специфікація чи план кажуть, як це будуватимуть. Тримайте їх окремо, щоб кожен можна було перевіряти сам по собі.