Token导航 LogoToken导航

Agent Skill · 研究检索

domain-identification-grouping(域标识分组)

domain-identification-grouping 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

domain-identification-grouping 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为只读;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 36,404。

总安装 1,929周安装 82GitHub Stars 2,318下载 676核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:domain-identification-grouping(域标识分组)
来源仓库:https://github.com/tech-leads-club/agent-skills
仓库路径:skills/domain-identification-grouping
安装命令:
npx skills add https://github.com/tech-leads-club/agent-skills --skill domain-identification-grouping
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/tech-leads-club/agent-skills --skill domain-identification-grouping

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

domain-identification-grouping 将架构组件分组为逻辑领域,支撑服务化架构设计。适用于准备微服务拆分前的组件归类与边界识别。分析组件职责与依赖关系,输出领域分组建议与交互图。帮助识别高内聚低耦合的服务候选候选,指导后续 API 设计。建议结合业务能力地图验证分组合理性,避免过度碎片化。

来源仓库内路径:skills/domain-identification-grouping

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/tech-leads-club/agent-skills --skill domain-id…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它标注为只读,先用只读任务试一次,确认行为符合预期再扩大使用范围。

常见问题

6 条

domain-identification-grouping 怎么安装?

在终端执行 npx skills add https://github.com/tech-leads-club/agent-skills --skill domain-identificati…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

domain-identification-grouping 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

domain-identification-grouping 需要什么权限?

权限级别是只读。该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

domain-identification-grouping 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

domain-identification-grouping 用的人多吗?

公开数据是累计安装 1,929 次,近一周安装 82 次,下载 676 次,GitHub 2,318 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

domain-identification-grouping 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。
  • 来源仓库有 2,318 星,维护活跃度相对可查。
  • 标注为只读权限,试用阶段不容易误改本地文件。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 只想先试试效果、不希望它改动本地文件的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
domain-identification-grouping

域标识分组 · 本页

1,9292,318只读未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

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

  1. Look for Business Language

- Group components by business vocabulary - Example: "billing", "payment", "invoice" → Financial domain - Example: "customer", "profile", "contract" → Customer domain

  1. Identify Domain Boundaries

- Where do business concepts change? - What are the distinct business areas? - How do components relate to business capabilities?

  1. 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?

  1. Check Component Relationships

- Which components are frequently used together? - What are the dependencies between components? - Do components share data or workflows?

  1. 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 grouping

  1. Handle Edge Cases

- Components that don't fit clearly: Analyze more deeply - Components that fit multiple domains: Choose primary domain - Shared components: May belong to Shared domain

Example Component Grouping:

## Component Domain Assignment

### Ticketing Domain (ss.ticket)

- Ticket Shared (ss.ticket.shared)
- Ticket Maintenance (ss.ticket.maintenance)
- Ticket Completion (ss.ticket.completion)
- Ticket Assign (ss.ticket.assign)
- Ticket Route (ss.ticket.route)
- KB Maintenance (ss.ticket.kb.maintenance)
- KB Search (ss.ticket.kb.search)
- Survey (ss.ticket.survey)

### Customer Domain (ss.customer)

- Customer Profile (ss.customer.profile)
- Billing Payment (ss.customer.billing.payment)
- Billing History (ss.customer.billing.history)
- Support Contract (ss.customer.supportcontract)

### Reporting Domain (ss.reporting)

- Reporting Shared (ss.reporting.shared)
- Ticket Reports (ss.reporting.tickets)
- Expert Reports (ss.reporting.experts)
- Financial Reports (ss.reporting.financial)

Phase 3: Validate Domain Groupings

Ensure components fit well in their assigned domains:

  1. Check Cohesion

- Do components in domain share business language? - Are components frequently used together? - Do components have direct relationships?

  1. Verify Boundaries

- Are domain boundaries clear? - Do components belong to only one domain? - Are there components that don't fit anywhere?

  1. Assess Completeness

- Are all components assigned to a domain? - Are domains cohesive and well-formed? - Do domains represent distinct business capabilities?

  1. Get Stakeholder Validation

- Review domain groupings with product owners - Ensure domains align with business understanding - Get feedback on domain boundaries

Validation Checklist:

  • All components assigned to a domain
  • Domains have clear boundaries
  • Components fit well in their domains
  • Domains represent distinct business capabilities
  • Stakeholders validate domain groupings

Phase 4: Refactor Namespaces for Domain Alignment

Align component namespaces with identified domains:

  1. Compare Current vs Target Namespaces

- Current: services/billing/payment - Target: services/customer/billing/payment - Change: Add .customer domain node

  1. Identify Refactoring Needed

- Which components need namespace changes? - What domain nodes need to be added? - Are there components already aligned?

  1. Create Refactoring Plan

- List components needing namespace changes - Specify target namespace for each - Prioritize refactoring work

  1. Execute Refactoring

- Update component namespaces - Update imports/references - Verify all references updated

Example Namespace Refactoring:

## Namespace Refactoring Plan

### Customer Domain Alignment

