i2r-nfr-authoring-mode

Installation
SKILL.md

i2r-nfr-authoring-mode

Purpose: Walk all 9 ISO/IEC 25010:2023 quality characteristics, derive NFRs for this product's context, attach a Volere fit_criterion (threshold + environment + period) to every required NFR, and mark the rest not_applicable (with reason) or deferred (with missing info). Produces 05-nfr.json that passes i2r.py validate --stage 5.


Core discipline (read first)

  1. WHAT/WHY only — never HOW. Apply the stack-swap test: if swapping the database, framework, or infrastructure provider forces an edit to the description or fit_criterion, rewrite. Naming Redis, S3, PostgreSQL, JWT, or any library inside an NFR = IMPLEMENTATION_LEAK (BLOCKER).
  2. No vague adjectives without a number. "Fast", "secure", "scalable", "robust" in description or fit_criterion → PLACEHOLDER (BLOCKER). Every required NFR must have a real fit_criterion with a measurable threshold.
  3. No silent omission. Every ISO 25010:2023 characteristic must be CONSIDERED and explicitly marked — required (with a real fit_criterion), not_applicable (with na_reason), or deferred (with deferred_missing_info). A characteristic SILENTLY omitted (neither addressed nor explicitly marked) = MAJOR gap, not BLOCKER. The intent is "no silently-empty category", not "all 9 must be required". 3b. An NFR you cannot motivate is over-specification. Before marking a characteristic required, climb the RML ladder (root skill requirements-minimalism.md): does this product actually need a quality target here, or is it an engineered default nobody asked for? A required NFR with source: assumed and no real driver is a candidate to mark deferred (with deferred_missing_info) instead — the gate surfaces it (OVER_SPECIFICATION, MINOR, advisory). Never re-state a platform/standard guarantee (TLS, hashing the stack mandates) as an NFR — that belongs in CONSTRAINTS. The safety floor (security / data / accessibility / compliance) is never minimized away — those stay required.
  4. Source every NFR. source_ref → pointer into raw/ or a decision reference. Never fabricate.

Step-by-step authoring procedure

Installs
2
First Seen
Sep 16, 2026