Task Objectives
- This Skill is used to: generate professional architecture and design documents based on SRS (Software Requirements Specification) and PRD (Product Requirements Document)
- Capabilities include:
- Generate System Architecture Design documents (SAD): describe the overall system structure, technology selection, and multi-platform collaboration strategy
- Generate Technical Design Documents (TDD): define module boundaries, interface contracts, and data flow logic
- Generate platform-specific architecture documents: platform-specific architecture design for frontend, mobile, desktop, games, and other platforms
- Trigger conditions: use when the user needs to generate architecture design documents, analyze existing documents, or perform requirement change analysis
Operation Steps
Standard Process
- Input/Preparation
- The user provides the path to the SRS or PRD document
- Read and analyze the requirements document, extract key information (business goals, functional requirements, non-functional requirements, technical constraints)
- Identify the document type and determine the type of architecture document to be generated
-
Execution/Processing
- Select the appropriate document template (SAD/TDD/platform-specific) based on the requirement type
- Collect and supplement technology stack information (use web_search to search for relevant technology selections and best practices when necessary)
- Interact with the user to clarify unclear requirements or technical preferences
- Generate a complete document based on the selected template structure and the content of the requirements document
- Ensure all core sections are included: architecture overview, technology selection, module design, data model, security design, etc.
- Generate visual descriptions such as architecture diagrams, sequence diagrams, and ER diagrams (using Mermaid syntax or text descriptions)
-
Output/Verification
- Check document completeness and consistency
- Ensure the rationality of technology selection (performance, maintainability, team familiarity)
- Iterate and optimize based on user feedback
- Output the final document
Resource Index
- System Architecture Design Document Template: see references/sad-template.md(When to read: when generating an overall system architecture design document)
- Technical Design Document Template: see references/tdd-template.md(When to read: when generating a technical solution for a specific functional module)
- Frontend Architecture Design Document: see references/web-platform.md(When to read: when generating a frontend architecture design)
- Mobile Architecture Design Document: see references/mobile-platform.md(When to read: when generating a mobile architecture design)
- Desktop Architecture Design Document: see references/desktop-platform.md(When to read: when generating a desktop architecture design)
- Game Architecture Design Document: see references/game-platform.md(When to read: when generating a game architecture design)
Notes
- Ensure the generated document includes all required sections and avoids omitting key design points
- Technology selection should be based on actual requirements, avoiding over-design or an overly complex technology stack
- Architecture design should remain consistent with the requirements document, and key design decisions should state their rationale
- Prioritize technology solutions that the team is familiar with and that have a mature ecosystem
- Pay special attention to security design such as authentication and authorization, data encryption, and attack prevention
- Follow industry standards and specifications, and use a unified document format and terminology
- Architecture diagrams, sequence diagrams, etc. should be clear and easy to understand, with key components and data flows labeled
- When using web_search to supplement technology stack information, ensure the timeliness and accuracy of the information
Usage Examples
Example 1: Generate a system architecture design document
Input: The user provides a PRD document for an e-commerce system, including core functions such as user management, product management, order management, and payment
Execution:
- Read and analyze the PRD document, and extract key information (business goals, functional requirements, non-functional requirements)
- Identify it as a complex system and choose to generate an SAD document
- Refer to the references/sad-template.md template structure
- Design a microservices architecture pattern and plan service decomposition (user service, product service, order service, payment service)
- Select the technology stack (Spring Boot, MySQL, Redis, Kafka)
- Design a multi-client collaboration strategy (BFF layer, API Gateway)
- Generate architecture diagrams and sequence diagrams
Output: A complete system architecture design document, including chapters such as system topology diagram, technology selection explanation, service division, interface definitions, data model, and security design
Example 2: Generate a technical solution design document
Input: The user provides the functional requirements for a user authentication module, including registration, login, password reset, and permission management
Execution:
- Read and analyze the functional requirements
- Identify it as a specific functional module and choose to generate a TDD document
- Refer to the references/tdd-template.md template structure
- Define module boundaries and responsibilities (authentication service, authorization service)
- Design RESTful API interfaces (/api/auth/login, /api/auth/register, /api/auth/reset-password)
- Design the data model (User, Role, Permission tables)
- Design the security solution (JWT authentication, RBAC authorization, password encryption)
- Generate ER diagrams and sequence diagrams
Output: A complete technical solution design document, including chapters such as module division, interface definitions, data model, security strategy, and exception handling
Example 3: Generate a mobile architecture design document
Input: The user provides the requirements for a cross-platform mobile application, including support for both iOS and Android
Execution:
- Read and analyze the mobile application requirements
- Identify it as a mobile project and choose to generate a mobile architecture design document
- Refer to the references/mobile-platform.md template structure
- Select the development mode (Flutter; reason: develop once and run on both platforms, with performance close to native)
- Design the push service integration solution (APNs for iOS, FCM for Android, vendor channels)
- Design the permission management strategy (dynamic request, privacy compliance)
- Plan the package size optimization solution (resource compression, dynamic delivery)
- Design offline caching and data synchronization strategies
Output: A complete mobile architecture design document, including chapters such as development mode selection, push service, permission management, performance optimization, and security design