software-design-doc

Generates software specification documents with UML diagrams, requirements, and DDD implementation guidance.

Updated Sep 5, 2026
One-click install
npx skills add https://github.com/rmofilh/petbsi-srum --skill software-design-doc-rmofilh
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: software-design-doc
Source: https://github.com/rmofilh/petbsi-srum/tree/main/.agents/skills/software-design-doc
Command: npx skills add https://github.com/rmofilh/petbsi-srum --skill software-design-doc-rmofilh

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Producing a complete software analysis and design document — requirements, UML diagrams, and architecture — is time-consuming and error-prone, with inconsistencies often creeping between diagrams. This Skill guides the AI through a strict, traceable sequence where each section feeds the next, keeping requirements, use cases, classes, and implementation aligned. ## Core Features & Use Cases - Requirements Engineering: Builds numbered, traceable tables of functional (RF) and non-functional (RNF) requirements with priorities and measurable criteria. - Full UML Coverage in Mermaid: Produces use case diagrams (include/extend, actor inheritance), class diagrams (composition, aggregation, inheritance, persistence), ER diagrams, object diagrams, state diagrams, sequence diagrams, activity diagrams, and component diagrams — all renderable natively in Markdown and GitHub. - Implementation Guidance: Maps the analysis artifacts to DDD building blocks (aggregates, value objects, repositories), Clean Architecture layers (domain, application, adapters, infra), and a TDD plan with RF-to-test traceability. - Use Case: Ask the AI to document an e-commerce ordering system; it will ask about the domain, then deliver a Markdown document with requirements tables, Mermaid diagrams for each UML view, and a layered implementation plan with test strategy. ## Quick Start Ask the AI to create a complete software design document for your system, describing its domain, main users, and key features.

Frequently Asked Questions about software-design-doc

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a software design document with UML diagrams?

Provide the system domain, users, and main features, and the Skill produces a Markdown document with requirements tables and Mermaid diagrams for use cases, classes, ER, sequence, activity, and components. Each section feeds the next, keeping the document internally consistent.

How to write functional and non-functional requirements for a system?

Functional requirements follow the format 'RFxx — verb + object + condition' describing system behavior, while non-functional requirements specify quality attributes like performance or security with measurable criteria. Both are numbered in traceable tables with priority and origin.

What is the difference between include and extend in use case diagrams?

Include is mandatory behavior always executed by the base use case, with the arrow pointing from base to included case. Extend is optional or conditional behavior, with the arrow pointing from the extension case to the base case's extension point.

Can Mermaid render UML diagrams like class and ER diagrams?

Yes, Mermaid supports classDiagram and erDiagram natively, and flowchart or stateDiagram-v2 can represent use case, activity, state, and component diagrams. These render directly in GitHub Markdown and most documentation tools.

When should a state diagram be included in a design document?

Include a state diagram only when an entity has a complex lifecycle with multiple statuses and constrained transitions, such as orders, tickets, or approvals. If no entity qualifies, the Skill records that the section was evaluated and skipped.

How does the design document map to Clean Architecture and DDD?

Boundary-control-entity classes map to adapters, use cases, and domain entities respectively. Compositions in the class diagram become DDD aggregates with repository interfaces in the domain layer, and each requirement gets a traceable TDD test.