UNPKG

prprompts-flutter-generator

Version:

AI-powered Flutter development with full automation + official extension support - Generate 32 security-audited guides & auto-implement in 2-3 hours. NEW v5.1: Official Claude Code plugin with hooks, Gemini TOML commands, Qwen MCP settings. Features: Comp

373 lines (300 loc) 14.3 kB
--- name: Analyze PRD description: Validate and analyze PRD with quality scoring, show customizations author: PRD Analyzer version: 2.0.0 tags: [prd, validation, analysis, quality-scoring] --- # Analyze Product Requirements Document ## Overview Validate PRD structure, calculate comprehensive quality scores (Completeness, Clarity, Feasibility, Security), assign overall grade (A-F), and show what PRPROMPTS customizations will be applied based on the PRD metadata. ## Input File Look for: `docs/PRD.md` ## Analysis Steps ### Step 1: Validate YAML Frontmatter Check for required fields: - `project_name` (required) - `project_type` (required) - `platforms` (required, must have at least one) - `auth_method` (required) ### Step 2: Calculate Quality Scores #### 2.1 Completeness Score (0-100%) **Section Presence (60% weight):** Count present sections out of 15 expected: 1. Executive Summary 2. Product Vision 3. Target Users (with personas) 4. Core Features (detailed) 5. Non-Functional Requirements 6. Compliance Requirements (if compliance != []) 7. User Flows 8. Data Model 9. API Specifications 10. Design Guidelines 11. Technical Architecture 12. Testing Strategy 13. Deployment Plan 14. Timeline & Milestones 15. Success Metrics **YAML Completeness (20% weight):** - All required fields present: project_name, project_type, platforms, auth_method - Optional but important fields: features, team_composition, testing_requirements **Feature Detail (20% weight):** For each feature, check: - Has description (2 points) - Has user stories (3 points) - Has acceptance criteria (3 points) - Has technical requirements (2 points) - Total per feature: 10 points - Average across all features **Formula:** ``` Completeness = (Present_Sections/15 × 60) + (YAML_Fields × 20) + (Avg_Feature_Detail × 20) ``` #### 2.2 Clarity Score (0-100%) **Ambiguity Detection (40% weight):** Scan for vague language in critical sections: - "maybe", "possibly", "might", "could be", "approximately", "around" - "TBD", "TODO", "To be determined" - "probably", "likely", "hopefully" - Count ambiguous phrases / total sentences - Clarity_Sub1 = 100 - (ambiguous_count × 5) # max deduction 100 **Measurable Criteria (30% weight):** - Acceptance criteria are quantified (not just "fast", but "< 2 seconds") - Success metrics follow SMART format - Performance targets have numbers - Timeline has specific dates - Clarity_Sub2 = (Measurable_criteria / Total_criteria) × 100 **Clear Priorities (15% weight):** - Features marked as P0/P1/P2 or similar - Dependencies identified - Must-haves vs nice-to-haves clear - Clarity_Sub3 = 100 if priorities clear, else 0 **Concrete Timelines (15% weight):** - Specific dates vs "Q3", "soon", "later" - Milestones with deliverables - Clarity_Sub4 = 100 if concrete, 50 if partial, 0 if vague **Formula:** ``` Clarity = (Clarity_Sub1 × 0.4) + (Clarity_Sub2 × 0.3) + (Clarity_Sub3 × 0.15) + (Clarity_Sub4 × 0.15) ``` #### 2.3 Feasibility Score (0-100%) **Timeline vs Complexity (35% weight):** - Estimate story points per feature (complexity: low=3, medium=5, high=8, critical=13) - Calculate total story points - Estimate capacity: team_size.mobile × weeks × velocity_factor - Ratio = capacity / story_points - Feasibility_Sub1: - Ratio >= 1.2: 100 (comfortable margin) - Ratio 1.0-1.2: 85 (achievable) - Ratio 0.8-1.0: 60 (tight) - Ratio 0.5-0.8: 35 (risky) - Ratio < 0.5: 10 (unrealistic) **Team Size vs Scope (25% weight):** - Check team composition matches project needs - Large team (16+): Can handle critical compliance, many features - Medium team (6-15): Can handle moderate complexity - Small team (1-5): Best for simple apps or MVP - Feasibility_Sub2 = 100 if match, 70 if slight mismatch, 30 if major gap **Technology Maturity (20% weight):** - Proven tech stack (Flutter stable, mature packages): 100 - Some bleeding-edge (beta packages, experimental features): 70 - Mostly experimental: 40 - Unproven architecture: 10 **Dependency Risks (20% weight):** - Count external dependencies: APIs, services, integrations - Low risk (0-3 deps): 100 - Moderate risk (4-7 deps): 75 - High risk (8-12 deps): 50 - Very high risk (13+ deps): 25 **Formula:** ``` Feasibility = (Timeline_Score × 0.35) + (Team_Match × 0.25) + (Tech_Maturity × 0.20) + (Dependency_Risk × 0.20) ``` #### 2.4 Security Score (0-100%) **Compliance Coverage (35% weight):** - If compliance standards specified: - All standards have documentation sections: 100 - Partial documentation: 60 - No documentation: 0 - If no compliance needed: 100 (N/A) **Authentication & Authorization (25% weight):** - Auth method specified: +40 - JWT config complete (RS256, expiry, claims): +30 - MFA mentioned: +15 - Biometric auth for sensitive data: +15 - Max: 100 **Data Protection (25% weight):** - Encryption at rest specified: +35 - Encryption in transit (TLS 1.3): +30 - E2E encryption for messaging: +20 - Secure storage for secrets: +15 - Max: 100 **Audit & Monitoring (15% weight):** - Audit logging for sensitive operations: +50 - Security testing mentioned (pen testing): +30 - Incident response plan: +20 - Max: 100 **Formula:** ``` Security = (Compliance_Cov × 0.35) + (Auth_Score × 0.25) + (Data_Protect × 0.25) + (Audit_Score × 0.15) ``` ### Step 2.5: Calculate AI Confidence Levels (NEW v4.1) For each quality dimension, calculate confidence based on information availability: **Completeness Confidence:** - All 15 required sections present: 100% - Each missing section: -10% - YAML fields present: +5% per critical field (up to 30%) - Features well-documented: +20% **Clarity Confidence:** - All features have user stories: +25% - Technical requirements specified: +25% - Acceptance criteria defined: +25% - No ambiguous language detected: +25% **Feasibility Confidence:** - Timeline specified with milestones: +30% - Team composition fully detailed: +30% - Technology stack explicitly chosen: +20% - No red flags detected: +20% **Security Confidence:** - Compliance requirements listed: +30% - Auth method specified with config: +25% - Encryption requirements detailed: +25% - Sensitive data types identified: +20% **Confidence Interpretation:** - 90-100%: High confidence, assessment reliable - 70-89%: Medium confidence, assessment mostly reliable - 50-69%: Low confidence, human review recommended - < 50%: Very low confidence, assessment unreliable **When to flag low confidence:** - Missing critical information makes assessment uncertain - Vague language prevents accurate scoring - Contradictory requirements detected - Insufficient detail for dimension assessment ### Step 3: Calculate Overall Grade **Overall Percentage:** ``` Overall = (Completeness × 0.30) + (Clarity × 0.25) + (Feasibility × 0.25) + (Security × 0.20) ``` **Letter Grade:** - A (90-100%): Production-ready PRD, excellent quality - B (80-89%): Strong PRD, minor improvements recommended - C (70-79%): Acceptable, significant improvements needed - D (60-69%): Major gaps, substantial rework required - F (<60%): Not ready for PRPROMPTS generation, critical issues ### Step 4: Validate Compliance Consistency Check that compliance matches sensitive data: - If `compliance` includes "hipaa" → `sensitive_data` should include "phi" - If `compliance` includes "pci-dss" → `sensitive_data` should include "payment" - If `compliance` includes "gdpr" → warn if no "pii" ### Step 5: Detect Customization Triggers Based on PRD frontmatter, identify which customizations will be applied: **Project Type Customizations:** - healthcare → Add PHI handling patterns, HIPAA guides - fintech → Add payment tokenization, PCI-DSS guides - education → Add COPPA compliance, parental consent patterns - logistics → Add GPS tracking, route optimization patterns - ecommerce → Add shopping cart, checkout patterns - saas → Add multi-tenancy, subscription patterns **Compliance Customizations:** - hipaa → `hipaa-compliance-checker` subagent, audit logging, PHI encryption - pci-dss → `fintech-security-reviewer` subagent, tokenization, no card storage - gdpr → Right to erasure, data portability, consent management - coppa → `coppa-compliance-monitor` subagent, parental consent flows **Architecture Customizations:** - offline_support: true → Offline sync strategies, conflict resolution, local storage guides - real_time: true → WebSocket patterns, real-time state management, presence tracking - jwt auth → JWT RS256 verification, token refresh, secure storage **Team Customizations:** - junior developers > 0 → Add "Why?" explanations, detailed onboarding - team size large → Multi-team coordination guides, CODEOWNERS automation - demo_frequency not "none" → Demo environment setup, synthetic data generation ### Step 6: Count Affected Files Calculate how many PRPROMPTS files will be customized (out of 32 total). ## Output Format Display analysis with quality scores: ``` ═══════════════════════════════════════════════════════════ 📊 PRD QUALITY ANALYSIS ═══════════════════════════════════════════════════════════ **File:** docs/PRD.md **Project:** [project_name] **Type:** [project_type] **Analyzed:** [timestamp] ┌─────────────────────────────────────────────────────────┐ │ QUALITY SCORES │ ├─────────────────────────────────────────────────────────┤ │ │ │ Completeness: [██████████░░░░░░░░░░] XX% │ │ Clarity: [██████████████░░░░░░] XX% │ │ Feasibility: [████████████████░░░░] XX% │ │ Security: [████████████████████] XX% │ │ │ │ ───────────────────────────────────────────── │ │ OVERALL GRADE: [A/B/C/D/F] (XX%) │ │ Status: [Ready/Improvements needed/Not ready] │ └─────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────┐ │ AI CONFIDENCE LEVELS (NEW v4.1) │ ├─────────────────────────────────────────────────────────┤ │ │ │ Completeness: [████████████████████] XX% confident │ │ Clarity: [████████████████████] XX% confident │ │ Feasibility: [████████████████████] XX% confident │ │ Security: [████████████████████] XX% confident │ │ │ │ 💡 Confidence indicates how much information was │ │ available to assess each dimension. Low confidence │ │ (< 70%) suggests human review needed in that area. │ └─────────────────────────────────────────────────────────┘ **Project Details:** - Name: [project_name] - Type: [project_type] - Platforms: [platforms list] - Compliance: [compliance list or "None"] - Team Size: [team_size] - Timeline: [timeline] **Detected Triggers:** - [List all customization triggers detected] **Customizations To Apply:** - [Number] files will be customized (out of 32 total) - [List specific customizations] **Subagents To Generate:** - [List subagents that will be auto-generated] **Warnings:** [List any inconsistencies or missing recommended fields] **Recommendations:** [Suggest improvements or missing compliance requirements] **Next Steps:** [Grade-appropriate next steps based on overall score] - Grade A (90-100%): Ready for PRPROMPTS generation - Grade B (80-89%): Minor improvements suggested - Grade C (70-79%): Significant improvements recommended - Grade D (60-69%): Major rework required - Grade F (<60%): Not ready, must fix critical issues ``` ## Validation Rules ### Critical Errors (Block Generation): - Missing required fields (project_name, project_type, platforms, auth_method) - Invalid YAML syntax - Empty features list - Overall grade F (<60%) ### Warnings (Allow but Warn): - Compliance mismatch (HIPAA without PHI) - No testing requirements specified - Timeline seems unrealistic - Team size doesn't match feature complexity ### Recommendations: - Suggest compliance standards based on project type - Recommend offline support for certain project types - Suggest real-time for collaborative features - Recommend team size adjustments - Suggest refine-prd command for grades < B ## Success Metrics **Analysis is successful when:** - ✅ All 4 quality scores calculated accurately - ✅ Overall grade assigned (A-F) - ✅ User understands PRD strengths and weaknesses - ✅ Clear actionable recommendations provided - ✅ User knows next steps (proceed, refine, or fix) - ✅ Customization preview shows what PRPROMPTS will generate