Awesome-claude-corporate-skills 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.

install
source · Clone the upstream repo
git clone https://github.com/w95/awesome-claude-corporate-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/w95/awesome-claude-corporate-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/09-product-management/prd-writer" ~/.claude/skills/w95-awesome-claude-corporate-skills-prd-writer && rm -rf "$T"
manifest: 09-product-management/prd-writer/SKILL.md
source content

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:

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

RiskImpactProbabilityMitigation
WebSocket scalability issuesHighMediumLoad test with 10K concurrent users before launch
Notification fatigue causing opt-outsHighMediumImplement smart batching and do-not-disturb by default
Mobile app notification permissionsMediumHighProvide clear education on benefits before permission request
Slack integration delaysLowMediumBuild 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