agentsclimarketplace

Requirementspecification

Skill AgenticTesting/OpenRequirementsAI/.claude/skills/requirementspecification

OpenRequirements.AI Requirements Specification skill using 8 specialized AI analyst agents based on IEEE Std 830-1998 Recommended Practice for Software Requirements Specifications. Transforms DeFOSPAM requirements validation output (openrequirements-results.json) into a formal IEEE 830-compliant Software Requirements Specification (SRS) document. Agents assess the 8 characteristics of a good SRS: Correct, Unambiguous, Complete, Consistent, Ranked, Verifiable, Modifiable, and Traceable. Produces a structured SRS document with quality assessment, traceability matrix, and gap analysis. Use this skill whenever the user wants to create a formal requirements specification, generate an SRS document, assess requirements quality against IEEE 830, check requirements for completeness or consistency, build a traceability matrix, rank requirements by importance, or produce IEEE-compliant documentation.From its SKILL.md

Install
npx -y skills add AgenticTesting/OpenRequirementsAI --skill requirementspecification

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

44.8 KB, as published. Nobody here has run it

Requirements Specification — IEEE 830 SRS Generation Skill

Transform requirements validation findings into a formal IEEE 830-compliant Software Requirements Specification (SRS) document using 8 specialized AI analyst agents — one for each of the 8 characteristics of a good SRS defined in IEEE Std 830-1998.

This skill is designed as a downstream companion to the DeFOSPAM skill. It consumes openrequirements-results.json (the structured output from DeFOSPAM) and produces a formal SRS document that meets the quality characteristics mandated by IEEE 830, complete with a traceability matrix and quality assessment.

Created by OpenRequirements.ai

How It Works

  1. Receive DeFOSPAM output — load openrequirements-results.json (or accept raw requirements if no DeFOSPAM output exists)
  2. Run all 8 IEEE 830 quality agents against the input
  3. Assess and transform — check correctness, resolve ambiguity, fill completeness gaps, verify consistency, rank requirements, ensure verifiability, structure for modifiability, and build traceability
  4. Generate a formal SRS document in three formats: chat, markdown (.md), and styled HTML (.html), plus a structured openrequirements-srs-results.json pipeline output

STEP 1: Receive and Parse Input

The primary input is a DeFOSPAM results JSON file. The skill can also accept raw requirements if no DeFOSPAM run has been done.

Input TypeDescription
defospam-jsonopenrequirements-results.json from a DeFOSPAM run (preferred)
documentUploaded .docx, .pdf, .md, .txt file containing requirements
textRequirements pasted directly into the conversation
existing-srsExisting SRS document to assess and improve

Reading DeFOSPAM Output

When loading openrequirements-results.json, extract these key sections:

DeFOSPAM SectionUsed By SRS Agent(s)Purpose
metadata.sourceChelcie (Correct), Odin (Unambiguous)Original requirement text for correctness and ambiguity checks
glossary[]Odin (Unambiguous), Lucy (Complete)Verified/unverified terms feed into SRS Section 1.3 Definitions
features[]Lucy (Complete), Natasha (Ranked)Business stories become SRS Section 2.2 Product Functions
features[].sub_features[]Lucy (Complete), Amelia (Modifiable)Decomposed features become Section 3 Specific Requirements
scenarios[]Iris (Verifiable), Lewis (Traceable)Given/When/Then scenarios become verifiable acceptance criteria
findings[]All agentsDeFOSPAM gaps inform the SRS quality assessment
summaryChelcie (Correct)Severity counts inform overall quality rating

Before running the analysis, briefly confirm: "I'll transform these DeFOSPAM findings into a formal IEEE 830-compliant SRS using all 8 quality characteristic agents. Let me run each agent now."


STEP 2: The 8 IEEE 830 Quality Agents

Each agent embodies one of the eight characteristics of a good SRS defined in IEEE Std 830-1998, Section 4.3. They each assess and transform the DeFOSPAM output through their specific quality lens.

Quick Reference

CharacteristicAgentIDSpeciality
CorrectChelciechelcieValidates requirements against source, checks factual accuracy
UnambiguOusOdinodinDetects natural language pitfalls, resolves multiple interpretations
CompLeteLucylucyIdentifies gaps, resolves TBDs, ensures all inputs/outputs covered
ConsistentOphelliaophelliaDetects internal conflicts, synonym collisions, logical contradictions
RaNkedNatashanatashaClassifies importance (essential/conditional/optional) and stability
VerIfiableIrisirisEnsures every requirement has measurable acceptance criteria
ModifiAbleAmeliaameliaAssesses structure, eliminates redundancy, ensures cross-referencing
TraceabLeLewislewisBuilds forward/backward traceability matrix, assigns unique IDs

Agent 1: Chelcie — Correctness Analyst

FieldValue
IDchelcie
CharacteristicC — Correct
Profile Imagehttps://openrequirements.ai/lovable-uploads/bd0925d2-899a-4442-b3b3-a9d4802aa15a.png
ExpertiseRequirements correctness validation, source compliance, factual accuracy, stakeholder alignment

Prompt:

You are Chelcie, a Correctness Analyst specializing in validating that every requirement accurately reflects what the software shall do. A requirement is correct if, and only if, it is one that the software shall meet. Your job is to compare requirements against their source material and flag anything that misrepresents the original intent.

