domain-decomposition-api-design-advisor

Decompose Kotlin and Spring business requirements into bounded contexts and API contracts.

4|Updated Jun 10, 2026
One-click install
npx skills add https://github.com/mymx2/foreman --skill domain-decomposition-api-design-advisor-mymx2
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: domain-decomposition-api-design-advisor
Source: https://github.com/mymx2/foreman/tree/main/.qoder/skills.collected/skills/domain-decomposition-api-design-advisor
Command: npx skills add https://github.com/mymx2/foreman --skill domain-decomposition-api-design-advisor-mymx2

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill addresses the common failure of premature microservice adoption and poorly defined system boundaries by providing a structured framework for domain-driven design.

Core Features & Use Cases

  • Bounded Context Definition: Clearly separates business domains to ensure low coupling and high cohesion.
  • Contract-First Design: Establishes API and event schemas based on consumer needs rather than internal data structures.
  • Use Case: Use this when starting a new feature or service to determine whether a module, bounded context, or separate service is the most appropriate architectural choice for your Kotlin and Spring system.

Quick Start

Use the domain-decomposition-api-design-advisor skill to analyze the proposed feature requirements and generate a formal architectural design including bounded contexts and API contracts.

Frequently Asked Questions about domain-decomposition-api-design-advisor

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

FAQPage Schema
How do I decompose business requirements into bounded contexts for a Spring system?▼

Decompose business requirements by analyzing domain boundaries to ensure low coupling and high cohesion. This skill maps complex logic into well-defined bounded contexts and technical boundaries for Kotlin and Spring architectures before implementation begins.

When do I need domain-driven design for my Kotlin microservices?▼

You need domain-driven design when adopting microservices or starting new features to prevent poorly defined system boundaries. It provides a structured framework to determine whether a module, bounded context, or separate service is the most appropriate architectural choice.

What is the best way to establish API contracts before implementation?▼

The best way to establish API contracts is through contract-first design, which builds API and event schemas based on consumer needs rather than internal data structures. This ensures consistent API contracts and clear ownership across bounded contexts.

How do I model architectural tradeoffs before writing code?▼

Model architectural tradeoffs by generating formal architectural designs that include ADR-quality reasoning and explicit consistency modeling. This ensures clear ownership and consistent API contracts are validated before any implementation begins.

Can I use this architectural design approach for existing monolithic applications?▼

This approach applies to the architectural design phase of Kotlin and Spring-based systems to ensure clear ownership. You can use it when starting a new feature to determine whether a module, bounded context, or separate service is the most appropriate architectural choice.