technical-specification skill produces a complete Software Requirements Specification (SRS) or Technical Specification Document (TSD) — the contract between business stakeholders and the engineering team. It transforms stakeholder intent into unambiguous, verifiable engineering requirements before a single line of architecture or code is written, preventing the most expensive class of software defect: building the wrong thing correctly.
Best for
New products and services
Formalizing requirements
Test and acceptance baseline
Regulatory traceability
What it produces
The skill generates a structured TSD covering all 22 sections of the template — from executive summary through sign-off. The output is a single Markdown document targeting 10–20 pages (excluding appendices). Key artifacts inside the document include:- Functional requirements (FR-XXX) — each with EARS syntax, a unique ID, rationale, and at least one GIVEN/WHEN/THEN acceptance criterion
- Non-functional requirements (NFR-XXX) — performance, scalability, security, availability, compliance, and maintainability with measurable numeric targets
- Data model — ERD in Mermaid notation with entity relationships, sensitivity classification, and retention policy
- Error handling specification — hierarchical error code taxonomy, RFC 7807 response format, and retry policies per error category
- API design standards — naming conventions, versioning strategy, and pagination specification
- Traceability matrix — every FR-XXX and NFR-XXX linked to at least one test case
- Assumptions and open questions — flagged with owners and resolution deadlines
How to invoke it
Example scenarios
The skill is designed for prompts like these:- “Write a technical specification for a payment processing microservice that handles refunds”
- “I need an SRS for our new multi-tenant user authentication system”
- “Define the requirements for a real-time inventory sync between our warehouse and ERP”
Key concepts
EARS syntax — four patterns
Every requirement must be written using EARS (Easy Approach to Requirements Syntax). EARS eliminates ambiguous requirements by forcing a specific grammatical pattern per trigger type.- Ubiquitous
- Event-driven
- Conditional
- State-driven
The <system> shall <action>.Applies unconditionally, regardless of state or event.SMART requirements
Every requirement must be Specific, Measurable, Achievable, Relevant, and Traceable. Vague requirements are invalid:Functional vs non-functional requirements
Functional requirements (FR-XXX) describe what the system does — behavior, data processing, business rules. Each FR-XXX must be atomic (one testable assertion per ID) and map to at least one test case. Non-functional requirements (NFR-XXX) define quality constraints — performance, security, availability, scalability, compliance. NFRs are tagged ashard (non-negotiable, blocks release) or soft (desirable target with threshold).
Requirement granularity
Requirements must be atomic — one testable assertion per FR/NFR ID. Compound requirements must be split:Hard vs soft constraints
Every NFR must be classified:- Hard constraint — non-negotiable. Violation makes the system unfit for purpose. Blocks release. Example: All payment data shall be encrypted at rest using AES-256.
- Soft constraint — desirable. May be relaxed under negotiation. Triggers review but does not block release. Has a target threshold and a minimum threshold.
ISO/IEC/IEEE 29148:2018
The skill aligns with this standard (which supersedes IEEE 830-1998). Requirements are defined at both stakeholder and system level, iteratively refined, uniquely identified, and traced to design and test artifacts.Interview process
The skill runs a structured interview before drafting:Context loading
.engineering-docs/ files to extract already-known information — team size, tech stack, constraints, user personas. Does not re-ask for information already documented.Socratic clarification (max 2–3 questions)
Scope and context (60 min)
Stakeholder analysis (60 min)
Functional requirements (2–4 hrs)
Non-functional requirements (2 hrs)
Constraints, dependencies, assumptions (60 min)
Traceability matrix (60 min)
Output structure
The generated document contains these sections fromtemplate.md:
Document Control & Executive Summary
Document Control & Executive Summary
Scope (In Scope / Out of Scope / System Boundary)
Scope (In Scope / Out of Scope / System Boundary)
Stakeholders Table
Stakeholders Table
EARS Reference Table
EARS Reference Table
Functional Requirements (FR-XXX)
Functional Requirements (FR-XXX)
Non-Functional Requirements (NFR-XXX)
Non-Functional Requirements (NFR-XXX)
External Interface Requirements
External Interface Requirements
Data Model (ERD)
Data Model (ERD)
Error Handling Specification
Error Handling Specification
API Design Standards
API Design Standards
Monitoring and Alerting Requirements
Monitoring and Alerting Requirements
Test Case Specification
Test Case Specification
Constraints, Assumptions, Dependencies, Open Questions
Constraints, Assumptions, Dependencies, Open Questions
Traceability Matrix
Traceability Matrix
Sign-off
Sign-off
Handoff
Reads from:1-business-plan.md— problem statement, users, scope, standing constraints2-project-plan.md— timeline constraints, team capacity3-user-personas.md— user-driven functional requirements and success metricstechnical-feasibility-study— feasibility verdict, conditional requirements, risk findings
system-architecture-document— functional and NFR requirements driving architectural decisionsux-flow-specification— functional requirements defining screen behaviortest-plan— acceptance criteria and traceability matrix
Quality gate
Before marking the documentfinal, verify every item:
- Every requirement uses EARS syntax, has a unique FR-XXX or NFR-XXX ID, and includes at least one measurable acceptance criterion
- All NFRs have specific numeric targets — no “fast”, “scalable”, or “secure” without a number
- The traceability matrix maps every requirement to at least one test case with no orphaned requirements
- The “Out of Scope” section is populated and every exclusion has a documented reason
- All assumptions are flagged as validated or unvalidated with an owner and target resolution date
- No open questions remain unresolved
