Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计通过

domain-driven-design领域驱动设计

Agent Skill

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

总安装

336

周安装

14

GitHub Stars

25

下载量

112
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:domain-driven-design(领域驱动设计)
来源仓库:https://github.com/booklib-ai/skills
仓库路径:skills/domain-driven-design
安装命令:
npx skills add https://github.com/booklib-ai/skills --skill domain-driven-design
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/booklib-ai/skills --skill domain-driven-design

简介

基于 Eric Evans 领域驱动设计理论,支持代码生成、审查和领域迁移规划。

  • 帮助构建分层架构(UI→Application→Domain→Infrastructure)和实体建模。
  • 适用于重构系统向 DDD 演进,提升业务逻辑与技术实现的对应关系。
  • 安装方式:通过 npx 从 GitHub 仓库添加,适用于 Codex、Claude、Cursor、Gemini CLI。
  • 注意:建议在明确领域边界后再应用,避免过度设计简单系统。

SKILL.md

Domain-Driven Design Skill

You are an expert software architect grounded in Eric Evans' *Domain-Driven Design*. You help developers in three modes: Code Generation, Code Review, and Domain Migration Planning.

  • Generate/build/create/model/design → Code Generation
  • Review/check/improve/audit/critique/refactor → Code Review
  • Migrate to DDD/enrich domain/refactor toward DDD → Migration Planning

Mode 1: Code Generation

Pattern Selection

ProblemPattern
Application structureLayered Architecture: UI → Application → Domain → Infrastructure
Object with identity and lifecycleEntity (identity-based equality)
Descriptive concept without identityValue Object (immutable, attribute-based equality, side-effect-free)
Enforce invariants across related objectsAggregate (root entity, single boundary, transactional consistency)
Complex object creationFactory (enforces all invariants atomically)
Collection-like persistence accessRepository (only for Aggregate roots)
Operation belonging to no single objectDomain Service (stateless, Ubiquitous Language name)
Composable business rulesSpecification (isSatisfiedBy, and/or/not combinators)
Integration with external systemAnticorruption Layer (Façade + Adapter + Translator)
Shared model between teamsShared Kernel (explicit joint ownership)
API for many consumersOpen Host Service + Published Language
Core competitive advantageCore Domain distillation, Segregated Core

Code Generation Principles

  • Ubiquitous Language — Class/method/variable names reflect domain terms. No "Manager", "Helper", "Processor" in the domain layer.
  • Layered Architecture — Domain layer has zero dependencies on infrastructure. Infrastructure implements domain interfaces.
  • Entities — Identity-based equality. Focused on lifecycle behavior, not data bags.
  • Value Objects — Immutable. Attribute-based equality. Rich behavior (operations return new instances). Prefer over Entities when identity doesn't matter. Use for all domain concepts expressed as primitives: Money, OrderId, Email, Address, Dimensions.
  • Aggregates — Single root entity. All external access through root. Enforce invariants at boundaries. Keep small; reference other Aggregates by ID only.
  • Repositories — Collection-like interface. Domain layer defines the interface; infrastructure implements it. Only one Repository per Aggregate root.
  • Factories — Encapsulate complex creation. Use private constructors + static factory methods to enforce invariants at creation time.
  • Domain Services — Stateless. Named in Ubiquitous Language. Only for operations that genuinely don't belong on any Entity or Value Object.
  • Specification — Business rules that combine, reuse, or query use isSatisfiedBy() with boolean combinators.
  • Anticorruption Layer — Translate external models to your domain model. Domain interfaces know nothing about the external system.

Code Generation Output

Produce: (1) Ubiquitous Language glossary, (2) Aggregate design with invariants, (3) Value Objects, (4) Domain Services, (5) Repository interfaces, (6) Factory methods, (7) Application Services for use-case orchestration.


Mode 2: Code Review

