agentleFS
tiago-oliveira-catiago-oliveira-ca/zenodotus-harness/skills/documentation/technical-requirements-standards/SKILL.md

technical-requirements-standards

Skill1 starsChanged 8 days agoMITView on GitHub

Standards for Technical Requirements Documents (TRD) and Software Requirements Specifications (SRS). Use when specifying what a system must do in technically precise, testable, and traceable terms. Trigger on: "write a TRD", "technical requirements", "software requirements", "system requirements", "SRS", "interface specifications", "what the system shall do", or any requirement document that needs verification methods, traceability IDs, and testable acceptance criteria. For a dedicated document covering performance, availability, security, scalability, compliance, or DR targets, use non-functional-requirements-standards instead.

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 7 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when defining or reviewing technical requirements that engineering teams must implement and verify.

    line 16
  2. Very specific:

    Use shall for mandatory requirements.

    line 51
  3. Distinctive:

    Keep statements atomic, clear, active, and objectively verifiable.

    line 53
  4. Distinctive:

    Avoid hidden design choices unless the design constraint itself is a requirement.

    line 54
  5. Distinctive:

    Use measurable criteria instead of vague quality adjectives.

    line 55
  6. Distinctive:

    Every requirement should identify or support:

    line 59
  7. Distinctive:

    Check each requirement for clarity, uniqueness, and testability.

    line 109
  8. Distinctive:

    Verify traceability and verification approach.

    line 111

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Technical Requirements Standards

Use this skill when defining or reviewing technical requirements that engineering teams must implement and verify. A TRD or SRS should be specific enough to build and test against, without collapsing into solution code or architecture rationale.

Core Boundaries

  • BRD / PRD define business or product intent
  • FSD / FRD defines detailed functional behavior
  • NFR defines dedicated quality-attribute targets (performance, availability, security, scalability, compliance, DR) — use that skill when NFRs need their own document
  • TRD / SRS define the technical requirements, interfaces, constraints, and verification expectations
  • ADR / SAD define technical decisions and architecture structure

Required Inputs

  • Source business or product requirements
  • Technical context, assumptions, and dependencies
  • Interface and data expectations
  • Target platforms, constraints, and compliance obligations
  • Verification expectations and downstream testing needs

Recommended Structure

  1. Document Control
  2. Purpose and Scope
  3. System Overview
  4. Assumptions, Dependencies, and Constraints
  5. Specific Requirements
  6. Interfaces and Data Requirements
  7. Verification and Traceability
  8. Approval and Change Control

Writing Rules

  • Use shall for mandatory requirements.
  • Give every requirement a unique identifier.
  • Keep statements atomic, clear, active, and objectively verifiable.
  • Avoid hidden design choices unless the design constraint itself is a requirement.
  • Use measurable criteria instead of vague quality adjectives.

Verification and Traceability

Every requirement should identify or support:

  • upward traceability to business or product need
  • downward traceability to design, implementation, and tests
  • a verification method such as test, analysis, demonstration, or inspection

Verification Method Selection

MethodWhen to UseExample
TestBehavior can be exercised programmatically or manually"shall authenticate in ≤ 200ms" → load test
AnalysisBehavior is proven through calculation or modellingMemory capacity, bandwidth estimate
DemonstrationBehavior is shown by operating the systemUI accessibility, installation procedure
InspectionBehavior is verified by examining code/config/documentCode review, config audit, license check

Requirement Quality Checklist

Each individual requirement should be:

QualityTestBadGood
UnambiguousOne interpretation only"fast response""response ≤ 200ms at P95"
TestablePass/fail verifiable"good security""shall pass OWASP Top 10 scan with no critical findings"
AtomicOne statement, one thing"login and log out"Separate TR-001 and TR-002
TraceableLinks to source needOrphan requirementTR-042 carries Trace: BR-007
ConsistentNo contradiction with othersConflicting timeoutsReconcile in constraints section

House IDs and traceability

TRD requirements use the house ID grammar from ../references/lifecycle.md: TR-NNN, sequential, zero-padded to 3 (TR-004). Every TR carries a Trace: line to its upstream BR-NNN/PRD-NNN/FR-NNN source (Engineering-imposed requirements with no business parent follow lifecycle.md's rule for those); NFRs folded inline into a TRD keep TR-NNN IDs here or graduate to NFR-NNN in a dedicated NFR document — never both. "What implements TR-004?" must be answerable by grep -rn "TR-004".

Anti-pattern quick reference

Anti-PatternProblemFix
Design choice stated as a requirement"The system shall use Redis"State the need ("shall respond in ≤50ms"); let architecture pick the mechanism unless the technology itself is the constraint
Vague quality adjective"The system shall be reliable"Give a measurable target — that belongs in an NFR, not a loose TRD line
Untraceable requirementTR-014 has no link to a BRD/PRD/FSD sourceEvery requirement traces upward to a business or product need
No verification methodRequirement with no way to prove it's metAssign test, analysis, demonstration, or inspection per requirement
Compound requirement"The system shall authenticate and log every request"Split into atomic, independently verifiable requirements
Requirements frozen too earlyBaselined before interfaces/dependencies are known, causing reworkBaseline only after peer and stakeholder review confirms scope is stable

Review Workflow

  1. Validate scope and technical context.
  2. Check each requirement for clarity, uniqueness, and testability.
  3. Confirm assumptions, interfaces, and constraints are explicit.
  4. Verify traceability and verification approach.
  5. Baseline the document only after peer and stakeholder review.

Pre-flight checklist — run before delivering any TRD

  • Mandatory requirements use shall
  • Every requirement has a unique ID
  • Assumptions, dependencies, and constraints are explicit
  • Interface and data requirements are not hidden in prose
  • Verification method and traceability are addressed
  • Approval and change-control expectations are clear

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.