Assess non-functional requirements across 6 quality categories (Security, Performance, Reliability, Maintainability, Scalability, Usability) with measurable criteria, evidence-based evaluation, and...
The nfr-assess skill performs comprehensive evaluation of non-functional requirements (NFRs) to ensure the implementation meets quality attributes beyond functional correctness. NFRs are cross-cutting concerns that determine system quality, reliability, and long-term viability. This skill assesses 6 critical quality categories with measurable criteria, evidence-based evaluation, and automated checks where possible.
Unlike functional requirements that define what the system does, non-functional requirements define how well the system performs. This skill provides objective assessment across Security (authentication, encryption, vulnerabilities), Performance (response times, throughput, resource usage), Reliability (error handling, monitoring, fault tolerance), Maintainability (code quality, documentation, testability), Scalability (horizontal scaling, database design, async processing), and Usability (API design, error messages, documentation).
The assessment produces a weighted overall NFR score, individual category scores, identifies gaps with severity ratings, and provides actionable recommendations. Results feed directly into the quality-gate skill to inform merge/release decisions. Automated checks (security scans, linting, test coverage, performance tests) are integrated where available to provide objective, reproducible metrics.
This skill should be used when:
This skill is particularly valuable:
This skill should NOT be used when:
Before running nfr-assess, ensure you have:
npm audit, semgrep, or equivalentDependencies on other skills:
This skill executes through 9 sequential steps. Each step must complete successfully before proceeding. The process is designed to systematically evaluate all 6 NFR categories with evidence collection, automated checks, and gap identification.
Purpose: Load project configuration, task specification, and all relevant context needed for NFR assessment. Identify implementation files, prepare automated checks, and determine which NFR categories are most relevant based on task type.
Actions:
.claude/config.yaml (quality settings, NFR thresholds).claude/quality/assessments/{task-id}-nfr-{YYYYMMDD}.md)Halt If:
Output: Configuration loaded, task spec loaded, related assessments checked, implementation files identified, NFR categories prioritized, automated checks prepared, output path set
See: references/templates.md#step-0-configuration-loading-output for complete format and nfr-categories.md for category descriptions
Purpose: Evaluate security posture including authentication, authorization, input validation, dependency vulnerabilities, and security best practices. Leverage automated security scans (npm audit, semgrep) and manual code review to identify security gaps with evidence.
Actions:
npm audit --json or equivalent)semgrep --config=auto if available)Output: Overall security score, criteria breakdown (PASS/CONCERNS/FAIL), automated check results (vulnerabilities, secrets), critical gaps count
See: references/templates.md#step-1-security-assessment-output for complete format, nfr-categories.md for criteria, nfr-examples.md for evidence examples
Purpose: Evaluate performance characteristics including response times, throughput, resource usage, caching, and optimization. Run performance tests if available, analyze database queries for N+1 problems, and check algorithm complexity in hot paths.
Actions:
npm run test:perf if available)Output: Overall performance score, response time metrics (p50/p95/p99), throughput, load test results, performance gaps
See: references/templates.md#step-2-performance-assessment-output for complete format with benchmark tables
Purpose: Evaluate system reliability including error handling, fault tolerance, recovery, monitoring, and logging. Check for comprehensive error handling, graceful degradation when dependencies fail, and proper observability (logging, monitoring, health checks).
Actions:
Output: Overall reliability score, error handling status, logging status (structured/aggregation), monitoring status (health checks/metrics), reliability gaps
See: references/templates.md#step-3-reliability-assessment-output for complete format
Purpose: Evaluate code maintainability including code quality, documentation, testability, modularity, and technical debt. Leverage automated tools (linting, test coverage, complexity analysis) and manual review for documentation, naming, and code organization.
Actions:
npm run lint or equivalent)npm run test:coverage)Output: Overall maintainability score, test coverage %, avg/max complexity, linting results, documentation status, maintainability gaps
See: references/templates.md#step-4-maintainability-assessment-output for complete format with metrics breakdown
Purpose: Evaluate system scalability including horizontal/vertical scaling capability, load handling, database design, and caching strategy. Check for stateless design, proper database indexing, async processing for expensive operations, and readiness for load balancing.
Actions:
Output: Overall scalability score, stateless design status, database indexing (count/missing), async processing status, horizontal scaling readiness, scalability gaps
See: references/templates.md#step-5-scalability-assessment-output for complete format with DB analysis
Purpose: Evaluate system usability including API design, error messages, documentation, and accessibility (if UI). For APIs, check RESTful conventions, error message clarity, and API documentation. For UIs, check WCAG compliance, responsive design, and user experience.
Actions:
Output: Overall usability score, API/UI design status, error messages quality, documentation status, accessibility status (if UI), usability gaps
See: references/templates.md#step-6-usability-assessment-output for API and UI formats
Purpose: Create comprehensive NFR assessment report using template with all category assessments, overall score calculation, gap summary, and recommendations.
Actions:
Output: Report path, overall NFR score/status, category scores, total gaps breakdown (P0/P1/P2), report size
See: references/templates.md#step-7-overall-nfr-scoring-formula for complete formula and examples, nfr-scoring.md for methodology, nfr-gaps.md for gap categorization
Purpose: Provide concise summary with key metrics, critical gaps, quality gate impact, and recommended next steps.
Actions:
Output: Complete formatted summary with scores, gaps, quality gate prediction, recommendations, next steps
See: references/templates.md#step-8-complete-user-summary-format for full formatted output, nfr-examples.md for examples
Integration with risk-profile: Security/performance/reliability risks from risk profile inform NFR assessment priorities and amplify gap severity (e.g., HIGH gap + HIGH risk = CRITICAL P0)
Integration with trace-requirements: Implementation evidence validates NFR implementation; NFR gaps feed back as coverage gaps in traceability matrix
Integration with test-design: Performance/load/security test specifications inform corresponding NFR category assessments
Integration with quality-gate: Overall NFR score + category scores + critical gaps feed into quality gate decision (≥90%: PASS-excellent, 75-89%: PASS-good, 60-74%: CONCERNS, <60%: FAIL; Security/Reliability <50%: production blocker)
See: references/templates.md#integration-examples for detailed integration workflows and decision logic
Run NFR assessment before quality gate | Integrate automated checks (security, linting, coverage) | Document evidence thoroughly (file paths, line numbers, snippets) | Prioritize Security and Reliability (production blockers) | Set measurable thresholds in config | Re-run after fixes to validate | Customize category weights per project | Review with stakeholders (cross-functional decisions)
templates.md - All output formats, complete examples, scoring formulas, integration workflows, JSON structures
nfr-categories.md - Detailed assessment criteria for all 6 NFR categories with examples and thresholds
nfr-scoring.md - Scoring methodology, weighting formulas, status thresholds, automated check integration
nfr-gaps.md - Gap identification, severity levels (CRITICAL/HIGH/MEDIUM), prioritization (P0/P1/P2), remediation guidance
nfr-examples.md - Complete example assessments, evidence formats, benchmarks, summary outputs
NFR Assessment skill - Version 2.0 - Minimal V2 Architecture