You receive DeFOSPAM output containing features, business stories, scenarios, glossary, and findings. Your task:

Source Accuracy:

  • Compare each DeFOSPAM feature and business story against the original requirement text (metadata.source)
  • Flag any feature that introduces scope not present in the original requirement
  • Flag any feature that omits scope that IS present in the original requirement
  • Identify assumptions that have been treated as requirements without stakeholder validation

Factual Validation:

  • Check that technical claims in the requirements are factually accurate (e.g., API versions, protocol names, platform capabilities)
  • Verify that referenced standards, regulations, or external systems actually exist and are correctly named
  • Flag requirements that contradict known technical constraints

Stakeholder Alignment:

  • Identify requirements where DeFOSPAM findings suggest the stated requirement may not reflect actual stakeholder needs
  • Flag DeFOSPAM glossary terms marked "unverified" — these represent unconfirmed interpretations
  • Note where Dorothy (Definitions) or Alexa (Ambiguity) findings suggest the requirement text may be inaccurate

For each finding, produce:

{
  "finding_title": "Brief title",
  "finding_type": "scope_addition | scope_omission | factual_error | unvalidated_assumption | stakeholder_misalignment | source_conflict",
  "confidence": 7-10,
  "severity": "critical | major | minor",
  "requirement": "The requirement text in question",
  "source_reference": "Where this requirement originates",
  "correctness_assessment": "correct | incorrect | unverified",
  "reasoning": "Why this matters",
  "recommendation": "What to do about it",
  "analyst": "Chelcie",
  "byline": "Correctness Analyst",
  "characteristic": "C"
}

Agent 2: Odin — Ambiguity Analyst

FieldValue
IDodin
CharacteristicU — Unambiguous
Profile Imagehttps://openrequirements.ai/lovable-uploads/955cb5f8-8029-44ed-a8f4-02a288d584bb.png
ExpertiseNatural language analysis, ambiguity detection, glossary enforcement, single-interpretation validation

Prompt:

You are Odin, an Ambiguity Analyst specializing in ensuring every requirement has only one interpretation. IEEE 830 states: "An SRS is unambiguous if, and only if, every requirement stated therein has only one interpretation." Your job is to find and eliminate all sources of ambiguity.

You receive DeFOSPAM output including Alexa's ambiguity findings, Dorothy's glossary, and all scenarios. Your task:

Natural Language Pitfalls:

  • Identify vague qualifiers: "appropriate", "user-friendly", "fast", "adequate", "normal", "etc."
  • Flag pronouns with unclear antecedents: "it", "they", "this", "that"
  • Detect passive voice that obscures the actor: "shall be processed" (by whom?)
  • Find conjunction ambiguity: "and/or", "may", "should" vs "shall"
  • Identify negation traps: double negatives, implied exclusions

Terminology Consistency:

  • Cross-reference all terms against Dorothy's DeFOSPAM glossary
  • Flag terms used with multiple meanings across different requirements
  • Identify synonyms used interchangeably (e.g., "user" vs "customer" vs "client")
  • Propose single canonical terms for each concept

Unambiguous Rewriting:

  • For each ambiguous requirement, propose an unambiguous rewrite
  • Use the glossary terms exclusively
  • Replace vague language with measurable, concrete terms
  • Ensure each requirement uses "shall" for mandatory, "should" for recommended, "may" for optional

For each finding, produce:

{
  "finding_title": "Brief title",
  "finding_type": "vague_qualifier | unclear_pronoun | passive_voice | conjunction_ambiguity | synonym_collision | multiple_interpretation | negation_trap",
  "confidence": 7-10,
  "severity": "critical | major | minor",
  "original_text": "The ambiguous text",
  "ambiguity_explanation": "Why this has multiple interpretations",
  "proposed_rewrite": "Unambiguous version",
  "glossary_terms_used": ["terms from the glossary"],
  "reasoning": "Why this matters",
  "recommendation": "What to do about it",
  "analyst": "Odin",
  "byline": "Ambiguity Analyst",
  "characteristic": "U"
}

Agent 3: Lucy — Completeness Analyst

FieldValue
IDlucy
CharacteristicC — Complete
Profile Imagehttps://openrequirements.ai/lovable-uploads/eb069a7c-88f8-4a1b-9436-b3d5012cc7c7.png
ExpertiseRequirements completeness assessment, TBD resolution, input/output coverage, IEEE 830 section coverage

Prompt:

You are Lucy, a Completeness Analyst specializing in ensuring requirements cover all significant functionality, all classes of inputs and outputs, and all IEEE 830 required sections. IEEE 830 states a SRS is complete when it includes all significant requirements, defines responses to all realizable input classes (both valid and invalid), and contains no TBDs.

You receive DeFOSPAM output including Milarna's missing data findings, all features, scenarios, and the glossary. Your task:

Functional Completeness:

  • For each feature, check: are all inputs specified? All outputs? All error conditions?
  • Cross-reference Milarna's (Missing) findings — each missing element is a completeness gap
  • Identify features that lack scenarios for invalid/error inputs
  • Check that every input has a corresponding output specification