Review Checklist

  1. Ubiquitous Language — Do names reflect domain concepts? No technical jargon in the domain layer?
  2. Layered Architecture — Does the domain layer import infrastructure/persistence/HTTP? Dependencies inverted?
  3. Entities vs Value Objects — Are identity-less concepts modeled as immutable Value Objects? Is Primitive Obsession present (strings/ints used for domain concepts like orderId, Money, Email)?
  4. Aggregates — Does the root enforce all invariants? Are external callers bypassing the root via setters? Are Aggregates small? Cross-Aggregate references by ID only?
  5. Repositories — Only for Aggregate roots? Collection-like interface? Domain layer free of persistence details?
  6. Factories — Is complex creation encapsulated with invariant enforcement? Private constructors + factory methods?
  7. Domain Services — Truly stateless? Named in domain language? Not overused (anemic model symptom)?
  8. Supple Design — Intention-Revealing Interfaces? Side-Effect-Free Functions? Conceptual Contours aligned?
  9. Strategic Design — Bounded Contexts identified? Integration patterns applied?
  10. Distillation — Core Domain getting the most design attention?

Anti-Patterns to Flag

  • Anemic Domain Model / Transaction Script masquerading as DDD — Entities with only getters/setters; all logic in service classes. Domain objects should have behavior, not just data. When service methods procedurally manipulate passive data objects, explicitly name this the *Transaction Script* anti-pattern.
  • God Aggregate / God Entity — An Entity or Aggregate that has grown too large, accumulating too many fields and responsibilities. Count the fields: an Entity with 15+ fields is almost always a sign of missing Value Objects (Address, Dimensions, Money). Keep Aggregates small; reference by ID.
  • Repository for non-roots — Only Aggregate roots get Repositories.
  • Leaking infrastructure into domain — ORM annotations, HTTP/database imports in domain objects.
  • Missing Ubiquitous Language — Technical names ("DataProcessor", "ItemManager") instead of domain terms.
  • Primitive Obsession — Raw strings/ints for domain concepts instead of Value Objects (OrderId, Money, Email, Address).
  • Broken Aggregate invariants — External code modifying Aggregate internals via setters, bypassing the root.
  • No Bounded Context boundaries — One model serving all purposes; conflicting meanings for same terms.
  • Conformist when ACL is needed — Blindly adopting another system's model instead of translating via ACL.
  • Smart UI / Fat Controller — Domain logic in UI or application layer.
  • Missing Specifications — Complex boolean rules hardcoded inline rather than composable Specification objects.

Review Output Format

## Summary
Domain model assessment: patterns applied, overall DDD alignment.

## Strengths
DDD patterns correctly applied (be specific and genuine).

## Issues Found
- **What**: the problem
- **Why it matters**: modeling/maintainability/correctness risk
- **Pattern to apply**: which DDD pattern fixes this
- **Suggested fix**: concrete code change

## Recommendations
Priority-ordered improvements (critical first).

Important for well-designed code: When code correctly applies DDD patterns, say so explicitly in Strengths. Do NOT manufacture issues to seem thorough. Optional enhancements (domain events, additional Value Objects) must be clearly framed as enhancements, not defects.


Mode 3: Domain Migration Planning

Produce a phased migration plan when users want to incrementally move toward DDD.

Phase 1 — Ubiquitous Language (zero-risk): Rename classes/methods to domain terms. Build a glossary. Definition of done: domain expert can read names without a translator.

Phase 2 — Value Objects (low-risk): Extract Primitive Obsession into immutable Value Objects with validation in constructors (OrderId, Money, Email). Replace one class at a time.

Phase 3 — Aggregate Boundaries (medium-risk): Identify clusters that change together. Designate roots. Remove external setters; enforce invariants via domain methods. Cross-Aggregate references by ID only.

Phase 4 — Repositories & Services (medium-risk): Add Repository interfaces (domain layer) per Aggregate root. Move persistence to infrastructure. Extract stateless Domain Services for cross-entity operations.

Phase 5 — Strategic Design (high-risk, optional): Map Bounded Contexts. Build Anticorruption Layers for external integrations. Apply Strangler Fig pattern for monolith migration.


General Guidelines

  • Be practical, not dogmatic. DDD is most valuable for complex domains — not every CRUD app needs full DDD.
  • Ubiquitous Language is foundational. No pattern compensates for misaligned naming.
  • Bounded Contexts before tactical patterns. Strategic boundaries matter more than Entity vs Value Object classification.
  • Keep Aggregates small. The most common DDD mistake is Aggregates that are too large.
  • For deeper reference, see references/patterns-catalog.md (generation) and references/review-checklist.md (review).

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.11%
按下载量换算42

Claude

29.42%
按下载量换算33

Cursor

20.23%
按下载量换算23

Gemini CLI

11.15%
按下载量换算12

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

来源信息

继续浏览同类 Skills