بنقرة واحدة
derive-nfr-from-driver
Derives measurable NFRs from a parent business driver.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Derives measurable NFRs from a parent business driver.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Flags risky shell commands and unsafe tree ops.
Detects high-confidence security risks in code.
Surfaces the dojo's non-negotiable prime directives.
Activates the dojo framework at the start of a session.
Plans multi-step work before writing code.
Captures lessons and promotes recurring patterns.
| name | derive-nfr-from-driver |
| description | Derives measurable NFRs from a parent business driver. |
| tier | practical |
| category | workflow |
| created_by | human |
| platforms | ["windows","macos","linux"] |
| tags | ["requirements","traceability","nfr","togaf"] |
| verifier | traceability-sample |
| author | Andreas Wasita (@andreaswasita) |
Turns a ratified business driver (BR) — and the functional requirements (FRs) derived from it — into measurable Non-Functional Requirements with verified parentage. This skill does NOT elicit drivers and does NOT invent FRs; it derives NFRs against parents that already exist on disk.
BR-* and at least one FR-* exist for the engagement and need
performance, availability, scalability, or accessibility targets
before Phase D begins.requirements-elicitation first.requirements/<engagement>/BR/ contains at least one ratified BR-*
artifact (ratified_by is non-empty).requirements/<engagement>/FR/ contains the FR(s) this NFR will
constrain.spec/artifact-schema.md is the contract for frontmatter fields.If a prerequisite is missing the skill must stop and report — never emit an NFR pointing at a non-existent or unratified parent.
# 1. Confirm the parent exists and is ratified
bash scripts/verify-traceability.sh requirements/<engagement>
# 2. Create the NFR file (filename MUST equal {id}.md)
# Then run the gate again to prove the new link resolves
bash scripts/verify-traceability.sh requirements/<engagement>
| Action | Tool | Notes |
|---|---|---|
| Read parent BR/FR | view | Get the exact id values. |
| List existing NFRs | glob requirements/<engagement>/NFR/*.md | Pick the next free NFR-NNN. |
| Write NFR | create | Frontmatter per spec/artifact-schema.md. |
| Verify lineage | bash scripts/verify-traceability.sh | Must pass before commit. |
The frontmatter the agent emits:
---
id: NFR-007
layer: NFR
title: Classification latency under load
parent_ids: [BR-001, FR-002]
owner: jane.doe@example.com
measurable: true
ratified_by: ""
target: "p95 < 2s on 3G, p99 < 4s"
derivation_skill: derive-nfr-from-driver
tags: [latency, classification]
---
BR-* and any candidate FR-* with view.ratified_by empty). Send back to requirements-elicitation.For each quality attribute, write one NFR with:
target field (percentile + threshold +
operating envelope — never just "fast"). If you cannot write a
number, you have not derived an NFR yet.parent_ids MUST include the driver's BR-* and SHOULD include the
most specific FR-* the NFR constrains.derivation_skill: derive-nfr-from-driver is mandatory — the curator
uses this to attribute learned patterns.bash scripts/verify-traceability.sh requirements/<engagement>
The gate must pass with zero failures. A warning on ratified_by is
expected until a human ratifies the NFR at the architecture review
board.
measurable: false to bypass the gate; the gate
fails on it for NFRs by design (see spec/artifact-schema.md §2.3).ratified_by from inside the agent. Ratification is
the human's signal that the derivation is accepted. The agent leaves
it blank.target field. The
target is a number with units; the prose belongs in the body.NFR-*.md filename equals its id.parent_ids lists at least one BR-* that exists on disk.target contains a numeric threshold and an operating envelope.bash scripts/verify-traceability.sh requirements/<engagement> exits 0.bash scripts/gen-rtm.sh requirements/<engagement> shows the new
NFR linked under its driver in docs/rtm.md.bash scripts/verify.sh passes the full gate.