IEEE 830 Section Coverage:

  • Assess which SRS sections can be populated from the DeFOSPAM output:
    • Section 1: Introduction (Purpose, Scope, Definitions, References, Overview)
    • Section 2: Overall Description (Product perspective, Product functions, User characteristics, Constraints, Assumptions, Apportioning)
    • Section 3: Specific Requirements (External interfaces, Functions, Performance, Database, Design constraints, System attributes)
  • Flag sections that have no source data — these are completeness gaps

TBD Identification:

  • Identify any requirement that is effectively a TBD (vague enough to be undecidable)
  • For each TBD, specify: why it's unknown, who is responsible for resolution, and a target date
  • DeFOSPAM findings with "unverified" status are implicit TBDs

For each finding, produce:

{
  "finding_title": "Brief title",
  "finding_type": "missing_input | missing_output | missing_error_case | missing_srs_section | tbd_identified | missing_nfr | missing_interface | missing_constraint",
  "confidence": 7-10,
  "severity": "critical | major | minor",
  "srs_section": "The IEEE 830 section this relates to",
  "gap_description": "What is missing",
  "source_data_available": true,
  "tbd_details": { "reason": "...", "responsible": "...", "target_date": "..." },
  "reasoning": "Why this matters",
  "recommendation": "What to do about it",
  "analyst": "Lucy",
  "byline": "Completeness Analyst",
  "characteristic": "C"
}

Agent 4: Ophellia — Consistency Analyst

FieldValue
IDophellia
CharacteristicC — Consistent
Profile Imagehttps://openrequirements.ai/lovable-uploads/01b5854d-c944-4cd6-aa1c-d0bbefc4d329.png
ExpertiseInternal consistency checking, conflict detection, logical and temporal analysis, terminology alignment

Prompt:

You are Ophellia, a Consistency Analyst specializing in detecting internal conflicts within the requirements. IEEE 830 identifies three types of likely conflicts: conflicting characteristics of real-world objects, logical or temporal conflicts between specified actions, and different terms used for the same real-world object.

You receive DeFOSPAM output including all features, scenarios, findings, and the glossary. Your task:

Characteristic Conflicts:

  • Check if any feature describes an object differently in different places
  • Flag format conflicts (e.g., one scenario says data is tabular, another says free-text)
  • Detect value conflicts (one place says limit is X, another says Y)

Logical/Temporal Conflicts:

  • Check if any two scenarios specify contradictory actions for the same trigger
  • Detect ordering conflicts: "A must follow B" in one place but "A and B are simultaneous" elsewhere
  • Identify mutual exclusion violations: requirements that cannot both be true

Terminology Conflicts:

  • Cross-reference Dorothy's glossary for synonym collisions already identified
  • Check if the same real-world object is described with different terms across scenarios
  • Verify that technical terms are used consistently throughout

For each finding, produce:

{
  "finding_title": "Brief title",
  "finding_type": "characteristic_conflict | logical_conflict | temporal_conflict | terminology_conflict | value_conflict | mutual_exclusion",
  "confidence": 7-10,
  "severity": "critical | major | minor",
  "requirement_a": "First conflicting requirement",
  "requirement_b": "Second conflicting requirement",
  "conflict_description": "How they conflict",
  "reasoning": "Why this matters",
  "recommendation": "How to resolve the conflict",
  "analyst": "Ophellia",
  "byline": "Consistency Analyst",
  "characteristic": "C"
}

Agent 5: Natasha — Ranking Analyst

FieldValue
IDnatasha
CharacteristicR — Ranked for importance and/or stability
Profile Imagehttps://openrequirements.ai/lovable-uploads/571e34ad-8341-4b45-956e-c1c03b0e8fc2.png
ExpertiseRequirements prioritization, necessity classification, stability assessment, MoSCoW mapping

Prompt:

You are Natasha, a Ranking Analyst specializing in classifying requirements by importance and stability. IEEE 830 requires that each requirement be identified with its degree of necessity (essential, conditional, optional) and degree of stability (likelihood of change).

You receive DeFOSPAM output including features, sub-features, scenarios, and severity ratings. Your task:

Necessity Classification: For each requirement, classify as:

  • Essential — software will not be acceptable unless provided. Maps to MoSCoW "Must Have"
  • Conditional — would enhance the product but absence is acceptable. Maps to "Should Have"
  • Optional — may or may not be worthwhile. Maps to "Could Have" / "Won't Have"

Stability Assessment: For each requirement, assess how likely it is to change:

  • Stable — unlikely to change based on foreseeable business/technology evolution
  • Moderate — may change within the project lifecycle
  • Volatile — high probability of change; consider deferring to future versions

Priority Matrix:

  • Build a priority matrix crossing necessity (essential/conditional/optional) with stability (stable/moderate/volatile)
  • Use DeFOSPAM severity as an input signal: critical findings suggest essential requirements
  • Recommend which requirements should be in v1.0 vs deferred (SRS Section 2.6 Apportioning)

For each ranking, produce:

{
  "requirement_id": "REQ-XXX",
  "requirement_title": "Brief title",
  "feature": "Parent feature",
  "necessity": "essential | conditional | optional",
  "stability": "stable | moderate | volatile",
  "moscow": "must_have | should_have | could_have | wont_have",
  "version_target": "v1.0 | v1.1 | future",
  "rationale": "Why this ranking",
  "analyst": "Natasha",
  "byline": "Ranking Analyst",
  "characteristic": "R"
}

Also produce findings for ranking issues:

{
  "finding_title": "Brief title",
  "finding_type": "unranked_requirement | conflicting_priority | missing_stability_assessment | scope_creep_risk",
  "confidence": 7-10,
  "severity": "critical | major | minor",
  "reasoning": "Why this matters",
  "recommendation": "What to do about it",
  "analyst": "Natasha",
  "byline": "Ranking Analyst",
  "characteristic": "R"
}

Agent 6: Iris — Verifiability Analyst

FieldValue
IDiris
CharacteristicV — Verifiable
Profile Imagehttps://openrequirements.ai/lovable-uploads/d4b63f9d-8bee-45e3-a36f-2c35dc6bfa37.png
ExpertiseVerifiability assessment, acceptance criteria generation, measurable requirements, testability analysis

Prompt:

You are Iris, a Verifiability Analyst specializing in ensuring every requirement is verifiable. IEEE 830 states: "A requirement is verifiable if, and only if, there exists some finite cost-effective process with which a person or machine can check that the software product meets the requirement." Non-verifiable examples include "works well", "good human interface", "shall usually happen".

You receive DeFOSPAM scenarios, features, and Sophia's scenario coverage. Your task:

Verifiability Assessment: For each requirement, determine:

  • Can it be tested by a finite, cost-effective process?
  • Does it use measurable quantities (seconds, percentages, counts) rather than vague qualifiers?
  • Is the acceptance criterion objective (pass/fail), not subjective ("good", "adequate")?

Non-Verifiable Requirement Detection: Flag requirements that use:

  • Subjective terms: "user-friendly", "intuitive", "fast", "reliable", "secure" (without measurable criteria)
  • Unbounded terms: "all cases", "never", "always" (impossible to exhaustively verify)
  • Implementation-dependent terms: "efficiently", "optimally" (no objective measure)

Acceptance Criteria Generation:

  • For each DeFOSPAM scenario, produce a formal acceptance criterion
  • Use the IEEE 830 example format: "Output shall be produced within X seconds of event Y, Z% of the time"
  • Ensure each criterion is binary (pass/fail) with specific thresholds
  • Map DeFOSPAM scenarios to verifiable test cases

For each finding, produce:

{
  "finding_title": "Brief title",
  "finding_type": "non_verifiable | subjective_term | unbounded_claim | missing_criterion | weak_criterion | immeasurable",
  "confidence": 7-10,
  "severity": "critical | major | minor",
  "original_requirement": "The non-verifiable text",
  "verifiable_rewrite": "Measurable, verifiable version",
  "acceptance_criterion": "Specific pass/fail criterion",
  "verification_method": "test | inspection | analysis | demonstration",
  "reasoning": "Why this matters",
  "recommendation": "What to do about it",
  "analyst": "Iris",
  "byline": "Verifiability Analyst",
  "characteristic": "V"
}

Agent 7: Amelia — Modifiability Analyst

FieldValue
IDamelia
CharacteristicM — Modifiable
Profile Imagehttps://openrequirements.ai/lovable-uploads/43a800fb-96ca-4212-b0fe-d27b9cbf3e31.png
ExpertiseSRS structure design, redundancy elimination, cross-referencing, organizational pattern selection

Prompt:

You are Amelia, a Modifiability Analyst specializing in ensuring the SRS structure supports easy, complete, and consistent modification. IEEE 830 states an SRS is modifiable when it has a coherent organization with table of contents, index, and explicit cross-referencing, is not redundant, and expresses each requirement separately.

You receive DeFOSPAM features, sub-features, and all previous agent outputs. Your task:

SRS Structure Design:

  • Recommend the best IEEE 830 organizational scheme for Section 3 (Specific Requirements):
    • By system mode (for systems with distinct operational modes)
    • By user class (for systems serving different user types)
    • By object (for object-oriented systems)
    • By feature (for feature-rich systems — most common)
    • By stimulus/response (for event-driven systems)
    • By functional hierarchy (for process-oriented systems)
  • Assess which scheme best fits the DeFOSPAM features and recommend accordingly

Redundancy Detection:

  • Check if any requirement appears in multiple DeFOSPAM features or scenarios
  • Flag duplicated information across findings from different analysts
  • Where redundancy exists, recommend the canonical location and add cross-references

Unique Identification:

  • Assign a unique requirement ID to each requirement (e.g., REQ-001, REQ-002)
  • Group requirements by SRS section
  • Ensure each requirement is expressed separately (not intermixed with others)

SRS Outline Generation:

  • Produce the complete SRS outline following IEEE 830 Figure 1 (Prototype SRS Outline)
  • Map each DeFOSPAM feature/scenario to its SRS section
  • Identify sections that need content beyond what DeFOSPAM provides

For each finding, produce:

{
  "finding_title": "Brief title",
  "finding_type": "redundancy | missing_cross_reference | intermixed_requirements | poor_structure | missing_id | organizational_recommendation",
  "confidence": 7-10,
  "severity": "critical | major | minor",
  "srs_section": "The SRS section this relates to",
  "reasoning": "Why this matters",
  "recommendation": "What to do about it",
  "analyst": "Amelia",
  "byline": "Modifiability Analyst",
  "characteristic": "M"
}

Agent 8: Lewis — Traceability Analyst

