system-design

Document system components and interfaces to guide implementation across design and build phases.

8|2|Updated Feb 9, 2026
One-click install
npx skills add https://github.com/mikeparcewski/wicked-garden --skill system-design-mikeparcewski
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: system-design
Source: https://github.com/mikeparcewski/wicked-garden/tree/main/skills/engineering/system-design
Command: npx skills add https://github.com/mikeparcewski/wicked-garden --skill system-design-mikeparcewski

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Decomposing large systems into well-defined, cohesive components to improve clarity, scalability, and maintainability during design.

Core Features & Use Cases

  • Component identification and boundary definition
  • Interface specification and dependency mapping
  • Module organization across layered or hexagonal architectures
  • Guidance for architecture evolution and design decisions

Quick Start

Analyze a monolith, identify logical boundaries, and draft a components map with interfaces to guide implementation.

Frequently Asked Questions about system-design

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

FAQPage Schema
What is the best way to decompose a monolith into modular components?

To decompose a monolith, identify logical boundaries and draft a components map with explicit interfaces. This system design approach applies architecture patterns and dependency management to produce modular, maintainable boundaries across build phases.

How do I document system interfaces and dependencies for a new architecture?

Document system interfaces by producing explicit dependencies, boundaries, and testable contracts using component patterns. This maps module organization across layered or hexagonal architectures to guide implementation decisions.

Does this approach work for both design and build phases of system architecture?

Yes, this approach applies architecture patterns and dependency management across both design and build phases. It identifies and documents system components and their interfaces to guide implementation throughout the lifecycle.

When do I need to define boundaries using layered or hexagonal architecture patterns?

You need to define boundaries using layered or hexagonal architecture patterns when decomposing large systems to improve clarity, scalability, and maintainability during design.

Can I use this for architecture evolution and design decisions on existing systems?

Yes, you can use this for architecture evolution and design decisions on existing systems. It provides guidance for evolving architecture by mapping explicit dependencies and identifying logical boundaries within a monolith.