From codex-next
Defines measurable non-functional requirements (NFRs) for performance, reliability, security, privacy, accessibility, observability, and operations. Use when quality attributes need verification.
How this skill is triggered — by the user, by Claude, or both
Slash command
/codex-next:sdlc-nfr-specThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this workflow when a software feature, system, release, or integration needs measurable non-functional requirements.
Use this workflow when a software feature, system, release, or integration needs measurable non-functional requirements.
NFRs are quality and constraint requirements. They must be explicit, measurable where possible, and connected to validation. They should not be left as vague claims inside a PRD or SRS.
When an NFR changes architecture, it must be resolved before or during HLD. Do not leave performance, reliability, security, privacy, observability, or compatibility constraints as late implementation notes if they affect module boundaries, data flow, trust boundaries, deployment shape, or rollback strategy.
sdlc-hld-workflow, sdlc-architecture-decision-record, or sdlc-solution-spec-workflow after NFRs are identified.sdlc-srs-workflow or sdlc-prd-workflow first.Prefer these sources:
If the input lacks measurable data, write a decision-needed NFR rather than inventing a target.
Use only the categories relevant to the requested work.
| Category | Examples |
|---|---|
| Performance | latency, response time, startup time, page load, throughput, QPS, memory, CPU, energy |
| Scalability | users, tenants, data volume, concurrency, growth assumptions |
| Availability | uptime, maintenance window, degradation behavior |
| Reliability | failure handling, retries, consistency, durability, backup, recovery |
| Security | authn, authz, injection, secrets, threat model, abuse resistance |
| Privacy | PII, data minimization, consent, retention, deletion, third-party sharing |
| Compliance | audit, legal, platform policy, data residency, export or industry constraints |
| Accessibility | screen reader, keyboard, contrast, dynamic text, focus order, touch target |
| Compatibility | browser, OS, devices, API versions, backward compatibility |
| Maintainability | configuration, modularity, upgrade path, documentation, ownership |
| Observability | logs, metrics, traces, alerts, dashboards, audit trail |
| Operability | feature flags, rollout, rollback, support tools, runbook |
| Localization | language, date/time, currency, RTL, regional rules |
| Data quality | freshness, completeness, accuracy, lineage, reconciliation |
Route NFRs into architecture work when they affect structure or ownership:
| NFR area | Architecture impact |
|---|---|
| Performance | cache, async processing, indexing, queues, pagination, resource budgets |
| Reliability / availability | retry, fallback, circuit breaker, recovery, idempotency, backup strategy |
| Security | authentication, authorization, tenant isolation, secrets, audit, abuse controls |
| Privacy | data minimization, retention, deletion, anonymization, third-party boundaries |
| Observability | logs, metrics, traces, alerts, dashboards, audit trail |
| Compatibility | API versioning, schema migration, deprecation, feature flags, rollout strategy |
If the NFR implies a long-lived architecture decision or meaningful trade-off, create or request an ADR via sdlc-architecture-decision-record.
Write:
Feature/system:
Delivery profile:
Target users:
Deployment or platform:
Release target:
Critical risk areas:
NFR categories in scope:
NFR categories out of scope:
If the system is consumer-facing, enterprise-facing, regulated, AI-driven, financial, health-related, or admin/security-sensitive, make the risk category explicit.
Read source materials and extract every quality claim, such as:
fast
secure
reliable
low latency
privacy friendly
accessible
works offline
highly available
supports many users
safe for children
enterprise ready
app store ready
For each claim, decide whether it is:
| Type | Action |
|---|---|
| measurable requirement | convert to NFR |
| design principle | record as guidance |
| unresolved target | mark decision needed |
| unsupported claim | remove or flag |
| implementation detail | move to solution/design material |
Use stable IDs:
| Prefix | Category |
|---|---|
NFR-PERF | Performance |
NFR-SCALE | Scalability |
NFR-AVAIL | Availability |
NFR-REL | Reliability |
NFR-SEC | Security |
NFR-PRIV | Privacy |
NFR-COMP | Compliance |
NFR-A11Y | Accessibility |
NFR-COMPAT | Compatibility |
NFR-MAINT | Maintainability |
NFR-OBS | Observability |
NFR-OPS | Operability |
NFR-L10N | Localization |
NFR-DQ | Data quality |
Recommended structure:
### NFR-PERF-001: <Requirement name>
- Source:
- Requirement:
- Measurement:
- Target:
- Floor threshold:
- Test or validation method:
- Environment:
- Frequency:
- Owner:
- Related REQ IDs:
- Related SPEC IDs:
- Architecture impact:
- Related HLD / LLD / ADR:
- Release impact:
A valid NFR should answer:
What is constrained?
How is it measured?
What target must be met?
Where is it measured?
When is it measured?
Who owns validation?
What happens if it fails?
For performance-sensitive work, consider:
Use environment-specific targets. Do not compare local development timing with production requirements unless explicitly marked.
For reliability-sensitive work, consider:
Distinguish:
availability target
data correctness target
user-visible resilience
operator recovery
For security-sensitive work, identify:
If security or privacy decisions are uncertain, record them as blocking open questions rather than guessing.
For user-facing UI, consider:
If accessibility is out of scope for a delivery profile, state who accepted that risk.
For production-facing work, specify:
Observability requirements should be linked to user or business risk, not collected by default without purpose.
Use this table:
| NFR ID | Category | Requirement | Target / threshold | Validation | Release gate | Related SRS / SPEC |
|---|
Release gate values:
blocker
required before full rollout
required before beta
recommended
monitor after launch
Use:
| ID | Question / decision | Category | Blocks dev? | Blocks release? | Owner | Needed by |
|---|
Do not hide unknown thresholds. A requirement such as “performance must be good” is not ready; write it as an unresolved decision.
Return or write:
# NFR Spec: <Feature / System>
## 1. NFR Scope
## 2. NFR Category Coverage
## 3. NFR Matrix
## 4. Performance Requirements
## 5. Reliability / Availability Requirements
## 6. Security / Privacy / Compliance Requirements
## 7. Accessibility / Compatibility Requirements
## 8. Observability / Operations Requirements
## 9. Release Gates
## 10. Decisions, Assumptions, and Open Questions
## 11. Handoff Notes
Before calling the NFR spec ready, verify:
sdlc-solution-spec-workflow or sdlc-dev-handoff-planning.Route downstream:
| Need | Next skill |
|---|---|
| software requirement mapping | sdlc-srs-workflow |
| UI/API/Data/Admin/Permission/Directory slices | sdlc-spec-slice-writer |
| HLD | sdlc-hld-workflow |
| LLD | sdlc-lld-workflow |
| architecture decision record | sdlc-architecture-decision-record |
| solution package coordination | sdlc-solution-spec-workflow |
| implementation task package | sdlc-dev-handoff-planning |
| traceability | sdlc-requirements-traceability |
| readiness judgment | sdlc-readiness-review |
For dev handoff, provide:
npx claudepluginhub blueskyxn/codex-is-all-you-need --plugin codex-nextAssesses non-functional requirements (NFRs) like performance, security, and reliability in software architectures. Useful when evaluating system quality attributes.
Provides '-ilities' taxonomy for non-functional requirements like scalability, reliability, availability, performance, security, and maintainability. Use for defining NFRs, evaluating architecture trade-offs, and system design reviews.
Generate Functional Requirements (FR) and Non-Functional Requirements (NFR) from Customer Needs and Software Vision. Creates individual requirement files with traceability. Step 5 of Problem-Based SRS methodology.