From wicked-garden
Define component boundaries, module organization, and interface contracts. Break down systems into cohesive, loosely-coupled components. Use when: "component design", "module boundaries", "how should we organize this", "component interfaces", "dependency management", "system decomposition"
npx claudepluginhub mikeparcewski/wicked-garden --plugin wicked-gardenThis skill uses the workspace's default tool permissions.
Decompose systems into well-defined components with clear boundaries and interfaces.
refs/anti-patterns-big-ball-of-mud.mdrefs/anti-patterns-circular-dependencies.mdrefs/anti-patterns-feature-envy.mdrefs/anti-patterns-god-object.mdrefs/component-template-lifecycle.mdrefs/component-template-maintenance.mdrefs/component-template-structure.mdrefs/dependencies-best-practices.mdrefs/dependencies-dependency-principles.mdrefs/dependencies-dependency-tracking.mdrefs/interface-template-lifecycle.mdrefs/interface-template-maintenance.mdrefs/interface-template-structure.mdrefs/patterns-dependency-injection.mdrefs/patterns-facade-pattern.mdrefs/patterns-layered-pattern.mdrefs/patterns-plugin-architecture.mdProvides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
Decompose systems into well-defined components with clear boundaries and interfaces.
Transform architecture into concrete components:
Ask:
Apply:
For each component:
Creates in phases/design/:
design/
├── components/
│ ├── overview.md
│ ├── auth-component.md
│ └── dependencies.mmd
└── interfaces/
└── component-api.md
Layered - Presentation → Application → Domain → Infrastructure Hexagonal - Business logic with adapter ports Plugin - Core system with pluggable extensions
See component patterns in refs/ (patterns-layered-pattern.md, patterns-facade-pattern.md).
God Object - One component does everything Fix: Split by responsibility
Feature Envy - Component uses another's data extensively Fix: Move functionality to data owner
Circular Dependencies - A depends on B, B depends on A Fix: Extract shared logic or use events
Leaky Abstraction - Internal details exposed Fix: Refine public interface
See dependency guides in refs/ (dependencies-dependency-principles.md, dependencies-best-practices.md).
Implements high-level architecture:
Provides boundaries for:
Called during design phase after architecture.
[arch:components:defined:success] - Components designed[arch:interface:defined:success] - Interface documented[arch:dependency:analyzed:success] - Dependencies validated