Skills

Domain Analysis

Maps business domains and suggests service boundaries in any codebase using DDD...

Install

npx skills add tech-leads-club/agent-skills --skill domain-analysis -g -a claude-code -y
Category
Design
Updated
3d ago
License
See repository
Context cost
Mediumabout 2,792 tokens
Runs scripts
No, instructions only

What it does

Maps business domains and suggests service boundaries in any codebase using DDD Strategic Design. Use when asking "what are the domains in this codebase?", "where should I draw service boundaries?", "identify bounded contexts", "classify subdomains", "DDD analysis", or analyzing domain cohesion. Do NOT use for grouping existing components into domains (use domain-identification-grouping) or dependency analysis (use coupling-analysis).

Subdomain Identification & Bounded Context Analysis

This skill analyzes codebases to identify subdomains (Core, Supporting, Generic) and suggest bounded contexts following Domain-Driven Design Strategic Design principles.

When to Use

Apply this skill when:

  • Analyzing domain boundaries in any codebase
  • Identifying Core, Supporting, and Generic subdomains
  • Mapping bounded contexts from problem space to solution space
  • Assessing domain cohesion and detecting coupling issues
  • Planning domain-driven refactoring
  • Understanding business capabilities in code

Core Principles

Subdomain Classification

Core Domain: Competitive advantage, highest business value, requires best developers

  • Indicators: Complex business logic, frequent changes, domain experts needed

Supporting Subdomain: Essential but not differentiating, business-specific

  • Indicators: Supports Core Domain, moderate complexity, business-specific rules

Generic Subdomain: Common functionality, could be outsourced

  • Indicators: Well-understood problem, low differentiation, standard functionality

Bounded Context

An explicit linguistic boundary where domain terms have specific, unambiguous meanings.

  • Primary nature: Linguistic boundary, not technical
  • Key rule: Inside boundary, all Ubiquitous Language terms are unambiguous
  • Goal: Align 1 subdomain to 1 bounded context (ideal)

Analysis Process

Phase 1: Extract Concepts

Scan codebase for business concepts (not infrastructure):

  1. Entities (domain models with identity)

    • Patterns: @Entity, class, domain models
    • Focus: Business concepts, not technical classes
  2. Services (business operations)

    • Patterns: *Service, *Manager, *Handler
    • Focus: Business logic, not technical utilities
  3. Use Cases (business workflows)

    • Patterns: *UseCase, *Command, *Handler
    • Focus: Business processes, not CRUD
Read the whole SKILL.md on GitHub

More in Design