engineering-software-architect

Guide software architecture design with domain-driven design and ADR documentation.

Updated Feb 16, 2026
One-click install
npx skills add https://github.com/Adawodu/dynoclaw --skill engineering-software-architect
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: engineering-software-architect
Source: https://github.com/Adawodu/dynoclaw/tree/main/skills/engineering-software-architect
Command: npx skills add https://github.com/Adawodu/dynoclaw --skill engineering-software-architect

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill addresses the complex challenge of designing robust software architectures that are scalable, maintainable, and aligned with business objectives, while carefully considering trade-offs.

Core Features & Use Cases

  • System Design: Develop architectural blueprints for new systems or refactor existing ones.
  • Domain Modeling: Apply Domain-Driven Design principles to define bounded contexts and aggregate boundaries.
  • Architectural Pattern Selection: Choose appropriate patterns (microservices, modular monolith, event-driven) based on project needs.
  • Trade-off Analysis: Evaluate and document the pros and cons of different architectural decisions.
  • Architecture Decision Records (ADRs): Create structured documentation for key technical decisions.
  • Use Case: A startup needs to design the architecture for a new e-commerce platform. This Skill can guide them through domain discovery, pattern selection, and ADR creation to ensure a scalable and maintainable system.

Quick Start

Use the engineering-software-architect skill to design a scalable architecture for a new social media application, focusing on microservices and event-driven patterns.

Frequently Asked Questions about engineering-software-architect

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

FAQPage Schema
How do I design a scalable software architecture for a new system?

Design scalable software architecture by developing architectural blueprints, evaluating quality attributes, and selecting appropriate patterns like microservices or event-driven designs to ensure system maintainability and alignment with business objectives.

What is domain-driven design and when do I need it for system design?

Domain-driven design is an architectural approach used to define bounded contexts and aggregate boundaries. You need it during domain discovery to ensure your software architecture accurately models complex business domains and maintains structural integrity.

How do I choose between a microservices and modular monolith architecture?

Choose between microservices and modular monolith architectures by conducting a trade-off analysis. Evaluate your project needs, quality attributes, and scalability requirements to determine the most appropriate architectural pattern selection for your system.

How do I document architectural decisions for technical trade-offs?

Document architectural decisions by creating Architecture Decision Records (ADRs). ADRs provide structured documentation that captures the pros, cons, and rationale behind technical trade-offs, ensuring system maintainability and clear team communication.

Can I use this to refactor an existing software architecture?

Yes, you can use this approach to refactor existing software systems. It guides you through domain discovery, architecture selection, and quality attribute analysis to transition your current system into a more scalable and maintainable structure.

What are the limitations of event-driven architecture?

Event-driven architecture introduces specific trade-offs, including increased complexity in tracing and debugging. Evaluate these limitations during architectural pattern selection by conducting a thorough quality attribute analysis to ensure it fits your project needs.