Create PRD Workflow
SkillDocs & knowledgeCreate a product requirement document (PRD) for a new feature. Use when the user wants to create a new feature, plan a feature, or write a PRD.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Create PRD Workflow skill
What this skill tells your AI
The instructions your AI receives, as published by platformplatform/platformplatform in .claude/skills/create-prd/SKILL.md and read by ahel’s review.
Your job is to work with the user through an interactive wizard to create a high-level PRD using language that is easy to understand for non-technical people. The PRD defines a [feature] with all [tasks] to be created in [PRODUCT_MANAGEMENT_TOOL].
Team leads: execute this workflow directly. Do not delegate it.
Mandatory Preparation
- Read [PRODUCT_MANAGEMENT_TOOL]-specific guide at
/.claude/reference/product-management/[PRODUCT_MANAGEMENT_TOOL].mdto understand terminology, status mapping, ID format, and MCP configuration.
Workflow
Follow the steps below to create the PRD.
Step 1: Initialize [PRODUCT_MANAGEMENT_TOOL]
Follow initialization steps in /.claude/reference/product-management/[PRODUCT_MANAGEMENT_TOOL].md.
Step 2: Ask what [feature] to build
Use the AskUserQuestion tool to ask the user what [feature] they want to build:
AskUserQuestion with:
- question: "What feature would you like to build?"
- header: "Feature"
- multiSelect: false
- options:
- label: "New feature", description: "Create a new feature"
- label: "Enhancement", description: "Enhance existing functionality"
Users will typically use the custom text option to describe their [feature].
If the user's answer comes back empty:
- Tell the user to enable Plan Mode and try again
- STOP the workflow
If you receive a valid answer:
- Use the text they entered as the [feature] description for research
Step 3: Research and understand the [feature]
Conduct deep research for a feasible solution that takes the existing codebase and [features] into consideration:
- Understand the user's requirements and business context
- Investigate the current state and implementation in the codebase:
- Specify which self-contained system (e.g.,
main,account) the [feature] belongs to. Back-office features live underaccount/Core/Features/BackOffice/and are served on the back-office host. - Respect the multi-tenant nature: design [features] to work for one tenant by default, unless otherwise specified
- Specify which self-contained system (e.g.,
- Use MCP tools (like context7 for library docs), Perplexity for online research, or web research for best practices and technologies
- Read relevant code files and rule files to understand patterns and conventions
Step 4: Interactive requirements wizard
Now that you've done research, ask the user ALL required questions in ONE single AskUserQuestion call:
AskUserQuestion with 3 questions:
Question 1 - Feature name:
- question: "What is the name of this feature? (Use sentence case, e.g., 'User management' not 'User Management')"
- header: "Feature name"
- multiSelect: false
- options:
- label: "Custom name", description: "Enter your feature name"
Question 2 - Self-contained system (put the most likely SCS first based on research):
- question: "Which self-contained system (SCS) should this feature belong to?"
- header: "SCS"
- multiSelect: false
- options:
- label: "account", description: "Tenant and user management system (also hosts the back-office surface for support and system admin tools)"
- label: "main", description: "Primary shell application where you build your product"
- label: "[Suggested SCS based on research]", description: "Based on my analysis"
Question 3 - E2E tests:
- question: "Should this PRD include Playwright end-to-end tests?"
- header: "E2E Tests"
- multiSelect: false
- options:
- label: "Yes", description: "Include E2E tests as a separate [task]"
- label: "No", description: "Skip E2E tests for now"
Ask additional questions:
After the first 3 questions, ask additional relevant questions to gather comprehensive requirements. Use multiple AskUserQuestion calls (max 4 questions per call, max 4 options per question).
Ask as many questions as needed to understand:
- User roles and permissions
- Complexity level (simple CRUD, workflow-based, complex logic)
- Integration points with existing features
- Validation rules and constraints
- Edge cases to consider
- Data relationships and dependencies
The more questions you ask, the better the PRD.
Implementation approach:
AskUserQuestion with:
- question: "Should we create frontend mockups first for UI/UX exploration?"
- header: "Approach"
- multiSelect: false
- options:
- label: "Yes", description: "Frontend mockups first to validate UI/UX before backend"
- label: "No", description: "Backend-first approach (default)"
Step 5: Draft the complete PRD and get approval
Based on all the research and user answers, draft the complete PRD.
Create the PRD content following the example PRD structure:
-
High-level PRD description:
- Use sentence case for level-1 headers
- Stay at a high level—no implementation details or code examples
- Use correct domain terminology: multi-tenant, self-contained system, shared kernel, tenant, user, etc.
- Specify which self-contained system(s) are in scope
- Avoid repetition
-
[Tasks] section structured based on wizard answers:
Examples based on common patterns:
Example 1 - Backend-first approach (default):
- Backend implementation
- Frontend implementation
- E2E tests (if E2E tests selected)
Example 2 - Frontend-first approach:
- Frontend mockups/prototypes with static data
- Backend implementation based on frontend contract
- Integration (connect frontend to backend)
- E2E tests (if E2E tests selected)
Example 3 - Backend-only [feature]:
- Backend implementation (API endpoints, commands, queries, migrations, tests)
Example 4 - Large complex [feature]:
- Backend core functionality
- Frontend core UI
- Backend advanced functionality
- Frontend advanced features
- E2E tests (if E2E tests selected)
Note: These are examples only. Adapt the [task] structure to match the actual [feature] requirements, scope, and user answers. All work is sequential -- one [task] fully completed before the next starts.
-
[Task] guidelines:
- Each [task] should be a logical grouping (e.g., "all backend", "all frontend", "all e2e tests")
- Keep [tasks] focused (one commit per [task])
- Write a clear paragraph describing what each [task] delivers
- Each [task] represents a complete vertical slice that can be implemented, reviewed, and committed independently
- Repeat all relevant business rules in each task description (permissions, validations, constraints)
- Engineers/reviewers only read the task description, not the feature overview
- List [tasks] in implementation order (the order they should be implemented)
- E2E tests should typically be the final [task]
- Important: When using MCP-based
[PRODUCT_MANAGEMENT_TOOL], create [tasks] in the same order they appear in the PRD—this defines the implementation sequence
Example of WRONG task description (missing business rules):
### 1. Backend for team management
This task implements team CRUD operations with API endpoints and tests.
- Create Team aggregate
- Create CreateTeam command
- Create API endpoints
- Create tests
Example of CORRECT task description (includes business rules):
### 1. Backend for team management
This task implements team CRUD operations with API endpoints and tests. Teams are managed by Tenant Owners and Admins only. Team names must be unique within a tenant.
- Create Team aggregate with name uniqueness validation
- Create CreateTeam command with Owner/Admin permission guard
- Create UpdateTeam command with Owner/Admin permission guard
- Create DeleteTeam command with Owner/Admin permission guard
- Create API endpoints for all operations
- Create tests covering permissions (403 for non-owners/admins), name uniqueness, tenant isolation
- Frontend task descriptions - use ASCII art fat marker sketches:
For frontend tasks, include ASCII art fat marker sketches showing UI layout and components:
### 2. Frontend for user management
This task implements the Users page UI. Users can only be managed by Tenant Owners or Admins.
┌─────────────────────────────────────────┐
│ Users [+ Invite user] │
├─────────────────────────────────────────┤
│ ┌─────────────────────────────────────┐ │
│ │ Email Name Role │ │
│ ├─────────────────────────────────────┤ │
│ │ admin@... John Doe Owner │ │
│ │ member@... Jane Smith Member │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────┘
- Add Users navigation menu item
- Create Users page with table
- Create CreateUserDialog (validates email uniqueness)
- Show/hide [+ Invite user] button based on role (Owner/Admin only)
- Create UserDetailsSidePane
- Integrate all API operations
ASCII sketches help engineers visualize the UI before coding.
Show the complete PRD to the user - display the full content including all [tasks] with their descriptions.
Ask for approval: "Does this PRD look good?" (Yes/No)
- If No: Ask what to change, update the PRD content, show again, repeat approval
- If Yes: Continue to Step 6
Step 6: Create [feature] and [tasks] in [PRODUCT_MANAGEMENT_TOOL]
Follow your [PRODUCT_MANAGEMENT_TOOL]-specific guide at /.claude/reference/product-management/[PRODUCT_MANAGEMENT_TOOL].md to understand how to create items based on the PRD.
Create:
- [feature] with name=[feature name from Step 4 wizard], assign to "me"
- [task] for each [task] in the PRD with:
- Title: [task title] (sentence case)
- Description: [task description paragraph] + [subtask bullets] (use bullets, NOT checkboxes)
- Link to parent [feature]
- Assign to "me"
- Initialize all items in [Planned] status, in the current iteration/sprint
Each [task] description must include:
- A paragraph explaining what the task delivers
- Bullet points (NOT checkboxes) listing the subtasks for implementation guidance
After creating all [tasks], update each [feature]'s description in [PRODUCT_MANAGEMENT_TOOL] with the full PRD content for that [feature] -- the intro paragraph, overview section, and core changes section (everything above the "Tasks overview" heading). This ensures the PRD context is available to anyone viewing the [feature] in [PRODUCT_MANAGEMENT_TOOL].
Inform user: The [feature] and all [tasks] have been created in [PRODUCT_MANAGEMENT_TOOL]. Ask the user if they would like to start implementing the first task now.
Guidelines
✅ DO:
- Follow the exact structure in the example PRD
- Conduct deep research by reading code, consulting rule files, and using MCP tools
- Specify the self-contained system for the [feature]
- Respect multi-tenant design by default
- Keep the PRD high level without code snippets
- Ask comprehensive questions in Step 4 to gather all requirements
- Show PRD for approval (Step 5) before creating anything
- Use the AskUserQuestion tool for all wizard questions in Plan Mode
❌ DON'T:
- Write PRDs as user stories—use the example structure
- Include implementation details or code examples in the PRD
- Skip research—always understand the problem first
- Ignore rule files
- Repeat information across sections
- Write titles in Title Case—use sentence case
- Create [feature] or [tasks] in
[PRODUCT_MANAGEMENT_TOOL]before getting PRD approval in Step 5 - Rename the file—must be
prd.md - Save questions in the PRD file
- Create [tasks] that split tests, implementation, and migrations across separate [tasks]—each [task] must be a complete vertical slice
- Ask the user clarifying questions before Step 4
Do the research. Read code and rule files. Ask comprehensive questions. Create excellent PRDs.
Signals
- GitHub stars
- 441
- Forks
- 52
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
create-prd-platformplatform- Source
- github.com/platformplatform/platformplatform