i2r-fr-authoring-mode

Installation
SKILL.md

i2r-fr-authoring-mode

Purpose: Turn a scoped feature (from 03-scope.json) into atomic, EARS-patterned functional requirements. One requirements[] item = one observable system behaviour. Produces 04-functional.json that passes i2r.py validate --stage 4.


Core discipline (read first)

  1. WHAT/WHY only — never HOW. Apply the stack-swap test before finalising every requirement: if swapping the database or framework would force an edit to the system_response, delete the HOW and rewrite. Violation = IMPLEMENTATION_LEAK (BLOCKER).
  2. One behaviour per requirement. The word "and" or "or" in system_response is a signal to split. Violation = hidden conjunction; flag and split. 2b. Climb the RML ladder before authoring each FR (root skill requirements-minimalism.md). Does this behaviour need its own requirement, or is it gold-plating / a duplicate of another FR / a re-statement of a platform-or-standard given that belongs in CONSTRAINTS? Author the minimum set that captures the scoped capability — minimal in count, never minimal in rigour. The safety floor (validation / data-loss / security / accessibility / explicit asks) is never minimized away.
  3. Every capability needs an unwanted-behaviour sibling. For each happy-path requirement, write at least one unwanted-pattern sibling covering the error or edge condition (empty result, invalid input, timeout).
  4. Source every requirement. source ∈ {stated, assumed, decision}; source_ref → exact pointer into raw/ (file + line). Never fabricate; never silently promote an assumption to stated.

Step-by-step authoring procedure

Installs
1
First Seen
Sep 16, 2026