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)
- 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). - One behaviour per requirement. The word "and" or "or" in
system_responseis a signal to split. Violation = hidden conjunction; flag and split. 2b. Climb the RML ladder before authoring each FR (root skillrequirements-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. - 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). - Source every requirement.
source∈{stated, assumed, decision};source_ref→ exact pointer intoraw/(file + line). Never fabricate; never silently promote an assumption tostated.