From codex-next
Drafts or audits SRS with requirement IDs, functional requirements, acceptance criteria, constraints, NFR hooks, and traceability.
How this skill is triggered — by the user, by Claude, or both
Slash command
/codex-next:sdlc-srs-workflowThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this workflow when the SDLC manager must produce or update a Software Requirements Specification before implementation.
Use this workflow when the SDLC manager must produce or update a Software Requirements Specification before implementation.
The SRS is the software-facing contract between requirements work and development execution. It turns business, user, and product intent into precise, testable, traceable software requirements that dev agents can consume without taking ownership of upstream requirement management.
sdlc-requirements-workflow or sdlc-prd-workflow first.sdlc-solution-spec-workflow for structured solution material and let dev handle execution.Prefer the most authoritative available sources:
If required inputs are missing, continue only when the missing items do not block the requested delivery grade. Mark missing items explicitly.
Identify the current authoritative input set:
BRD / URS / PRD / issue / scope baseline / change request / research evidence
Then record:
Do not silently merge conflicting source material. Record the conflict and identify which source should control.
Create a document header:
| Field | Required |
|---|---|
| Document ID | yes |
| Feature / system name | yes |
| Source requirement links | yes |
| Owner | yes if known |
| Status | yes |
| Version | yes |
| Last updated | yes |
| Lane / modifier | yes |
| Related artifacts | as available |
Recommended status values:
draft
review-ready
baseline
change-pending
superseded
Create stable IDs before writing detailed requirements.
Use these prefixes:
| Prefix | Meaning |
|---|---|
REQ | Software-facing functional, interface, data, permission, operational, compliance, or quality requirement |
VAL | Acceptance or validation item |
Q | Open question |
DEC | Durable decision |
ARCH | Architecture constraint |
DOM | Domain, ownership, data, or dependency constraint |
Rules:
REQ ID to at least one source input when possible.Classify requirements before writing.
| Class | Description |
|---|---|
| Functional | User-visible or system behavior |
| Interface | API, CLI, SDK, integration, event, or contract behavior |
| Data | fields, storage, lifecycle, migration, retention, import/export |
| Permission | roles, access, visibility, editability, audit |
| Operational | logging, monitoring, support, admin, rollout, rollback |
| Compliance | legal, policy, privacy, security, audit, platform review |
| NFR reference | measurable quality constraint managed by sdlc-nfr-spec |
Keep NFR detail in sdlc-nfr-spec when the NFR is substantial. The SRS should reference NFR IDs rather than duplicating the full matrix.
For each functional requirement, use this structure:
### REQ-001: <Requirement name>
- Source:
- Priority:
- User / actor:
- Preconditions:
- Trigger:
- System behavior:
- Normal flow:
- Alternate flow:
- Exception flow:
- State impact:
- Data impact:
- Permission impact:
- Related SPEC:
- Acceptance criteria:
- Open issues:
Write requirements as observable behavior:
The system shall ...
Avoid vague terms unless a measurable definition follows. Do not write “fast”, “easy”, “secure”, “intuitive”, or “robust” without a linked NFR, rule, or acceptance criterion.
Each P0/P1 functional requirement must have acceptance criteria.
Recommended format:
Given <precondition>
When <actor action or system event>
Then <observable system result>
And <data/state/permission result>
Cover at least:
Assign acceptance IDs:
VAL-001
VAL-002
If behavior depends on status, progress, lifecycle, user session, order state, workflow state, or moderation state, include a state table:
| State | Enter condition | Allowed actions | Forbidden actions | Exit condition | Next state |
|---|
Rules:
For user input, API payloads, stored records, forms, imports, exports, or configuration, link or draft a data requirement table:
| Field | Type | Required | Default | Limits | Validation | Error copy | Storage / display note |
|---|
For substantial data design, hand off to sdlc-spec-slice-writer for a Data SPEC.
If behavior differs by role, account type, ownership, tenant, plan, region, or admin status, include a permission matrix:
| Actor / role | View | Create | Edit | Delete | Export | Admin action | Audit note |
|---|
For substantial authorization behavior, hand off to sdlc-spec-slice-writer for a Permission SPEC.
Reference quality requirements by ID:
REQ-010
REQ-011
VAL-010
VAL-011
Do not hide quality constraints inside vague prose. Use sdlc-nfr-spec when measurements, thresholds, validation methods, or release gates are needed.
Create an initial mapping table:
| Source | REQ ID | Requirement summary | VAL ID | Spec detail needed | Task candidate | Test candidate |
|---|
This is not the final RTM. It is the seed for sdlc-requirements-traceability.
Separate open questions from decisions.
| ID | Question | Blocks dev? | Owner | Needed by | Notes |
|---|
Do not convert unresolved questions into assumptions. Assumptions must be explicit and reversible.
Return or write an SRS with these sections:
# SRS: <Feature / System>
## 1. Document Control
## 2. Source Baseline
## 3. Scope and Non-goals
## 4. Requirement Index
## 5. Functional Requirements
## 6. Interface / Data / Permission Requirements
## 7. State and Lifecycle Requirements
## 8. NFR References
## 9. Acceptance Criteria
## 10. Traceability Seed
## 11. Risks, Assumptions, and Open Questions
## 12. Handoff Notes
If writing into an existing repository, prefer the project’s established docs directory. If no convention exists, propose a path rather than creating files without approval.
Before declaring the SRS ready, check:
sdlc-nfr-spec, sdlc-spec-slice-writer, sdlc-solution-spec-workflow, or sdlc-dev-handoff-planning when those specialized outputs are needed.Use the SRS to route downstream work:
| Need | Next skill |
|---|---|
| measurable quality constraints | sdlc-nfr-spec |
| UI/API/Data/Admin/Permission/Directory specs | sdlc-spec-slice-writer |
| HLD/LLD-oriented solution material | sdlc-solution-spec-workflow |
| implementation task package | sdlc-dev-handoff-planning |
| requirement-to-task/test traceability | sdlc-requirements-traceability |
| readiness judgment | sdlc-readiness-review |
When handing off to dev, provide:
npx claudepluginhub blueskyxn/codex-is-all-you-need --plugin codex-nextElicits requirements through structured questioning and generates high-quality SRS documents aligned with ISO/IEC/IEEE 29148 when no prior specs exist.
Generates structured Software Requirements Specifications (SRS) aligned with ISO/IEC/IEEE 29148. Guides iterative questioning to elicit functional, non-functional, and constraint requirements.
Authors, updates, and validates atomic functional and non-functional requirements with traceability matrices, validation packs, and explicit human-in-the-loop approvals. Use for creating or reviewing requirements as source of truth.