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

arch-domain-driven拱形域驱动

Agent Skill

arch-domain-driven 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

367

周安装

15

GitHub Stars

4

下载量

118
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/alphaonedev/openclaw-graph --skill arch-domain-driven

简介

用于领域驱动设计实现,适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

  • 划分有界上下文与聚合根。
  • 适合复杂业务逻辑系统的代码组织。
  • 使用时需建立统一语言并隔离领域事件。
  • arch-domain-driven 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Purpose

This skill implements Domain-Driven Design (DDD) principles to structure code effectively. It helps generate and manage bounded contexts, aggregates, entities, value objects, and domain events, while promoting ubiquitous language for better team alignment.

When to Use

Use this skill for complex applications with rich domain logic, such as e-commerce platforms or financial systems, where clear boundaries reduce coupling. Apply it during architecture design phases to avoid monolithic codebases, especially when dealing with multiple subdomains or legacy integrations.

Key Capabilities

  • Generate bounded contexts with isolated modules for specific domains.
  • Define aggregates as clusters of entities with a single root for transaction consistency.
  • Create entities with identity and value objects for immutable data.
  • Handle domain events to trigger reactions, like publishing to event buses.
  • Enforce ubiquitous language by embedding domain terms into code and configurations.

Usage Patterns

Always begin by mapping the domain to identify bounded contexts. Use the skill to scaffold structures, then refine aggregates within contexts. For example, integrate with CI/CD by running generation commands in build scripts. Test incrementally: generate an entity, add it to an aggregate, and verify invariants. Avoid over-modeling by limiting contexts to high-cohesion areas, and use events for cross-context communication.

Common Commands/API

Interact via OpenClaw's CLI or REST API. Authentication requires setting $OPENCLAW_API_KEY in your environment.

CLI Commands:

  • Generate a bounded context: openclaw ddd generate-context --name MyContext --description "User management" --language python This creates a directory like ./my_context/ with subfolders for aggregates and entities.
  • Define an aggregate: openclaw ddd generate-aggregate --context MyContext --name AccountAggregate --root EntityName --invariants "balance > 0" Adds files like account_aggregate.py with the root entity and invariant checks.
  • Create an entity: openclaw ddd generate-entity --context MyContext --name UserEntity --properties "id:UUID, name:String"
  • Handle domain events: openclaw ddd generate-event --context MyContext --name UserCreatedEvent --payload "user_id:UUID"

API Endpoints:

  • POST /api/v1/ddd/contexts with JSON body: {"name": "MyContext", "description": "User management", "language": "python"} Requires header: Authorization: Bearer $OPENCLAW_API_KEY
  • POST /api/v1/ddd/aggregates with body: {"context": "MyContext", "name": "AccountAggregate", "root": "Account", "invariants": ["balance > 0"]}

Config Formats: Use YAML for configurations, e.g., in a .openclaw/config.yml file:

ddd:
  default_language: python
  contexts:
    - name: MyContext
      description: User management

Code Snippets:

  1. Generate and use a context in Python:
import openclaw.ddd as oc
oc.generate_context(name="MyContext", description="User management")
context = oc.load_context("MyContext")
  1. Define an aggregate in code:
from openclaw.ddd import Aggregate
class AccountAggregate(Aggregate):
    def __init__(self, account_id):
        self.root = Entity(account_id)  # Assuming Entity is generated

Integration Notes

Integrate by exporting $OPENCLAW_API_KEY=your_api_key before CLI/API calls. Add OpenClaw as a dependency in your project (e.g., pip install openclaw for Python). For IDEs, use plugins like VS Code extensions to trigger commands via keyboard shortcuts, such as binding openclaw ddd generate-context to a key. Chain with other tools: pipe CLI output to Git for auto-commits, or use webhooks to call API endpoints from services like Jenkins. Ensure compatibility by specifying language flags (e.g., --language java) to match your stack.

Error Handling

Always check CLI exit codes; non-zero indicates failure (e.g., if [$? -ne 0]; then echo "Error: Invalid input"; fi). For API calls, handle HTTP errors like 400 for validation failures or 401 for auth issues by checking response status. In code, wrap operations in try-except blocks:

try:
    oc.generate_aggregate(context="MyContext", name="InvalidAggregate", invariants=["invalid"])
except oc.DDDValidationError as e:  # Specific error for invariant checks
    print(f"Error: {e.message} - Fix invariants and retry")
except oc.AuthError as e:  # For $OPENCLAW_API_KEY issues
    print("Error: Authentication failed - Set $OPENCLAW_API_KEY")

Validate inputs upfront, e.g., ensure context names are alphanumeric via CLI flags like --validate.

Concrete Usage Examples

  1. Building a bounded context for an e-commerce order system: First, identify the domain: orders involve aggregates like Order and LineItems. Run: openclaw ddd generate-context --name OrderContext --description "Manages orders" --modules orders,items This outputs: ./order_context/orders.py and ./order_context/items.py. Next, add an aggregate: openclaw ddd generate-aggregate --context OrderContext --name OrderAggregate --root Order --invariants "total > 0" In code, import and use: from order_context.aggregates import OrderAggregate; order = OrderAggregate(order_id=1)
  2. Handling domain events in a user registration flow: Start by generating the event: openclaw ddd generate-event --context UserContext --name UserRegisteredEvent --payload "user_id:UUID, email:String" This creates ./user_context/events/user_registered_event.py. Then, trigger it via API: curl -H "Authorization: Bearer $OPENCLAW_API_KEY" -X POST /api/v1/ddd/events -d '{"context": "UserContext", "event": "UserRegisteredEvent", "payload": {"user_id": "123"}}' In your application code: oc.publish_event(context="UserContext", event="UserRegisteredEvent", payload={"user_id": "123"}) to notify other services.

Graph Relationships

  • Related to cluster: se-architecture (e.g., shares dependencies with other architecture skills).
  • Connected via tags: ddd (links to domain modeling tools), domain (connects to entity management skills), bounded-context (relates to microservices patterns), architecture (ties into se-architecture cluster for broader design tools).

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

35.28%
按下载量换算42

Claude

31.35%
按下载量换算37

Cursor

19.2%
按下载量换算23

Gemini CLI

8.44%
按下载量换算10

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

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

安装前确认

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

来源信息

继续浏览同类 Skills