hermes

Define non-functional requirements

Writes measurable non-functional requirements for a feature, covering availability, latency, throughput, security, privacy, accessibility and operability, each with a target, verification and cost.

context

Non-functional requirements are where specs are vaguest and where systems most often disappoint: "fast", "secure", "highly available" and "scalable" cannot be built, tested or traded off. A useful requirement names the quality, the scope it applies to, a measurable target with the percentile or window, how it will be verified, and what it costs. Targets also have to be consistent with the dependencies: a feature cannot be more available than the services it calls synchronously, and every extra nine roughly multiplies effort.

task

Write the non-functional requirements for:

feature

Only if [USERS_AND_SCALE] is given: Users and scale: Only if [REGULATORY_CONTEXT] is given: Regulatory and contractual context: Only if [EXISTING_SLOS] is given: Existing SLOs and dependency targets:

  1. Identify the user journeys and operations that matter most and the quality attributes relevant to them. Consider availability, latency, throughput and capacity, scalability, durability and data retention, recovery (RPO and RTO), security, privacy, accessibility, compatibility (browsers, devices, OS versions, API versions), operability (observability, deployability, rollback), maintainability and cost. Skip attributes that truly do not apply and say why in one line.
  2. For each requirement write:
  • an id (NFR-01, NFR-02…) and the attribute;
  • the scope: which operation, journey or component;
  • a measurable target with its unit, percentile and window, for example "p95 under 300 ms for search requests measured at the load balancer over 28 days", "99.9% of checkout requests succeed per 30 days", "WCAG 2.2 AA for all customer-facing screens";
  • the verification method: load test, synthetic check, SLO dashboard, security review or penetration test, accessibility audit, restore drill, or contract test;
  • the rationale, tied to users, the business or a regulation;
  • the cost or design implication of meeting it.
  1. Check consistency: compare availability and latency targets with the dependencies' targets, show the arithmetic for serial dependencies, and flag targets that are not achievable as stated.
  2. For regulatory items, state what the regulation typically requires as a requirement to confirm with the compliance or legal owner, not as legal advice.
  3. Propose a sensible target where the input gives none, mark it as proposed, and give the cheaper and the stricter alternative so the owner can choose.
constraints
  • Every requirement must be testable. Replace words such as fast, secure, scalable, robust and user-friendly with numbers or named standards.
  • Do not invent current performance figures, user counts or dependency SLOs. Mark every number that was not given as proposed or assumed.
  • Prefer a few requirements that matter over an exhaustive checklist; at most about 15.
  • Separate what you verified from what you inferred. Mark inferences as such.
  • When you do not know, say "I don't know" once and state what would settle it.
output format

Summary

The three to five requirements that will most shape the design, in one line each.

Requirements

Table: id, attribute, scope, target, verification, rationale, status (given, proposed or assumed).

Trade-offs and cost

Bullets: what meeting the stricter targets would require, and the consistency checks against dependencies with arithmetic.

Not specified on purpose

Attributes left out and why.

Open questions

Numbered, each with who should answer it.

1 required value still a placeholder; the assistant will ask for it.

details

kind
Prompt: a task you run by name to get one finished thing back
domain
Software engineering
category
Product (engineering)
level
Intermediate
made for
Product manager, Software architect, Tech lead / staff engineer, Software engineer
risk
read-only
version
v1.0.0 · incubating
reviewed
2026-10-02
works in
Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md, ChatGPT, claude.ai

Edit on GitHubReport a problem

use in

Hodios CLI
npx @hermes-hq/hodios install define-non-functional-requirements --target claude-code
Agent Skills
npx skills add hermes-hq/hodios-dist --skill define-non-functional-requirements -a claude-code
Add the Hodios marketplace (once)
claude plugin marketplace add hermes-hq/hodios-dist
Install the software-engineering plugin
claude plugin install hodios-software-engineering@hodios

The plugin brings every entry in this domain at once.

PersonaProduct (engineering)

Product manager

Acts as a product manager who starts from the user problem and evidence, writes requirements engineers can build and test, and cuts scope to the smallest valuable release.

product-manager
PersonaArchitecture

Software architect

Acts as a pragmatic software architect who designs from requirements and constraints, names trade-offs and failure modes, and keeps designs as simple as the problem allows.

software-architect
PromptProduct (engineering)

Write a PRD

Writes a product requirements document that an engineering team can build from, with the problem, goals, success metrics, testable requirements, edge cases and open questions.

write-prd
PromptIncident and operations

Define SLOs and burn-rate alerts

Defines SLIs, SLOs and an error-budget policy from a service's user journeys, with multi-window burn-rate alert rules. Use when alerting is noisy or reliability targets are vague.

define-slos
PromptProduct (engineering)

Write acceptance criteria

Writes testable acceptance criteria for a user story or ticket, covering the main path, alternatives, validation, boundaries, permissions and empty states. Use before a story enters development.

write-acceptance-criteria
PromptArchitecture

Write an engineering design doc

Writes an engineering design doc or RFC with context, goals and non-goals, options and trade-offs, the decision, risks and a rollout plan. Use before building a change that needs review or buy-in.

write-design-doc