# Prd Writer

> Write comprehensive Product Requirements Documents with user stories, acceptance criteria, technical specifications, wireframe descriptions, and prioritization frameworks (RICE, MoSCoW). Create clear specifications for product teams.

- Skill: `w95/prd-writer` (Agent Skill)
- Install (CLI): `npx skillmds add w95/prd-writer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/w95/prd-writer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: w95 (https://skillmd.com/u/w95)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/w95/prd-writer

---


# PRD Writer

## Overview
The PRD Writer skill guides product managers in creating clear, actionable Product Requirements Documents that align teams around feature specifications. It combines user-centered design, technical clarity, and business context to ensure successful implementation.

## When to Use This Skill
- Defining new features or products for development
- Communicating requirements to engineering teams
- Prioritizing features across roadmap
- Documenting feature specifications before development
- Communicating product vision to stakeholders
- Creating specifications for design and QA teams

## PRD Template and Structure

### Executive Summary

**Feature Name:** [Clear, descriptive name]
**Owner (PM):** [Name]
**Stakeholders:** [Engineering, Design, Marketing, Legal, etc.]
**Status:** [Draft, Under Review, Approved, In Development]
**Last Updated:** [Date]

**Vision Statement:**
[1-2 sentences describing the big picture)
Example: "Enable users to collaborate on projects in real-time, reducing communication overhead and improving team alignment."

**Business Objective:**
- Primary goal: [Increase retention/revenue/efficiency]
- Measurable target: [X% improvement in metric]
- Time frame: [Quarter/year target]

**User Problem Being Solved:**
[Describe the pain point this feature addresses]
"Users currently spend 30+ minutes in meetings synchronizing project status manually. This feature enables asynchronous updates, reducing meeting time by 50%."

**Success Criteria:**
- Adoption: [% of users adopting within 3 months]
- Engagement: [% of users using feature weekly]
- NPS impact: [Target +5 NPS points]
- Revenue: [$X MRR increase or $X cost savings]

---

### User Stories and Use Cases

**Primary Use Cases:**

**Use Case 1: Team Real-Time Collaboration**
- Actor: [Project team member]
- Precondition: [User is logged in, project open]
- Main flow:
  1. User updates task status
  2. Update broadcasts to team instantly
  3. Notification appears in activity feed
- Postcondition: [All team members see updated status]
- Alternative flows: [Connection lost, offline mode]

**Use Case 2: Asynchronous Status Reporting**
- Actor: [Remote team member]
- Precondition: [User is in different timezone]
- Main flow:
  1. User adds comment to task
  2. Comment appears in feed
  3. Manager receives daily digest
  4. Manager responds asynchronously
- Postcondition: [No synchronous meeting required]

### User Stories Framework

**Story 1: View Real-Time Updates**
```
As a [project manager]
I want to [see live updates of task status]
So that [I can monitor progress without status meetings]

Acceptance Criteria:
- When a team member updates task status, I see the update within 2 seconds
- Status changes show in the main project view
- Activity timeline shows all updates with timestamps
- Notifications alert me to priority changes
- I can filter updates by assignee or task type

