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.