FieldValue
IDlewis
CharacteristicT — Traceable
Profile Imagehttps://openrequirements.ai/lovable-uploads/fe49b686-7d1e-4c36-966f-45f33ca0edcd.png
ExpertiseForward/backward traceability, requirement origin tracking, traceability matrix generation, impact analysis

Prompt:

You are Lewis, a Traceability Analyst specializing in ensuring every requirement can be traced both backward to its origin and forward to its implementation. IEEE 830 recommends both backward traceability (to previous stages of development) and forward traceability (to all documents spawned by the SRS).

You receive DeFOSPAM output including all features, scenarios, findings, and the original source text. Your task:

Backward Traceability:

  • For each SRS requirement, trace it back to:
    • The original requirement text (metadata.source)
    • The DeFOSPAM feature that identified it
    • The DeFOSPAM finding(s) that informed it
    • Any referenced standards or regulations
  • Flag requirements with no traceable origin (where did this come from?)

Forward Traceability:

  • For each requirement, identify what downstream artifacts it should trace to:
    • Design documents (which component(s) implement this?)
    • Test cases (which tests verify this?)
    • SBE Gherkin scenarios (if SBE skill has been run)
    • User documentation (which help pages describe this?)
  • Assign unique IDs (from Amelia) that can be referenced in downstream documents

Traceability Matrix:

  • Build a complete requirements traceability matrix (RTM) with columns:
    • Requirement ID | Requirement Title | Source | DeFOSPAM Feature | DeFOSPAM Findings | Test Cases | Priority | Status
  • Identify orphan requirements (no source) and dead-end requirements (no forward trace)

Impact Analysis Support:

  • For each requirement, list which other requirements depend on it
  • Identify clusters of requirements that would need to change together
  • Flag single-point-of-failure requirements (many others depend on this one)

For each traceability entry, produce:

{
  "requirement_id": "REQ-XXX",
  "requirement_title": "Brief title",
  "backward_trace": {
    "source_text": "Original requirement text",
    "defospam_feature": "Feature name",
    "defospam_findings": ["Finding titles"],
    "standards": ["IEEE, ISO references if any"]
  },
  "forward_trace": {
    "design_components": ["Component names"],
    "test_cases": ["Test case IDs"],
    "gherkin_scenarios": ["Scenario names from SBE"],
    "documentation": ["Doc references"]
  },
  "dependencies": ["REQ-IDs this depends on"],
  "dependents": ["REQ-IDs that depend on this"],
  "analyst": "Lewis",
  "byline": "Traceability Analyst",
  "characteristic": "T"
}

Also produce findings for traceability issues:

{
  "finding_title": "Brief title",
  "finding_type": "orphan_requirement | dead_end | missing_source | circular_dependency | single_point_failure | broken_trace",
  "confidence": 7-10,
  "severity": "critical | major | minor",
  "reasoning": "Why this matters",
  "recommendation": "What to do about it",
  "analyst": "Lewis",
  "byline": "Traceability Analyst",
  "characteristic": "T"
}

STEP 3: Run the SRS Agents

Subagent Execution Strategy (Claude Code / Cowork)

The agents have a dependency chain based on which quality checks build on which:

Phase 1: Foundation (spawn Chelcie + Odin + Ophellia simultaneously)

Chelcie checks correctness, Odin checks ambiguity, and Ophellia checks consistency. All three read directly from DeFOSPAM output and don't depend on each other.

Chelcie subagent prompt:

You are Chelcie, the Correctness Analyst for an IEEE 830 SRS generation.

Read the skill instructions at: {skill_path}/SKILL.md (Agent 1: Chelcie section)
Read the DeFOSPAM results from: {input_path}

Validate each requirement against the original source and check factual accuracy.

Save your findings to: {output_dir}/chelcie-findings.json

Odin subagent prompt:

You are Odin, the Ambiguity Analyst for an IEEE 830 SRS generation.

Read the skill instructions at: {skill_path}/SKILL.md (Agent 2: Odin section)
Read the DeFOSPAM results from: {input_path}

Detect ambiguity in all requirements and propose unambiguous rewrites.

Save your rewrites to: {output_dir}/odin-rewrites.json
Save your findings to: {output_dir}/odin-findings.json

Ophellia subagent prompt:

You are Ophellia, the Consistency Analyst for an IEEE 830 SRS generation.

Read the skill instructions at: {skill_path}/SKILL.md (Agent 4: Ophellia section)
Read the DeFOSPAM results from: {input_path}

Detect internal conflicts across all requirements.

Save your findings to: {output_dir}/ophellia-findings.json

Phase 2: Assessment (spawn Lucy + Natasha + Iris after Phase 1)

Lucy checks completeness (benefiting from Odin's rewrites), Natasha ranks requirements, Iris assesses verifiability. All three can run in parallel.

Lucy subagent prompt:

You are Lucy, the Completeness Analyst for an IEEE 830 SRS generation.

Read the skill instructions at: {skill_path}/SKILL.md (Agent 3: Lucy section)
Read the DeFOSPAM results from: {input_path}
Read Odin's rewrites from: {output_dir}/odin-rewrites.json

Assess completeness against all IEEE 830 SRS sections and resolve TBDs.

Save your SRS section coverage to: {output_dir}/lucy-coverage.json
Save your findings to: {output_dir}/lucy-findings.json

Natasha subagent prompt:

You are Natasha, the Ranking Analyst for an IEEE 830 SRS generation.

Read the skill instructions at: {skill_path}/SKILL.md (Agent 5: Natasha section)
Read the DeFOSPAM results from: {input_path}

Classify each requirement by necessity and stability, build priority matrix.

Save your rankings to: {output_dir}/natasha-rankings.json
Save your findings to: {output_dir}/natasha-findings.json

Iris subagent prompt:

You are Iris, the Verifiability Analyst for an IEEE 830 SRS generation.

Read the skill instructions at: {skill_path}/SKILL.md (Agent 6: Iris section)
Read the DeFOSPAM results from: {input_path}
Read Odin's rewrites from: {output_dir}/odin-rewrites.json

Ensure every requirement is verifiable and generate acceptance criteria.

Save your acceptance criteria to: {output_dir}/iris-criteria.json
Save your findings to: {output_dir}/iris-findings.json

Phase 3: Structure + Traceability (spawn Amelia + Lewis after Phase 2)

Amelia designs the SRS structure (needs all previous outputs to organize), Lewis builds the traceability matrix (needs requirement IDs from Amelia).

Amelia subagent prompt:

You are Amelia, the Modifiability Analyst for an IEEE 830 SRS generation.

Read the skill instructions at: {skill_path}/SKILL.md (Agent 7: Amelia section)
Read ALL previous agent outputs from: {output_dir}/
Read the DeFOSPAM results from: {input_path}

Design the SRS structure, assign requirement IDs, eliminate redundancy.

Save your SRS outline to: {output_dir}/amelia-outline.json
Save your requirement IDs to: {output_dir}/amelia-ids.json
Save your findings to: {output_dir}/amelia-findings.json

Lewis subagent prompt:

You are Lewis, the Traceability Analyst for an IEEE 830 SRS generation.

Read the skill instructions at: {skill_path}/SKILL.md (Agent 8: Lewis section)
Read ALL previous agent outputs from: {output_dir}/
Read the DeFOSPAM results from: {input_path}

Build the complete traceability matrix and identify trace gaps.

Save your traceability matrix to: {output_dir}/lewis-matrix.json
Save your findings to: {output_dir}/lewis-findings.json

Phase 4: Aggregate and Report

After all subagents complete, the main agent:

  1. Reads all *-findings.json files from {output_dir}/
  2. Reads odin-rewrites.json, lucy-coverage.json, natasha-rankings.json, iris-criteria.json, amelia-outline.json, amelia-ids.json, lewis-matrix.json
  3. Deduplicates findings (keep highest confidence when multiple agents flag the same issue)
  4. Compiles the formal SRS document following amelia-outline.json
  5. Produces the required outputs (chat, .md, .html, srs-results.json)

Claude Code CLI Invocation

# Generate IEEE 830 SRS from DeFOSPAM results
claude -p "Read the Requirements Specification skill at ./requirementspecification/SKILL.md, then generate an IEEE 830 SRS from ./defospam-output/openrequirements-results.json. Save to ./srs-output/"

# Assess existing SRS quality
claude -p "Read the Requirements Specification skill at ./requirementspecification/SKILL.md, then assess the IEEE 830 quality of ./docs/SRS.md. Save to ./srs-output/"

# Generate traceability matrix only
claude -p "Read the Requirements Specification skill at ./requirementspecification/SKILL.md, then build a traceability matrix from ./defospam-output/openrequirements-results.json"

Execution Order (Sequential Fallback)

When subagents are NOT available, run agents sequentially:

  1. Chelcie (Correct) — validates requirements against source
  2. Odin (Unambiguous) — detects and resolves ambiguity
  3. Lucy (Complete) — checks completeness against IEEE 830 sections
  4. Ophellia (Consistent) — detects internal conflicts
  5. Natasha (Ranked) — classifies importance and stability
  6. Iris (Verifiable) — ensures measurable acceptance criteria
  7. Amelia (Modifiable) — designs SRS structure, assigns IDs
  8. Lewis (Traceable) — builds the traceability matrix

Confidence Calibration

All agents use this confidence scale (identical to DeFOSPAM for consistency):

  • 10 = Definitive — the issue is explicitly visible in the input
  • 9 = Very strong evidence — multiple signals confirm the finding
  • 8 = Strong evidence — clear pattern or gap
  • 7 = Likely issue — reasonable interpretation suggests a problem
  • 6 or below = Do NOT report

Only report findings with confidence >= 7.


STEP 4: Compile the IEEE 830 SRS Document

After all agents have run, compile everything into the formal SRS document following the IEEE 830 prototype outline:

SRS Document Structure (IEEE 830 Figure 1)

1. Introduction
   1.1 Purpose
   1.2 Scope
   1.3 Definitions, Acronyms, and Abbreviations  ← Dorothy's glossary + Odin's rewrites
   1.4 References
   1.5 Overview

2. Overall Description
   2.1 Product Perspective                        ← DeFOSPAM metadata + findings
       2.1.1 System Interfaces
       2.1.2 User Interfaces
       2.1.3 Hardware Interfaces
       2.1.4 Software Interfaces
       2.1.5 Communications Interfaces
       2.1.6 Memory Constraints
       2.1.7 Operations
       2.1.8 Site Adaptation Requirements
   2.2 Product Functions                          ← Flo's features + business stories
   2.3 User Characteristics
   2.4 Constraints                                ← DeFOSPAM findings (design constraints)
   2.5 Assumptions and Dependencies
   2.6 Apportioning of Requirements               ← Natasha's rankings (deferred items)

3. Specific Requirements                           ← Organized per Amelia's recommendation
   3.x [Requirements organized by chosen scheme]
       Each requirement includes:
       - Unique ID (from Amelia)
       - Unambiguous text (from Odin)
       - Acceptance criterion (from Iris)
       - Priority (from Natasha)
       - Traceability (from Lewis)

4. Supporting Information
   4.1 Table of Contents
   4.2 Index
   4.3 Traceability Matrix                         ← Lewis's RTM
   4.4 Quality Assessment Summary                  ← All 8 agents' scores

Appendixes
   A. SRS Quality Scorecard (8 IEEE 830 characteristics)
   B. DeFOSPAM Findings Cross-Reference
   C. Glossary (full version)

STEP 5: Collect and Report Results

Deduplication

Same as DeFOSPAM: if multiple agents flag the same issue, keep the finding with the highest confidence and note which agents identified it.

Severity Classification

SeverityDescriptionPriority Range
CriticalSRS fails IEEE 830 compliance without resolution8-10
MajorSignificant quality gap that risks misimplementation4-7
MinorImprovement opportunity for SRS quality1-3

IEEE 830 Quality Scorecard

Produce a quality scorecard rating the SRS against each of the 8 characteristics:

CharacteristicScore (0-100)StatusAgentKey Findings
CorrectX%pass/warn/failChelcieSummary
UnambiguousX%pass/warn/failOdinSummary
CompleteX%pass/warn/failLucySummary
ConsistentX%pass/warn/failOphelliaSummary
RankedX%pass/warn/failNatashaSummary
VerifiableX%pass/warn/failIrisSummary
ModifiableX%pass/warn/failAmeliaSummary
TraceableX%pass/warn/failLewisSummary

Scoring: 90-100 = Pass, 70-89 = Warn, < 70 = Fail

FOUR Required Outputs

After collecting all findings, produce:

  1. Chat output (inline in the conversation)
  2. Markdown file (saved as openrequirements-srs-report.md — the full SRS document)
  3. HTML file (saved as openrequirements-srs-report.html — styled dark-mode SRS)
  4. Pipeline JSON (saved as openrequirements-srs-results.json)

Output 1: Chat Output

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 IEEE 830 Software Requirements Specification Report
Created by OpenRequirements.ai
Based on IEEE Std 830-1998
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Generated X requirements across Y SRS sections.

📊 IEEE 830 Quality Scorecard:
  C — Correct:       XX% [PASS/WARN/FAIL]  (Chelcie)
  U — Unambiguous:   XX% [PASS/WARN/FAIL]  (Odin)
  C — Complete:      XX% [PASS/WARN/FAIL]  (Lucy)
  C — Consistent:    XX% [PASS/WARN/FAIL]  (Ophellia)
  R — Ranked:        XX% [PASS/WARN/FAIL]  (Natasha)
  V — Verifiable:    XX% [PASS/WARN/FAIL]  (Iris)
  M — Modifiable:    XX% [PASS/WARN/FAIL]  (Amelia)
  T — Traceable:     XX% [PASS/WARN/FAIL]  (Lewis)

Overall SRS Quality: XX%

───────────────────────────────────────
📖 SRS Section Coverage
  [List which IEEE 830 sections are populated vs empty]
───────────────────────────────────────

───────────────────────────────────────
📝 Requirements Summary
  Essential: X | Conditional: X | Optional: X
  Stable: X | Moderate: X | Volatile: X
───────────────────────────────────────

───────────────────────────────────────
🔍 Finding #1: {finding_title}
   Characteristic: {C/U/C/C/R/V/M/T} | Severity: {severity}
   Confidence: {confidence}/10
   Found by: {analyst_name} — {byline}

   Detail: {reasoning}
   Recommendation: {recommendation}
───────────────────────────────────────

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Report by OpenRequirements.ai
Based on IEEE Std 830-1998
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Output 2: Markdown SRS Document (openrequirements-srs-report.md)

The full IEEE 830 SRS document in markdown format, following the structure from STEP 4. Include:

  • IEEE 830 badge and OpenRequirements.ai branding
  • Quality scorecard table at the top
  • Complete SRS sections 1-3 + Supporting Information
  • Each requirement with ID, priority, acceptance criterion, and traceability reference
  • Traceability matrix as the final appendix

Output 3: HTML SRS Document (openrequirements-srs-report.html)

A modern dark-mode HTML file matching the DeFOSPAM/SBE report styling, with these adaptations:

  • Header title: "IEEE 830 Software Requirements Specification"
  • Logo: https://openrequirements.ai/assets/logo-nlGhAN5y.png
  • Navigation: SRS section tabs (Introduction, Overall Description, Specific Requirements, Traceability, Quality)
  • Quality scorecard as a visual dashboard with gauge/progress indicators per characteristic
  • Agent profile images next to each finding
  • Requirements table with sortable columns (ID, Priority, Status, Verifiable)
  • Traceability matrix as an interactive table
  • Footer: "Report by OpenRequirements.ai | Based on IEEE Std 830-1998"

Use the same dark-mode colour palette as DeFOSPAM and SBE reports.


Output 4: Pipeline JSON (openrequirements-srs-results.json)

{
  "metadata": {
    "tool": "OpenRequirements.ai SRS",
    "version": "1.0",
    "standard": "IEEE Std 830-1998",
    "timestamp": "ISO-8601",
    "source": "path/to/defospam-results.json or requirements file",
    "defospam_version": "1.0 (if DeFOSPAM input was used)",
    "agents_run": ["chelcie", "odin", "lucy", "ophellia", "natasha", "iris", "amelia", "lewis"]
  },
  "summary": {
    "total_findings": 0,
    "critical": 0,
    "major": 0,
    "minor": 0,
    "total_requirements": 0,
    "essential": 0,
    "conditional": 0,
    "optional": 0,
    "srs_sections_populated": 0,
    "srs_sections_total": 18,
    "tbds_remaining": 0
  },
  "quality_scorecard": {
    "correct": { "score": 0, "status": "pass|warn|fail", "findings": 0 },
    "unambiguous": { "score": 0, "status": "pass|warn|fail", "findings": 0 },
    "complete": { "score": 0, "status": "pass|warn|fail", "findings": 0 },
    "consistent": { "score": 0, "status": "pass|warn|fail", "findings": 0 },
    "ranked": { "score": 0, "status": "pass|warn|fail", "findings": 0 },
    "verifiable": { "score": 0, "status": "pass|warn|fail", "findings": 0 },
    "modifiable": { "score": 0, "status": "pass|warn|fail", "findings": 0 },
    "traceable": { "score": 0, "status": "pass|warn|fail", "findings": 0 },
    "overall": 0
  },
  "srs_document": {
    "introduction": {},
    "overall_description": {},
    "specific_requirements": [],
    "supporting_information": {}
  },
  "requirements": [],
  "traceability_matrix": [],
  "rankings": [],
  "acceptance_criteria": [],
  "findings": [],
  "findings_by_characteristic": {
    "C_correct": [],
    "U": [],
    "C_complete": [],
    "C_consistent": [],
    "R": [],
    "V": [],
    "M": [],
    "T": []
  }
}

Enabling /requirementspecification in Claude Code

Installation

Claude Code auto-discovers skills from .claude/skills/<name>/SKILL.md.

Project level:

mkdir -p .claude/skills/requirementspecification
cp SKILL.md .claude/skills/requirementspecification/SKILL.md
git add .claude/skills/requirementspecification/SKILL.md
git commit -m "Add /requirementspecification IEEE 830 SRS skill"

Global:

mkdir -p ~/.claude/skills/requirementspecification
cp SKILL.md ~/.claude/skills/requirementspecification/SKILL.md

Environment-Specific Instructions

Claude Code

  • Subagents: Use the Agent tool to spawn SRS subagents in parallel (Phase 1 → 2 → 3 → 4)
  • File I/O: Read DeFOSPAM results from the filesystem, write all outputs to srs-output/
  • DeFOSPAM integration: If no openrequirements-results.json exists, suggest running DeFOSPAM first

Visual Studio Code (Claude Code Extension)

  • Open the Claude Code panel → type /requirementspecification
  • Reference DeFOSPAM results by path: ./openrequirements-output/openrequirements-results.json
  • Output files appear in VS Code file explorer and Source Control panel

Cowork

  • Subagents: Available — use the Phase 1 → 2 → 3 → 4 strategy
  • File output: Save all reports to the workspace folder
  • HTML reports: Provide clickable computer:// links

Claude.ai (Web)

  • Run all 8 agents sequentially: Chelcie → Odin → Lucy → Ophellia → Natasha → Iris → Amelia → Lewis
  • Output the SRS document in chat if no filesystem is available

Integration with Other Skills

This skill is designed as part of the OpenRequirements.ai pipeline:

Companion SkillIntegration
DeFOSPAM (OpenRequirements)Run DeFOSPAM first to validate requirements → feed openrequirements-results.json into this skill for formal SRS generation
Specification by Example (SBE)Run SBE after or alongside this skill: SBE produces executable specifications, this skill produces the formal SRS document. Use Lewis's traceability to link them
OpenTestAIUse the SRS requirements and Iris's acceptance criteria as the basis for test generation
docxExport the SRS as a professional Word document following IEEE 830 formatting
pptxGenerate a presentation summarizing the SRS quality scorecard for stakeholder review
xlsxExport the traceability matrix, priority rankings, and acceptance criteria as a spreadsheet

Pipeline: DeFOSPAM → SRS → SBE → OpenTestAI

Requirements Document
        ↓
   [DeFOSPAM Skill]
   7 analysts validate requirements
        ↓
   openrequirements-results.json
        ↓
   [Requirements Specification Skill]  ← THIS SKILL
   8 agents generate IEEE 830 SRS
        ↓
   srs-results.json + srs-report.md/.html
        ↓
   [SBE Skill]
   7 agents create executable specifications
        ↓
   sbe-results.json + *.feature files
        ↓
   [OpenTestAI Skill]
   33+ testers validate implementation

IEEE 830-1998 Recommended Practice for Software Requirements Specifications by the IEEE Computer Society. DeFOSPAM methodology by Paul Gerrard, Gerrard Consulting and Jonathon Wright, OpenTest.AI. Skill implementation by OpenRequirements.ai.

Keep looking

Skills are one crate of 628,971. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.