一键导入
sdlc-srs-workflow
Use to draft or audit SRS with requirement IDs, functional requirements, acceptance criteria, constraints, NFR hooks, and traceability.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use to draft or audit SRS with requirement IDs, functional requirements, acceptance criteria, constraints, NFR hooks, and traceability.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use only when the user explicitly invokes this skill to map unresolved product, domain, repository, or delivery unknowns before choosing a path.
Use only when the user explicitly invokes this skill to create or resume a persistent file-based goal tracker across sessions.
Use only when the user explicitly invokes this skill to stress-test an existing plan or design through one load-bearing question at a time.
Use only when the user explicitly invokes this skill to evaluate a skill with representative cases, isolated runs, independent judging, and evidence-driven edits.
Use for a concrete defect or regression that needs reproduction, root-cause diagnosis, a fix, and regression validation. Do not trigger for routine localized edits or primarily performance-focused work.
Use when the requested feature genuinely spans at least two delivery layers such as frontend, backend, API, data, scripts, or tests. Do not expand a single-layer change into a full-stack workflow.
| name | sdlc-srs-workflow |
| description | Use to draft or audit SRS with requirement IDs, functional requirements, acceptance criteria, constraints, NFR hooks, and traceability. |
| metadata | {"version":"0.5","updated":"2026-07-26"} |
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.
$codex-next:sdlc-requirements-workflow or use sdlc-prd-workflow first.$codex-next: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:
Recommend the smallest next step. For an explicit-control workflow, return its
exact $codex-next:<skill-name> command and stop; do not begin it here.
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 | $codex-next:sdlc-solution-spec-workflow |
| implementation task package | sdlc-dev-handoff-planning |
| requirement-to-task/test traceability | sdlc-requirements-traceability |
| readiness judgment | $codex-next:sdlc-readiness-review |
When handing off to dev, provide: