One-click install
npx skills add https://github.com/tech-leads-club/agent-skills --skill domain-analysis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: domain-analysis
Source: https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/%28architecture%29/domain-analysis
Command: npx skills add https://github.com/tech-leads-club/agent-skills --skill domain-analysis

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps engineering teams identify and structure domain boundaries by pinpointing subdomains (Core, Supporting, Generic) and proposing bounded contexts with clear linguistic boundaries, enabling more maintainable, scalable architectures.

Core Features & Use Cases

  • Extract business concepts from code (entities, services, use cases, controllers) for domain modeling.

  • Group concepts by Ubiquitous Language to reveal cohesive subdomains.

  • Assess intra- and inter-domain cohesion, detect cross-domain couplings, and map bounded contexts.

  • Generate actionable recommendations for domain-driven refactoring and boundary clarity.

  • Use Case: When refactoring a monolith, run this skill to delineate Core subdomains and corresponding bounded contexts to guide implementation.

Quick Start

Request an analysis of a codebase: "Analyze the domains in this codebase and propose bounded contexts."

Frequently Asked Questions about domain-analysis

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

FAQPage Schema
How do I identify bounded contexts when refactoring a monolith?

To identify bounded contexts when refactoring a monolith, extract business concepts from code and group them by Ubiquitous Language to reveal cohesive subdomains. This process assesses intra- and inter-domain cohesion to map clear linguistic boundaries for refactoring.

What is the best way to classify subdomains as Core, Supporting, or Generic?

Classifying subdomains as Core, Supporting, or Generic involves analyzing codebase entities and services to group concepts by linguistic boundaries. This classification highlights domain cohesion and cross-domain couplings, producing actionable recommendations for domain-driven design boundaries.

How does domain-driven design handle cross-domain coupling in a codebase?

Domain-driven design handles cross-domain coupling by assessing intra- and inter-domain cohesion within the codebase. It maps linguistic boundaries between identified bounded contexts to detect couplings and generates recommendations to clarify architecture boundaries for better maintainability.

Can I extract business concepts directly from existing code for domain modeling?

Yes, you can extract business concepts directly from existing code for domain modeling. The analysis targets code entities, services, use cases, and controllers to group concepts by Ubiquitous Language, revealing cohesive subdomains and mapping bounded contexts without requiring external documentation.

When do I need to map subdomains to bounded contexts?

You need to map subdomains to bounded contexts when refactoring a monolith to improve architectural maintainability and scalability. It helps pinpoint Core, Supporting, and Generic subdomains, assesses domain cohesion, and provides clear linguistic boundaries to guide domain-driven refactoring.

Does domain analysis work for codebases with high cross-domain coupling?

Yes, domain analysis works for codebases with high cross-domain coupling by specifically detecting these couplings during the cohesion assessment. It maps linguistic boundaries between contexts and produces bounded-context recommendations to guide refactoring and isolate architecture boundaries effectively.