Requirements Analyzer
Installation
$ npx skills add Mihirmodi27/product-management-skills --skill requirements-analyzerSummary
Analyze client/partner-provided project materials and extract structured requirements documentation.
Fires when
Use when: (1) User provides PRDs, user flows, user stories, or rough project ideas, (2) User shares Figma designs/prototypes (screenshots or links), (3) User asks to ‘analyze requirements’, ‘extract requirements’, or ‘create a requirements document’ from client materials. Outputs a professional DOCX with problem statement, functional/non-functional requirements (MoSCoW prioritized), feature breakdown, and identified gaps.
In the box
SKILL.md, 1 reference
SKILL.md
Transform unstructured client/partner inputs into a structured requirements document (DOCX).
Input Handling
Accept any combination of:
- Documents: PRDs, user flows, user stories, specifications
- Figma: Screenshots/exports (analyze directly) or links (use browser inspection)
- Rough ideas: Text descriptions, meeting notes, informal requirements
Analysis Workflow
1. Gather & Inventory
- List all provided materials
- Note format of each (document, image, Figma link, text)
- For Figma links: use browser tools to inspect designs
2. Extract Information
From each source, identify:
- Core problem being solved
- User types/personas mentioned
- Features and capabilities described
- Technical constraints or preferences
- Performance, security, compliance mentions
- UI/UX patterns and flows
3. Classify Requirements
Separate into:
- Functional Requirements (FR): What the system must do
- Non-Functional Requirements (NFR): How the system must perform (performance, security, scalability, compliance, usability)
4. Prioritize with MoSCoW
Assign each requirement:
| Priority | Meaning | MVP? |
|---|---|---|
| Must | Essential for launch | ✓ |
| Should | Important but not blocking | Sometimes |
| Could | Nice-to-have enhancements | ✗ |
| Won't | Explicitly out of scope (this phase) | ✗ |
MVP = All "Must" items + critical "Should" items
5. Identify Gaps
Flag missing or ambiguous information. Do not assume or fill in gaps. Examples:
- Authentication method unspecified
- User role permissions unclear
- Data retention policy not mentioned
- Third-party integration details missing
- Success metrics undefined
6. Generate Output
Create DOCX following the template in references/output-template.md, using the docx skill (Claude chat) or python-docx (Claude Code). See the Environment section for where to save it.
Critical Rules
- Never invent requirements — only extract what's explicitly or reasonably implied
- Flag all ambiguities — gaps section must be comprehensive
- Preserve source attribution — note which input each requirement came from
- Keep language precise — avoid vague terms like "fast" or "user-friendly" without metrics
- Separate concerns — don't mix functional and non-functional requirements
Output Format
Single DOCX file with sections defined in references/output-template.md.
Environment
This skill runs in both Claude chat and Claude Code. A few things differ:
| Claude chat / Cowork | Claude Code | |
|---|---|---|
| Where to save | /mnt/user-data/outputs/ |
the path the user names, else ./outputs/ |
| Handing the file over | present_files tool |
state the full path in your reply |
| Reading DOCX/PDF/XLSX inputs | built-in docx, pdf-reading, xlsx skills |
read them directly, or with python-docx / openpyxl |
| Generating DOCX | built-in docx skill |
python-docx (pip install python-docx if missing) |
Pick based on where you're running: if /mnt/user-data/ exists, you're in Claude chat. A path
the user names explicitly always wins over either default. Never overwrite an existing file
without saying so first.