andreaswasita/copilot-agents-dojo/derive-nfr-from-driver
Claude Code and agent skill by andreaswasita/copilot-agents-dojo
- community
Checking that the SKILL.md file is still in the repository.
Derives measurable NFRs from a parent business driver.
Install
npx vskill@latest install andreaswasita/copilot-agents-dojo/derive-nfr-from-driverSKILL.md
Derive NFR From Driver
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.
When to Use
- A
BR-*and at least oneFR-*exist for the engagement and need
performance, availability, scalability, or accessibility targets before Phase D begins.
- The architect is about to design components and needs SLO-shaped
inputs, not adjectives.
- A reviewer asks "what does fast mean?" — derive an NFR with a
numeric target instead of arguing prose.
- NOT when the driver itself is unratified — go to
requirements-elicitation first.
Prerequisites
requirements/<engagement>/BR/contains at least one ratifiedBR-*
artifact (ratified_by is non-empty).
requirements/<engagement>/FR/contains the FR(s) this NFR will
constrain.
spec/artifact-schema.mdis 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.
How to Run
Quick Reference
| 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:
Procedure
Step 1: Assess
- Read the parent
BR-*and any candidateFR-*withview. - Identify the quality attribute the driver implies: latency,
throughput, availability, durability, accessibility, recoverability, observability, portability.
- Reject the derivation outright if the driver is unratified
(ratified_by empty). Send back to requirements-elicitation.
Step 2: Derive
For each quality attribute, write one NFR with:
- A numeric target in the
targetfield (percentile + threshold +
operating envelope — never just "fast"). If you cannot write a number, you have not derived an NFR yet.
- A measurement method stated in the body (synthetic probe, RUM,
load test fixture). Without it the NFR is unfalsifiable.
- An operating envelope: load profile, network condition, payload
size. NFRs without envelopes drift on contact with production.
Step 3: Link
parent_idsMUST include the driver'sBR-*and SHOULD include the
most specific FR-* the NFR constrains.
derivation_skill: derive-nfr-from-driveris mandatory — the curator
uses this to attribute learned patterns.
Step 4: Confirm
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.
Pitfalls
- DO NOT invent a parent BR to justify an NFR you already wanted —
the skill exists specifically to prevent this. If the parent does not exist, stop.
- DO NOT write
measurable: falseto bypass the gate; the gate
fails on it for NFRs by design (see spec/artifact-schema.md §2.3).
- DO NOT parent an NFR to another NFR — the schema disallows it.
NFRs are leaves of the requirement layer, not branches.
- DO NOT set
ratified_byfrom inside the agent. Ratification is
the human's signal that the derivation is accepted. The agent leaves it blank.
- DO NOT copy the driver's prose into the
targetfield. The
target is a number with units; the prose belongs in the body.
Verification
- [ ] New
NFR-*.mdfilename equals itsid. - [ ]
parent_idslists at least oneBR-*that exists on disk. - [ ]
targetcontains 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.shpasses the full gate.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/derive-nfr-from-driver/SKILL.md
Popularity
- Repository stars
- 48
- Repository forks
- 15
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/andreaswasita/copilot-agents-dojo/derive-nfr-from-driver)