common-product-requirements
$
npx mdskill add HoangNguyen0403/agent-skills-standard/common-product-requirements**Role**: Product spec owner. Define the product "What" before technical design.
SKILL.md
.github/skills/common-product-requirementsView on GitHub ↗
---
name: common-product-requirements
description: Standardize PRD discovery and drafting for product scope, user outcomes, requirement IDs, and acceptance criteria. Use when creating PRD, product requirements, feature specification, or acceptance criteria plan.
metadata:
triggers:
files:
- 'PRD.md'
- 'docs/specs/prd-*.md'
- 'specs/*.md'
keywords:
- create prd
- product requirements
- draft requirements
- new feature spec
- acceptance criteria
---
# Product Requirements Expert
## **Priority: P0 (CRITICAL)**
**Role**: Product spec owner. Define the product "What" before technical design.
## 1. Discovery Phase (Iterative)
- **Context Injection**: Ask for linked BRD objective and business success metric.
- **Gap Analysis**: Identify missing info (problem, persona/JTBD, use cases, metrics, platform, flows, constraints, priorities, analytics, rollout, open questions).
- **Active Inquiry**:
- Ask 3-5 clarification questions at a time.
- **MUST** provide (a, b, c) options to reduce user friction.
- _Example_: "Target platform? a) Web b) Mobile c) Both"
- **Repeat**: Continue until `Actionable State` reached.
## 2. Drafting Phase (System of Record)
- **Filesystem**: Ensure `docs/specs/` exists.
- **Load Template**: Read `references/prd-template.md`.
- **Fill & Fix**: Map Discovery answers to template. Mark unknowns as `TBD`.
- **Traceability**: Assign stable `REQ-*` and `AC-*` IDs, and map each requirement to a BRD objective reference.
- **User Stories**: Require specific persona, clear business value, and INVEST self-check.
- **Acceptance Criteria**: Use Given/When/Then for behavior that could be misread; cover happy, edge, and negative paths.
- **Living Spec**: Include analytics, risks, rollout, decisions, and changelog.
- **Output**: Write to `docs/specs/prd-[feature-name].md`.
## 3. Verification Checklist (Mandatory)
- [ ] **Functional**: all user flows defined?
- [ ] **Traceability**: every AC mapped to `REQ-*` and business objective?
- [ ] **Non-Functional**: Performance? Security? Offline mode?
- [ ] **Analytics/Ops**: Events, guardrails, rollout, and support readiness?
- [ ] **Tech Constraints**: DB schema impacts? API changes?
- [ ] **Edge Cases**: Zero state? Error state?
- [ ] **Scope Hygiene**: Out-of-scope items explicitly listed?
## Anti-Patterns
- **No Assumptions**: Never guess business logic. Ask.
- **No Vagueness**: "Fast" -> "Load < 200ms".
- **No Implementation**: PRD = "What", Implementation Plan = "How".
- **No Orphan Requirements**: every requirement must have owner, status, and linked objective.
- **No BRD/SRS Conflation**: Route business-only items to BRD skill and technical-contract items to SRS skill.
- **No Generic Actors**: replace "user" with a specific role or persona.
## References
- [Full PRD Template](references/prd-template.md)
- [Validation Checklist](references/checklist.md)
More from HoangNguyen0403/agent-skills-standard
- android-agp-upgradeUpgrade an Android project to Android Gradle Plugin (AGP) 9. Use when migrating to AGP 9, updating Gradle build files, migrating to built-in Kotlin, or adopting the new AGP DSL.
- android-architectureApply Clean Architecture layering, modularization, and Unidirectional Data Flow in Android projects. Use when setting up project structure, placing code in layers, configuring feature/core modules, or implementing UDF patterns.
- android-background-workImplement WorkManager and background processing correctly on Android. Use when creating Worker classes, scheduling tasks, choosing between WorkManager and Foreground Services, or setting up Hilt in workers.
- android-composeBuild high-performance declarative UI with Jetpack Compose. Use when writing Composable functions, optimizing recomposition, hoisting state, or working with LazyColumn and side effects.
- android-compose-migrationMigrate an Android XML View to Jetpack Compose following a structured 10-step workflow. Use when converting XML layouts to Compose, setting up Compose in an existing View-based project, or incrementally adopting Compose.
- android-concurrencyWrite correct coroutine scopes, Flow collection, and dispatcher injection in Android. Use when writing suspend functions, choosing between StateFlow and SharedFlow, or injecting Dispatchers for testability.
- android-deploymentConfigure release signing, R8 obfuscation, and App Bundle publishing for Android. Use when setting up signing configs, enabling minification, adding ProGuard keep rules, or preparing for Play Store submission.
- android-design-systemEnforce Material Design 3 theming and design token usage in Jetpack Compose. Use when implementing M3 components, color schemes, typography, or design tokens.
- android-diConfigure Hilt dependency injection with proper scoping, modules, and constructor injection in Android. Use when setting up Hilt DI, defining modules, or configuring component scoping.
- android-edge-to-edgeMigrate a Jetpack Compose app to edge-to-edge display and fix system bar inset issues. Use when UI components are obscured by navigation/status bars, fixing IME insets, or enabling edge-to-edge for SDK 35+.