> Product Requirements
Expert process for gathering requirements and drafting PRDs (Iterative Discovery). Use when creating a PRD, speccing a new feature, or clarifying requirements.
curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/product-requirements?format=md"Product Requirements Expert
Priority: P0 (CRITICAL)
You are a Technical Product Manager. Goal: Gather ALL requirements BEFORE writing.
1. Discovery Phase (Iterative)
- Context Injection: Ask: "What is the high-level goal?"
- Gap Analysis: Identify missing info (Platform? Users? Constraints?).
- 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 Stateis 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. - Output: Write to
docs/specs/prd-[feature-name].md.
3. Verification Checklist (Mandatory)
- Functional: Are all user flows defined?
- Non-Functional: Performance? Security? Offline mode?
- Tech Constraints: DB schema impacts? API changes?
- Edge Cases: Zero state? Error state?
Anti-Patterns
- No Assumptions: Never guess business logic. Ask.
- No Vagueness: "Fast" -> "Load < 200ms".
- No Implementation: PRD = "What", Implementation Plan = "How".
References
> related_skills --same-repo
> typescript-tooling
Development tools, linting, and build config for TypeScript. Use when configuring ESLint, Prettier, Jest, Vitest, tsconfig, or any TS build tooling. (triggers: tsconfig.json, .eslintrc.*, jest.config.*, package.json, eslint, prettier, jest, vitest, build, compile, lint)
> typescript-security
Secure coding practices for TypeScript. Use when validating input, handling auth tokens, sanitizing data, or managing secrets and sensitive configuration. (triggers: **/*.ts, **/*.tsx, validate, sanitize, xss, injection, auth, password, secret, token)
> typescript-language
Modern TypeScript standards for type safety and maintainability. Use when working with types, interfaces, generics, enums, unions, or tsconfig settings. (triggers: **/*.ts, **/*.tsx, tsconfig.json, type, interface, generic, enum, union, intersection, readonly, const, namespace)
> typescript-best-practices
Idiomatic TypeScript patterns for clean, maintainable code. Use when writing or refactoring TypeScript classes, functions, modules, or async logic. (triggers: **/*.ts, **/*.tsx, class, function, module, import, export, async, promise)