| Component        | Current Namespace   | Target Namespace            | Action        |
| ---------------- | ------------------- | --------------------------- | ------------- |
| Billing Payment  | ss.billing.payment  | ss.customer.billing.payment | Add .customer |
| Billing History  | ss.billing.history  | ss.customer.billing.history | Add .customer |
| Customer Profile | ss.customer.profile | ss.customer.profile         | No change     |
| Support Contract | ss.supportcontract  | ss.customer.supportcontract | Add .customer |

### Ticketing Domain Alignment

| Component      | Current Namespace | Target Namespace         | Action      |
| -------------- | ----------------- | ------------------------ | ----------- |
| KB Maintenance | ss.kb.maintenance | ss.ticket.kb.maintenance | Add .ticket |
| KB Search      | ss.kb.search      | ss.ticket.kb.search      | Add .ticket |
| Survey         | ss.survey         | ss.ticket.survey         | Add .ticket |

Phase 5: Create Domain Map

Visualize domain structure and component groupings:

  1. Create Domain Diagram

- Show domains as boxes - Show components within each domain - Show relationships between domains

  1. Document Domain Structure

- List domains and their components - Describe domain responsibilities - Note domain boundaries

  1. Create Domain Inventory

- Table of domains and components - Component counts per domain - Size metrics per domain

Example Domain Map:

## Domain Map

┌─────────────────────────────────────┐ │ Ticketing Domain (ss.ticket) │ ├─────────────────────────────────────┤ │ • Ticket Shared │ │ • Ticket Maintenance │ │ • Ticket Completion │ │ • Ticket Assign │ │ • Ticket Route │ │ • KB Maintenance │ │ • KB Search │ │ • Survey │ └─────────────────────────────────────┘ │ │ uses ▼ ┌─────────────────────────────────────┐ │ Customer Domain (ss.customer) │ ├─────────────────────────────────────┤ │ • Customer Profile │ │ • Billing Payment │ │ • Billing History │ │ • Support Contract │ └─────────────────────────────────────┘

## Output Format

### Domain Identification Report

Domain Identification

Domain: Customer (ss.customer)

Business Capability: Manages customer relationships, billing, and support contracts

Components:

  • Customer Profile (ss.customer.profile)
  • Billing Payment (ss.customer.billing.payment)
  • Billing History (ss.customer.billing.history)
  • Support Contract (ss.customer.supportcontract)

Component Count: 4 Total Size: ~15,000 statements (18% of codebase)

Domain Cohesion: ✅ High

  • Components share customer-related vocabulary
  • Components frequently used together
  • Direct relationships between components

Boundaries:

  • Clear separation from Ticketing domain
  • Clear separation from Reporting domain
  • Shared components (Notification) used by all domains

### Component Domain Assignment Table

Component Domain Assignment

ComponentCurrent NamespaceAssigned DomainTarget Namespace
Customer Profiless.customer.profileCustomerss.customer.profile (no change)
Billing Paymentss.billing.paymentCustomerss.customer.billing.payment
Ticket Maintenancess.ticket.maintenanceTicketingss.ticket.maintenance (no change)
KB Maintenancess.kb.maintenanceTicketingss.ticket.kb.maintenance
Reporting Sharedss.reporting.sharedReportingss.reporting.shared (no change)

### Namespace Refactoring Plan

Namespace Refactoring Plan

Priority: High

Customer Domain Alignment

Components to Refactor:

  1. Billing Payment: ss.billing.payment → ss.customer.billing.payment
  2. Billing History: ss.billing.history → ss.customer.billing.history
  3. Support Contract: ss.supportcontract → ss.customer.supportcontract

Steps:

  1. Update namespace declarations in source files
  2. Update import statements in dependent components
  3. Update directory structure
  4. Run tests to verify changes
  5. Update documentation

Expected Impact:

  • All customer-related components aligned under .customer domain
  • Clearer domain boundaries
  • Easier to identify domain components

### Domain Map Visualization

Domain Map

Domain Structure


Customer Domain (ss.customer) ├── Customer Profile ├── Billing Payment ├── Billing History └── Support Contract

Ticketing Domain (ss.ticket) ├── Ticket Shared ├── Ticket Maintenance ├── Ticket Completion ├── Ticket Assign ├── Ticket Route ├── KB Maintenance ├── KB Search └── Survey

Reporting Domain (ss.reporting) ├── Reporting Shared ├── Ticket Reports ├── Expert Reports └── Financial Reports

Admin Domain (ss.admin) ├── User Maintenance └── Expert Profile

Shared Domain (ss.shared) ├── Login └── Notification

Domain Relationships


Ticketing Domain │ uses ├─→ Shared Domain (Login, Notification) └─→ Customer Domain (Customer Profile)

Customer Domain │ uses └─→ Shared Domain (Login, Notification)

Reporting Domain │ uses ├─→ Ticketing Domain (Ticket data) ├─→ Customer Domain (Customer data) └─→ Shared Domain (Login)

## Analysis Checklist

**Domain Identification**:

- Analyzed component responsibilities
- Identified business capabilities
- Identified distinct business domains
- Validated domains with stakeholders

**Component Grouping**:

