Skip to content
Agent Orchestration
Skill

/ddd-validate

Validate domain boundaries -- detect cross-context import violations and aggregate invariant issues. Use when auditing a DDD codebase for leaks between bounded contexts, before merging cross-cutting changes, or as a CI gate to catch boundary erosion early.

From plugin
ruflo
80k200 skills169 agents196 commands3 MCP

Claude Code

$ npx -y skills add ruvnet/ruflo --skill ddd-validate --agent claude-code

SKILL.md

ddd-validate.SKILL.md
name: ddd-validate
description: Validate domain boundaries -- detect cross-context import violations and aggregate invariant issues. Use when auditing a DDD codebase for leaks between bounded contexts, before merging cross-cutting changes, or as a CI gate to catch boundary erosion early.
argument-hint: ""
allowed-tools: Bash Read Grep Glob mcp__plugin_ruflo-core_ruflo__memory_store mcp__plugin_ruflo-core_ruflo__memory_search mcp__plugin_ruflo-core_ruflo__hooks_pre-task mcp__plugin_ruflo-core_ruflo__hooks_post-task

Validate domain boundary integrity across all bounded contexts.

Steps

1. **Discover contexts**: Scan `src/*/domain/` to find all bounded contexts.

2. **Check cross-boundary violations**:

  • For each context, scan all `.ts` files for import statements
  • Flag any import that reaches into another context's `domain/` directory directly
  • Allowed: importing from another context's public `index.ts` (application layer)
  • Violation: importing from `src/<other-context>/domain/entities/...` directly
   # Find cross-boundary imports
   for ctx in $(find src -maxdepth 2 -name "domain" -type d | sed 's|src/||;s|/domain||'); do
     grep -rn "from ['\"].*src/" "src/$ctx/" --include="*.ts" | grep -v "src/$ctx/" || true
   done

3. **Check aggregate invariant enforcement**:

  • Scan aggregate root entities for public setters that bypass validation
  • Flag mutable public properties without invariant checks
  • Verify that child entities are not directly accessible (must go through aggregate root)

4. **Check event naming conventions**:

  • Domain events should be past-tense named (e.g., `OrderCreated`, not `CreateOrder`)
  • Events should be immutable (no public setters)
  • Events should carry the aggregate ID

5. **Check repository patterns**:

  • Repository interfaces should exist in `domain/repositories/`, not `infrastructure/`
  • Repository implementations should exist in `infrastructure/`, not `domain/`
  • Each aggregate root should have exactly one repository

6. **Report findings**:

  • Output a table of violations with file path, line number, violation type, and suggestion
  • Categorize as: `BOUNDARY`, `INVARIANT`, `EVENT`, `REPOSITORY`
  • Exit with summary: total violations, by category, severity

7. **Store results**:

   npx @claude-flow/cli@latest memory store --key "ddd-validation-TIMESTAMP" --value "RESULTS_SUMMARY" --namespace tasks
   npx @claude-flow/cli@latest hooks post-task --task-id "ddd-validate" --success true --store-results true
Read more
@ruvnet
Ships withruflo

📖 RuFlo Explained — Build an AI Team That Plans, Remembers, Tests, and Improves A 14-chapter guide: from the basic idea to a first useful task, then memory, agent teams, plugins, cost and verification. Agent = Model + Harness.

80k200 skills169 agents3 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
80.4k
Star history of ruvnet/ruflo on GitHub, a chart by star-history.com

Other skills on ruflo.

agentdb-advanced

agentdb-advanced

Master advanced AgentDB features including QUIC synchronization, multi-database management, custom distance metrics, hybrid…

@ruvnet@ruvnetInstall Skill
agentdb-learning

agentdb-learning

Create and train AI learning plugins with AgentDB's 9 reinforcement learning algorithms. Includes Decision Transformer,…

@ruvnet@ruvnetInstall Skill
agentdb-memory-patterns

agentdb-memory-pattern…

Implement persistent memory patterns for AI agents using AgentDB. Includes session memory, long-term storage, pattern learning,…

@ruvnet@ruvnetInstall Skill
agentdb-optimization

agentdb-optimization

Optimize AgentDB performance with quantization (4-32x memory reduction), HNSW indexing (150x faster search), caching, and batch…

@ruvnet@ruvnetInstall Skill
agentdb-vector-search

agentdb-vector-search

Implement semantic vector search with AgentDB for intelligent document retrieval, similarity matching, and context-aware…

@ruvnet@ruvnetInstall Skill
agentic-jujutsu

agentic-jujutsu

Quantum-resistant, self-learning version control for AI agents with ReasoningBank intelligence and multi-agent coordination

@ruvnet@ruvnetInstall Skill

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

clawdis12d393k
@steipete@steipeteInstall Skill
computer-use

computer-use

Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and…

orca12d111k
@stablyai@stablyaiInstall Skill
agentmail

agentmail

Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…

paperclip12d109k
@paperclipai@paperclipaiInstall Skill
bmad

bmad

Answers BMad questions and recommends the next skill from what is installed. Use when the user asks bmad for help, what to do…

@bmad-code-org@bmad-code-orgInstall Skill

Questions about ddd-validate.

Which coding agents can use ddd-validate?
ddd-validate installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.