Definition of Done:
- Code reviewed and approved
- Unit tests pass (>80% coverage)
- QA tested on Chrome, Firefox, Safari
- Product Manager has signed off
- Updated help documentation
```

**Story 2: Receive Activity Notifications**
```
As a [team lead]
I want to [control which activities trigger notifications]
So that [I'm not overwhelmed with alerts]

Acceptance Criteria:
- Notification settings are accessible in preferences
- I can enable/disable alerts by activity type
- I can choose delivery method (in-app, email, Slack)
- Settings persist across devices
- Changes apply immediately

Definition of Done:
- Backend stores notification preferences
- Frontend UI implemented and tested
- Email delivery tested
- Slack integration verified
- Analytics event added for tracking
```

**Story 3: Mobile Notification Delivery**
```
As a [remote employee]
I want to [receive notifications on my phone]
So that [I stay informed while away from desk]

Acceptance Criteria:
- Push notifications delivered to iOS and Android apps
- Notifications respect local time zone
- User can tap notification to jump to relevant item
- Notification includes context (project, task, change)
- Deep linking to specific feature works

Definition of Done:
- Push service integrated (Firebase Cloud Messaging)
- iOS and Android implementations complete
- Battery/battery testing on both platforms
- Deep linking tested on Android and iOS
```

---

### Detailed Specifications

#### Feature Specification Overview

**Feature Name:** [Name]
**Scope:** [What's included and explicitly NOT included]
**Dependencies:** [Features that must exist first]
**Data Model Changes:** [Database schema updates]

#### Functional Requirements

**Requirement 1: Real-Time Status Updates**
- System shall broadcast task status changes to all project members within 2 seconds
- Broadcast includes: task ID, new status, previous status, timestamp, user who made change
- System shall maintain 99.9% uptime for status broadcasting
- System shall handle up to 1,000 concurrent status updates per project

**Requirement 2: Activity Feed Display**
- Feed shall show all activity in reverse chronological order
- Each activity item shall include: actor, action, object, timestamp, context
- Feed shall paginate in 20-item increments
- User can filter feed by: activity type, assignee, task, date range
- Feed loads within 1 second for initial load, 500ms for pagination

**Requirement 3: Notification Delivery**
- System shall deliver notifications within 5 seconds of activity trigger
- User can choose delivery method per activity type: in-app, email, Slack, mobile push
- Notifications shall respect do-not-disturb hours (if configured)
- System shall batch notifications to prevent notification fatigue (max 1 email per hour)

#### Technical Specifications

**Technology Stack:**
- Frontend: [React 18, TypeScript]
- Backend: [Node.js, Express]
- Database: [PostgreSQL]
- Real-time: [WebSockets, Socket.io]
- Notifications: [SendGrid for email, FCM for mobile, Slack API]

**API Endpoints:**

```
POST /api/tasks/{taskId}/status
Updates task status, triggers broadcast

GET /api/projects/{projectId}/activity
Fetches activity feed with pagination

PUT /api/notifications/preferences
Updates user notification settings

POST /api/notifications/subscribe
Subscribes to WebSocket for real-time updates
```

**Database Schema Changes:**

```sql
CREATE TABLE activity_feeds (
  id UUID PRIMARY KEY,
  project_id UUID REFERENCES projects(id),
  actor_id UUID REFERENCES users(id),
  action_type VARCHAR(50), -- task_updated, comment_added, etc.
  target_id UUID, -- task, comment, project
  target_type VARCHAR(50),
  changes JSONB, -- before/after values
  created_at TIMESTAMP DEFAULT NOW()
);

CREATE TABLE notification_settings (
  id UUID PRIMARY KEY,
  user_id UUID REFERENCES users(id),
  activity_type VARCHAR(50),
  email BOOLEAN DEFAULT true,
  in_app BOOLEAN DEFAULT true,
  slack BOOLEAN DEFAULT false,
  mobile_push BOOLEAN DEFAULT true,
  dnd_start TIME,
  dnd_end TIME
);
```

---

### UI/UX Specifications

#### Wireframe Descriptions

**Screen 1: Activity Feed**
```
[Header: "Activity"]
[Filter bar: Activity Type dropdown, Date range picker]
[Activity Item 1]
├─ [Avatar] [Name] [Action] [Context]
├─ [Timestamp] [2 hours ago]
└─ [Details: Task name, Previous → New status]

[Activity Item 2]
...
[Load more button]
```

**Screen 2: Notification Settings Modal**
```
[Header: "Notification Preferences"]
[Tabs: Delivery Methods | Do Not Disturb]

[Activity Type Toggles]
├─ Task Status Updated
│  ├─ ☑ Email ☑ In-app ☑ Mobile Push
│  ├─ Batch these notifications (dropdown: real-time, daily, weekly)
├─ New Comment
│  ├─ ☑ Email ☑ In-app ☑ Mobile Push
├─ Task Assigned to Me
│  ├─ ☑ Email ☑ In-app ☑ Mobile Push

[Save] [Cancel]
```

#### Design Considerations

- **Visual hierarchy:** Activity items show most important info first
- **Progressive disclosure:** Click item to see full details
- **Accessibility:** Color not only indicator (✓ + color for status changes)
- **Performance:** Virtual scrolling for large feeds (1000+ items)
- **Mobile:** Single-column layout, touch-friendly tap targets (44px min)

---

### Prioritization Framework: RICE

**RICE Scoring Formula:** (Reach × Impact × Confidence) / Effort

**Reach** (How many users affected in 3-month period)
- Example: 80% of active users = 8,000 users
- Scale: 0-10,000+

**Impact** (How much does this change user outcome)
- Massive (3x): Huge improvement in workflow
- High (2x): Significant improvement in efficiency
- Medium (1x): Noticeable improvement
- Low (0.5x): Minor improvement

**Confidence** (How confident are we in this estimate)
- High (100%): Based on customer data/usage patterns
- Medium (75%): Some user feedback, some assumptions
- Low (50%): Speculative, needs validation

**Effort** (How many person-weeks to implement)
- Small: 1-2 weeks
- Medium: 3-4 weeks
- Large: 5-8 weeks
- XL: 8+ weeks

**RICE Calculation Example:**
- Reach: 8,000 users
- Impact: 2x (high)
- Confidence: 75%
- Effort: 4 weeks

Rice Score = (8000 × 2 × 0.75) / 4 = 3,000

---

### Alternative Prioritization: MoSCoW

**Must Have** (Feature shipping incomplete without)
- Real-time status updates
- Activity notification system
- Notification delivery via email

**Should Have** (Important, ships in first iteration)
- Mobile push notifications
- Notification settings/preferences
- Activity feed filtering
- Do-not-disturb scheduling

**Could Have** (Nice to have, future iteration)
- Slack integration
- Custom notification batching
- Advanced activity analytics
- Activity timeline visualization

**Won't Have** (Explicitly out of scope)
- SMS notifications
- Voice notifications
- Calendar integration for notifications

---

### Timeline and Release Planning

**Phase 1: MVP (4 weeks)**
- Real-time status broadcasting (WebSocket)
- Activity feed (basic display)
- Email notifications
- Core notification settings
- **Release:** Target Quarter end

**Phase 2: Enhancement (3 weeks)**
- Mobile push notifications
- Advanced filtering and search
- Do-not-disturb scheduling
- Activity analytics
- **Release:** 2 weeks into next quarter

**Phase 3: Integration (4 weeks)**
- Slack integration
- Calendar sync
- Notification customization UI improvements
- **Release:** Mid-quarter

---

### Success Metrics

**Adoption:**
- Feature discoverability: 60% of users discover feature within 30 days
- Initial activation: 40% of users send at least one notification within week 1
- Weekly active users: 70% of users using feature weekly by month 3

**Engagement:**
- Daily active users: 50% of active users daily
- Activity feed views: Average 8 views per user per day
- Notification opens: 35% of delivered notifications opened

**Business Impact:**
- Time savings: Users report 30% reduction in status-checking time
- Meeting reduction: Average meeting duration reduced by 15 minutes/week
- Retention: Feature users have 10% higher 12-month retention

**Quality Metrics:**
- Notification delivery: 99.9% successful delivery rate
- Latency: 95% of updates delivered within 2 seconds
- Error rate: <0.1% of operations result in error

---

### Risks and Mitigation

| Risk | Impact | Probability | Mitigation |
|------|--------|-------------|-----------|
| WebSocket scalability issues | High | Medium | Load test with 10K concurrent users before launch |
| Notification fatigue causing opt-outs | High | Medium | Implement smart batching and do-not-disturb by default |
| Mobile app notification permissions | Medium | High | Provide clear education on benefits before permission request |
| Slack integration delays | Low | Medium | Build without Slack first, add as phase 2 |

---

## PRD Approval Checklist

- [ ] User stories clear and testable
- [ ] Acceptance criteria comprehensive
- [ ] Technical feasibility confirmed by engineering
- [ ] Design mockups reviewed and approved
- [ ] Success metrics defined and measurable
- [ ] Timeline realistic and estimated
- [ ] Risks identified and mitigation planned
- [ ] Dependencies documented
- [ ] Stakeholder sign-offs obtained
- [ ] PRD reviewed by design, engineering, QA, marketing
- [ ] Open questions resolved
- [ ] Ready for development kick-off

## Output Deliverables

1. **Full PRD Document** - All sections above, 15-20 pages
2. **Design Mockups/Wireframes** - High-fidelity or detailed wireframes
3. **Technical Specification** - API contracts, data models, schemas
4. **User Stories & Acceptance Criteria** - JIRA-ready format
5. **Success Metrics Dashboard** - Definition of all KPIs
6. **Timeline/Roadmap** - Phased release plan
7. **Risk Register** - Risks and mitigation strategies