- Assigned each component to a domain
- Analyzed component relationships
- Ensured components fit domain vocabulary
- Handled edge cases (shared components, unclear assignments)

**Domain Validation**:

- Checked cohesion within domains
- Verified domain boundaries are clear
- Ensured all components assigned
- Validated with stakeholders

**Namespace Refactoring**:

- Compared current vs target namespaces
- Identified components needing refactoring
- Created refactoring plan
- Prioritized refactoring work

**Domain Mapping**:

- Created domain diagram
- Documented domain structure
- Created domain inventory table
- Documented domain relationships

## Implementation Notes

### For Node.js/Express Applications

Domains typically organized in `services/` directory:

services/ ├── customer/ ← Customer Domain │ ├── profile/ │ ├── billing/ │ │ ├── payment/ │ │ └── history/ │ └── supportcontract/ ├── ticket/ ← Ticketing Domain │ ├── shared/ │ ├── maintenance/ │ ├── assign/ │ └── route/ └── reporting/ ← Reporting Domain ├── shared/ ├── tickets/ └── experts/


### For Java Applications

Domains identified by package structure:

com.company.customer ← Customer Domain ├── profile ├── billing │ ├── payment │ └── history └── supportcontract

com.company.ticket ← Ticketing Domain ├── shared ├── maintenance ├── assign └── route


### Domain Identification Strategies

**Strategy 1: Business Capability Analysis**

- Identify what business capabilities the system provides
- Group components by capability
- Example: "Customer Management" capability → Customer Domain

**Strategy 2: Vocabulary Analysis**

- Identify business vocabulary used by components
- Group components sharing same vocabulary
- Example: Components using "billing", "payment", "invoice" → Financial Domain

**Strategy 3: Relationship Analysis**

- Identify components frequently used together
- Group components with strong relationships
- Example: Components that share data/workflows → Same Domain

**Strategy 4: Stakeholder Collaboration**

- Work with product owners/business analysts
- Use their understanding of business areas
- Validate domain boundaries with them

## Fitness Functions

After creating domains, create automated checks:

### Domain Namespace Governance

// Ensure components belong to correct domain function validateDomainNamespaces(components, domainRules) { const violations = []

components.forEach((comp) => { const domain = identifyDomain(comp.namespace) const expectedDomain = domainRules[comp.name]

if (domain !== expectedDomain) { violations.push({ component: comp.name, currentDomain: domain, expectedDomain: expectedDomain, namespace: comp.namespace, }) } })

return violations }


### Domain Boundary Enforcement

// Prevent components from accessing other domains directly function enforceDomainBoundaries(components) { const violations = []

components.forEach((comp) => { comp.imports.forEach((imp) => { const importedDomain = identifyDomain(imp) const componentDomain = identifyDomain(comp.namespace)

if (importedDomain !== componentDomain && importedDomain !== 'shared') { violations.push({ component: comp.name, domain: componentDomain, importsFrom: imp, importedDomain: importedDomain, issue: 'Cross-domain direct dependency', }) } }) })

return violations }


## Best Practices

### Do's ✅

- Collaborate with business stakeholders to identify domains
- Group components by business capability, not technical layers
- Ensure domains represent distinct business areas
- Validate domain boundaries with stakeholders
- Refactor namespaces to align with domains
- Create clear domain documentation
- Use business language in domain names

### Don'ts ❌

- Don't create domains based on technical layers (services, controllers, models)
- Don't force components into domains where they don't fit
- Don't skip stakeholder validation
- Don't create too many small domains (aim for 3-7 domains)
- Don't create domains that are too large (monolithic domains)
- Don't ignore components that don't fit (analyze why)
- Don't skip namespace refactoring (critical for clarity)

## Common Domain Patterns

### Typical Domains in Business Applications

- **Customer Domain**: Customer management, profiles, relationships
- **Product Domain**: Product catalog, inventory, pricing
- **Order Domain**: Order processing, fulfillment, shipping
- **Billing Domain**: Invoicing, payments, financial transactions
- **Reporting Domain**: Reports, analytics, dashboards
- **Admin Domain**: User management, system configuration
- **Shared Domain**: Common functionality (login, notification, utilities)

### Domain Size Guidelines

- **Small Domain**: 2-4 components
- **Medium Domain**: 5-8 components
- **Large Domain**: 9-15 components
- **Too Large**: >15 components (consider splitting)

## Next Steps

After creating component domains:

1. **Apply Create Domain Services Pattern** - Extract domains to separate services
2. **Plan Service Extraction** - Create migration plan for domain services
3. **Implement Domain Services** - Move domains to separately deployed services
4. **Monitor Domain Boundaries** - Use fitness functions to enforce boundaries

## Notes

- Domains should represent business capabilities, not technical layers
- Domain identification requires collaboration with business stakeholders
- Namespace refactoring is critical for domain clarity
- Domains prepare the codebase for service-based architecture
- Well-formed domains make service extraction easier
- Domain boundaries should be clear and well-documented

平台分布

Codex

38.6%
按下载量换算261

Claude

31.31%
按下载量换算212

Cursor

17.78%
按下载量换算120

Gemini CLI

8.52%
按下载量换算58

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills