/domain-identification-grouping
Groups existing components into logical business domains to plan service-based architecture. Use when asking "which components belong together?", "group these into services", "organize by domain", "component-to-domain mapping", or planning service extraction from an existing
$ npx -y skills add tech-leads-club/agent-skills --skill domain-identification-grouping --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/domain-identification-grouping
Context preview
The summary Claude sees to decide when to auto-load this skill.
Groups existing components into logical business domains to plan service-based architecture. Use when asking "which components belong together?", "group these into services", "organize by domain", "component-to-domain mapping", or planning service extraction from an existing
SKILL.md
domain-identification-grouping.SKILL.mdname: domain-identification-grouping
description: Groups existing components into logical business domains to plan service-based architecture. Use when asking "which components belong together?", "group these into services", "organize by domain", "component-to-domain mapping", or planning service extraction from an existing codebase. Do NOT use for identifying new domains from scratch (use domain-analysis) or analyzing coupling (use coupling-analysis).
Domain Identification and Grouping
This skill groups architectural components into logical domains (business areas) to prepare for creating domain services in a service-based architecture.
How to Use
Quick Start
Request analysis of your codebase:
- **"Group components into logical domains"**
- **"Identify component domains for service-based architecture"**
- **"Create domain groupings from components"**
- **"Analyze which components belong to which domains"**
Usage Examples
**Example 1: Domain Identification**
User: "Group components into logical domains"
The skill will:
1. Analyze component responsibilities and relationships
2. Identify business domains based on functionality
3. Group components into domains
4. Create domain diagrams
5. Suggest namespace refactoring for domain alignment
**Example 2: Domain Analysis**
User: "Which domain should the billing components belong to?"
The skill will:
1. Analyze billing component functionality
2. Check relationships with other components
3. Identify appropriate domain (e.g., Customer or Financial)
4. Recommend domain assignment
**Example 3: Domain Refactoring**
User: "What namespace refactoring is needed to align components with domains?"
The skill will:
1. Compare current component namespaces to identified domains
2. Identify misaligned components
3. Suggest namespace changes
4. Create refactoring plan
Step-by-Step Process
1. **Identify Domains**: Analyze business capabilities and component relationships 2. **Group Components**: Assign components to appropriate domains 3. **Validate Groupings**: Ensure components fit well in their domains 4. **Refactor Namespaces**: Align component namespaces with domains 5. **Create Domain Map**: Visualize domain structure and component groupings
When to Use
Apply this skill when:
- After identifying, sizing, and analyzing component dependencies
- Before creating domain services (Pattern 6)
- When planning service-based architecture migration
- Analyzing component relationships and business alignment
- Preparing for domain-driven design implementation
- Grouping components for better organization
Core Concepts
Domain Definition
A **domain** is a logical grouping of components that:
- Represents a distinct business capability or area
- Contains related components that work together
- Has clear boundaries and responsibilities
- Can become a domain service in service-based architecture
**Examples**:
- **Customer Domain**: Customer profile, billing, support contracts
- **Ticketing Domain**: Ticket creation, assignment, routing, completion
- **Reporting Domain**: Ticket reports, expert reports, financial reports
Component Domain Relationship
**One-to-Many**: A single domain contains multiple components
Domain: Customer
├── Component: Customer Profile
├── Component: Billing Payment
├── Component: Billing History
└── Component: Support Contract
Domain Manifestation
Domains are physically manifested through **namespace structure**:
**Before Domain Alignment**:
services/billing/payment
services/billing/history
services/customer/profile
services/supportcontract
**After Domain Alignment**:
services/customer/billing/payment
services/customer/billing/history
services/customer/profile
services/customer/supportcontract
Notice how all customer-related functionality is grouped under `.customer` domain.
Analysis Process
Phase 1: Identify Business Domains
Analyze the codebase to identify distinct business domains:
1. **Examine Component Responsibilities**
- Read component names and descriptions
- Understand what each component does
- Identify business capabilities
2. **Look for Business Language**
- Group components by business vocabulary
- Example: "billing", "payment", "invoice" → Financial domain
- Example: "customer", "profile", "contract" → Customer domain
3. **Identify Domain Boundaries**
- Where do business concepts change?
- What are the distinct business areas?
- How do components relate to business capabilities?
4. **Collaborate with Business Stakeholders**
- Validate domain identification with product owners
- Ensure domains align with business understanding
- Get feedback on domain boundaries
**Example Domain Identification**:
## Identified Domains
1. **Ticketing Domain** (ss.ticket)
- Ticket creation, assignment, routing, completion
- Customer surveys
- Knowledge base
2. **Customer Domain** (ss.customer)
- Customer profile
- Billing and payment
- Support contracts
3. **Reporting Domain** (ss.reporting)
- Ticket reports
- Expert reports
- Financial reports
4. **Admin Domain** (ss.admin)
- User maintenance
- Expert profile management
5. **Shared Domain** (ss.shared)
- Login
- Notification
Phase 2: Group Components into Domains
Assign each component to an appropriate domain:
1. **Analyze Component Functionality**
- What business capability does it support?
- What domain vocabulary does it use?
- What other components does it relate to?
2. **Check Component Relationships**
- Which components are frequently used together?
- What are the dependencies between components?
- Do components share data or workflows?
3. **Assign to Domain**
- Place component in domain that best fits its functionality
- Ensure component aligns with domain's business language
- Verify component relationships support domain grou
Read more
name: domain-identification-grouping description: Groups existing components into logical business domains to plan service-based architecture. Use when asking "which components belong together?", "group these into services", "organize by domain", "component-to-domain mapping", or planning service extraction from an existing codebase. Do NOT use for identifying new domains from scratch (use domain-analysis) or analyzing coupling (use coupling-analysis).
Domain Identification and Grouping
This skill groups architectural components into logical domains (business areas) to prepare for creating domain services in a service-based architecture.
How to Use
Quick Start
Request analysis of your codebase:
- **"Group components into logical domains"**
- **"Identify component domains for service-based architecture"**
- **"Create domain groupings from components"**
- **"Analyze which components belong to which domains"**
Usage Examples
**Example 1: Domain Identification**
User: "Group components into logical domains" The skill will: 1. Analyze component responsibilities and relationships 2. Identify business domains based on functionality 3. Group components into domains 4. Create domain diagrams 5. Suggest namespace refactoring for domain alignment
**Example 2: Domain Analysis**
User: "Which domain should the billing components belong to?" The skill will: 1. Analyze billing component functionality 2. Check relationships with other components 3. Identify appropriate domain (e.g., Customer or Financial) 4. Recommend domain assignment
**Example 3: Domain Refactoring**
User: "What namespace refactoring is needed to align components with domains?" The skill will: 1. Compare current component namespaces to identified domains 2. Identify misaligned components 3. Suggest namespace changes 4. Create refactoring plan
Step-by-Step Process
1. **Identify Domains**: Analyze business capabilities and component relationships 2. **Group Components**: Assign components to appropriate domains 3. **Validate Groupings**: Ensure components fit well in their domains 4. **Refactor Namespaces**: Align component namespaces with domains 5. **Create Domain Map**: Visualize domain structure and component groupings
When to Use
Apply this skill when:
- After identifying, sizing, and analyzing component dependencies
- Before creating domain services (Pattern 6)
- When planning service-based architecture migration
- Analyzing component relationships and business alignment
- Preparing for domain-driven design implementation
- Grouping components for better organization
Core Concepts
Domain Definition
A **domain** is a logical grouping of components that:
- Represents a distinct business capability or area
- Contains related components that work together
- Has clear boundaries and responsibilities
- Can become a domain service in service-based architecture
**Examples**:
- **Customer Domain**: Customer profile, billing, support contracts
- **Ticketing Domain**: Ticket creation, assignment, routing, completion
- **Reporting Domain**: Ticket reports, expert reports, financial reports
Component Domain Relationship
**One-to-Many**: A single domain contains multiple components
Domain: Customer ├── Component: Customer Profile ├── Component: Billing Payment ├── Component: Billing History └── Component: Support Contract
Domain Manifestation
Domains are physically manifested through **namespace structure**:
**Before Domain Alignment**:
services/billing/payment services/billing/history services/customer/profile services/supportcontract
**After Domain Alignment**:
services/customer/billing/payment services/customer/billing/history services/customer/profile services/customer/supportcontract
Notice how all customer-related functionality is grouped under `.customer` domain.
Analysis Process
Phase 1: Identify Business Domains
Analyze the codebase to identify distinct business domains:
1. **Examine Component Responsibilities**
- Read component names and descriptions
- Understand what each component does
- Identify business capabilities
2. **Look for Business Language**
- Group components by business vocabulary
- Example: "billing", "payment", "invoice" → Financial domain
- Example: "customer", "profile", "contract" → Customer domain
3. **Identify Domain Boundaries**
- Where do business concepts change?
- What are the distinct business areas?
- How do components relate to business capabilities?
4. **Collaborate with Business Stakeholders**
- Validate domain identification with product owners
- Ensure domains align with business understanding
- Get feedback on domain boundaries
**Example Domain Identification**:
## Identified Domains 1. **Ticketing Domain** (ss.ticket) - Ticket creation, assignment, routing, completion - Customer surveys - Knowledge base 2. **Customer Domain** (ss.customer) - Customer profile - Billing and payment - Support contracts 3. **Reporting Domain** (ss.reporting) - Ticket reports - Expert reports - Financial reports 4. **Admin Domain** (ss.admin) - User maintenance - Expert profile management 5. **Shared Domain** (ss.shared) - Login - Notification
Phase 2: Group Components into Domains
Assign each component to an appropriate domain:
1. **Analyze Component Functionality**
- What business capability does it support?
- What domain vocabulary does it use?
- What other components does it relate to?
2. **Check Component Relationships**
- Which components are frequently used together?
- What are the dependencies between components?
- Do components share data or workflows?
3. **Assign to Domain**
- Place component in domain that best fits its functionality
- Ensure component aligns with domain's business language
- Verify component relationships support domain grou
The secure, validated skill registry for professional AI coding agents. Extend Antigravity, Claude Code, Cursor, Copilot and more with absolute confidence.
Repo: tech-leads-club/agent-skills
Other skills on tech-leads-club-agent-skills.
- /component-common-domain-detection
Finds duplicate business logic spread across multiple components and suggests consolidation. Use when asking "where is this logic duplicated?", "find common code between services", "what can be consolidated?", "detect shared domain logic", or analyzing component overlap before
Open skill - /component-flattening-analysis
Detects misplaced classes and fixes component hierarchy problems — finds code that should belong inside a component but sits at the root level. Use when asking "clean up component structure", "find orphaned classes", "fix module hierarchy", "flatten nested components", or
Open skill - /component-identification-sizing
Maps architectural components in a codebase and measures their size to identify what should be extracted first. Use when asking "how big is each module?", "what components do I have?", "which service is too large?", "analyze codebase structure", "size my monolith", or planning
Open skill - /coupling-analysis
Analyzes coupling between modules using the three-dimensional model (strength, distance, volatility) from "Balancing Coupling in Software Design". Use when asking "are these modules too coupled?", "show me dependencies", "analyze integration quality", "which modules should I
Open skill - /decomposition-planning-roadmap
Creates step-by-step decomposition plans and migration roadmaps for breaking apart monolithic applications. Use when asking "what order should I extract services?", "plan my migration", "create a decomposition roadmap", "prioritize what to split", "monolith to microservices
Open skill - /domain-analysis
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
Open skill

