mh-cto-sdlc-system-decomp

Decompose systems into services and document boundary decisions with ADRs.

2|Updated Apr 5, 2026
One-click install
npx skills add https://github.com/Imad-Oute/MicroHard --skill mh-cto-sdlc-system-decomp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mh-cto-sdlc-system-decomp
Source: https://github.com/Imad-Oute/MicroHard/tree/main/src/departments/cto/sdlc/phase-4-architecture/mh-cto-sdlc-system-decomp
Command: npx skills add https://github.com/Imad-Oute/MicroHard --skill mh-cto-sdlc-system-decomp

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

This Skill streamlines the process of defining and documenting system boundaries, ensuring clear service/module/component separation and facilitating effective system architecture.

Core Features & Use Cases

  • System Decomposition: Defines service/module/component boundaries and documents trade-offs with ADRs.
  • Boundary Evaluation: Evaluates options for in-line vs. separate components based on arch-drivers.
  • System Diagramming: Generates text-based system diagrams with named services/modules and data flows.
  • Decision Documentation: Documents boundary decisions and writes ADRs for significant choices.
  • Risk Identification: Flags architectural risks introduced by chosen boundaries.
  • Output Generation: Generates a summary report of the system decomposition.

Quick Start

Run the 'system decomposition' command after loading artifacts.

Frequently Asked Questions about mh-cto-sdlc-system-decomp

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

FAQPage Schema
What is system decomposition in software architecture?

System decomposition is the process of dividing a system into distinct services, modules, and components while defining clear boundaries. It documents architectural trade-offs and identifies structural risks introduced by the chosen separation.

How do I define service boundaries and document architectural decisions?

Define service boundaries by evaluating architectural drivers and domain models, then document the decisions using Architecture Decision Records. This process flags risks and generates text-based system diagrams showing data flows.

When do I need to evaluate in-line versus separate components for my architecture?

Evaluate in-line versus separate components when defining system boundaries based on architectural drivers. This boundary evaluation determines whether functionality should remain integrated or split into distinct modules to mitigate architectural risks.

How do I generate ADRs for system decomposition decisions?

Generate ADRs by analyzing architectural drivers and domain models to define service boundaries. The decomposition process documents significant boundary choices and trade-offs, producing a summary report of the architectural decisions.

What are the limitations of automating system boundary definition?

Automating system boundary definition requires loaded artifacts like architectural drivers and component registries for accurate analysis. Without these inputs, the automated decomposition cannot properly evaluate boundary trade-offs or identify architectural risks.

Can I generate system diagrams showing data flows after decomposing modules?

Yes, system decomposition generates text-based system diagrams with named services, modules, and data flows. These diagrams visualize the defined boundaries and are included in the summary report alongside the documented ADRs.