nfr-baseline

nfr-baseline is a skill for Claude Code from rpraharaj/forward-deployed-engineer. It costs 109 tokens per session (2,156 once invoked), scanned A, original, MIT.

A record of non-functional requirements—such as response time, data sensitivity, audit and retention rules, monitoring, and failure behavior—in measurable terms before building starts.

In plain words
What is it for?
Use before building user-facing or critical systems, especially when a specification covers behavior but not speed, security, or operability.
Why use it?
It prevents late launch blockers caused by unstated expectations from security, compliance, operations, or performance teams.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the fde-core plugin — 30 skills shipped together

Good fit Use before building user-facing or critical systems, especially when a specification covers behavior but not speed, security, or operability.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/rpraharaj/forward-deployed-engineer/nfr-baseline
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add rpraharaj/forward-deployed-engineer --skill nfr-baseline
Clone the repo
git clone --depth 1 https://github.com/rpraharaj/forward-deployed-engineer

Made for: Claude Code.

Or install fde-core, the plugin that ships this one along with the rest of its 30 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for nfr-baseline

README.md
[![agentmods](https://agentmods.dev/badge/skills/rpraharaj/forward-deployed-engineer/nfr-baseline/github.svg)](https://agentmods.dev/skills/rpraharaj/forward-deployed-engineer/nfr-baseline)
Your own site
<a href="https://agentmods.dev/skills/rpraharaj/forward-deployed-engineer/nfr-baseline"><img src="https://agentmods.dev/badge/skills/rpraharaj/forward-deployed-engineer/nfr-baseline/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for nfr-baseline

Your own site · 80×15
<a href="https://agentmods.dev/skills/rpraharaj/forward-deployed-engineer/nfr-baseline"><img src="https://agentmods.dev/badge/skills/rpraharaj/forward-deployed-engineer/nfr-baseline.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 109 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,156 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00109 $0.02156
Opus 5 $0.00055 $0.01078
Sonnet 5 $0.00022 $0.00431
Haiku 4.5 $0.00011 $0.00216

Measured 9d ago against content hash f3d33ed1358a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

nfr-baseline scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

fde-core/skills/nfr-baseline/SKILL.md · 186 lines

How it starts

The opening of the file, as written. The whole thing — 186 lines — stays where its author put it; the contents beside it link to each section on GitHub.

NFR baseline

Making the unwritten requirements testable, before they become launch blockers.

Why this exists

Non-functional requirements have a characteristic failure pattern: nobody states them, everybody assumes them, and they surface two days before go-live as a blocker. The security review that needs three weeks' notice. The performance target nobody measured. The audit trail a regulator requires and the schema can't produce.

They're skipped because they feel like process, and because the people who hold them — security, compliance, DBAs, SRE — aren't in the room when the requirement is written.

The specific mistake is stating them unmeasurably. "The system should be fast" cannot be tested, so it will not be tested, so it will be argued about at the worst possible moment. "Refund p95 under 1.0s at 50 requests/second" can be tested, and either passes or doesn't.

Measure the current baseline first. A target set without knowing today's number is invented, and it's usually either trivially met or impossible.

When this applies

  • Before building anything user-facing or load-bearing
  • The spec covers behavior but not performance, security, or operability
  • A design decision depends on scale or data sensitivity
  • Anything touching personal data, money, or an audit trail

When it doesn't

  • Internal tooling with no meaningful load, data sensitivity, or availability need
  • A change to something whose NFRs are already documented and unchanged
  • Spikes

Prerequisites

  • .fde/03-requirements.md — functional scope
  • .fde/02-system-map.md — where things live and what's exposed
  • Access to monitoring, if it exists, for the baseline measurement

Procedure

1. Measure the current baseline

Before setting any target, establish today's number. Sources, cheapest first: existing APM or monitoring dashboards, log-derived timings, database query statistics, or a crude measurement you take yourself.

Where nothing is measurable, that is itself a finding — an unobservable system cannot have a testable performance target, and observability-gap becomes a prerequisite rather than a nice-to-have.

Read the full file on GitHub · 186 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 186 lines · 109 tokens per session scan A f3d33ed1358a

Subscribe to this mod's changes

nfr-baseline is a skill published in the GitHub repository rpraharaj/forward-deployed-engineer (6 stars, last pushed 22d ago), licensed MIT. It adds 109 tokens to every session and 2,156 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.