excalidash-ddd-bounded-contexts

Generates and reviews Domain-Driven Design context maps in Excalidraw via MCP tools.

2|Updated Jun 17, 2026
One-click install
npx skills add https://github.com/gabedsam01/excalidash-v2 --skill excalidash-ddd-bounded-contexts-gabedsam01
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: excalidash-ddd-bounded-contexts
Source: https://github.com/gabedsam01/excalidash-v2/tree/main/skills/excalidash/excalidash-ddd-bounded-contexts
Command: npx skills add https://github.com/gabedsam01/excalidash-v2 --skill excalidash-ddd-bounded-contexts-gabedsam01

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Drawing a correct DDD context map by hand is error-prone: edges go unlabeled, aggregates leak across boundaries, and shared kernels get buried inside one context. This Skill produces or audits a strategic context map where every bounded context is its own frame, every cross-context edge carries a relationship pattern, and the result passes automated lint, scoring, and architecture validation. ## Core Features & Use Cases - Context map generation: Creates one frame per bounded context with aggregates, entities, value objects, the shared kernel straddling its two co-owners, and labeled domain-event arrows, using the Excalidash MCP tool chain. - Relationship labeling: Marks every inter-context edge with exactly one pattern (Partnership, Shared Kernel, Customer/Supplier with U/D, Conformist, Anticorruption Layer, Open Host Service, Published Language). - Reverse engineering and audit: Derives contexts and shared kernels from a codebase via repo analysis, or audits an existing map for unlabeled edges, leaked aggregates, dead events, and missing ACLs, then repairs until the score reaches 95 with zero blockers. - Use Case: Ask it to map an e-commerce domain with Ordering, Payments, Inventory, and Shipping contexts; it draws the frames, wires OrderPlaced and PaymentCaptured events, marks the Ordering-to-Inventory ACL, validates the architecture, and exports the drawing. ## Quick Start Ask the agent to draw a DDD context map for your domain, naming each bounded context, its aggregates, the shared kernel, the domain events, and the relationship pattern on each connection.

Frequently Asked Questions about excalidash-ddd-bounded-contexts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I draw a DDD context map with Excalidraw?

Describe your domain with each bounded context, its aggregates, the shared kernel, domain events, and relationships, then the skill creates one frame per context via the Excalidash MCP tools. It labels every cross-context edge with a pattern like Customer/Supplier or ACL and validates the result.

How to reverse-engineer bounded contexts from a codebase?

The skill uses create_from_repo_analysis with your module, entrypoint, database, service, and integration list, then groups modules into bounded contexts. Physically shared modules become the shared kernel and published or subscribed message types become domain events.

What relationship patterns can label edges in a context map?

Supported patterns are Partnership, Shared Kernel, Customer/Supplier with Upstream and Downstream markers, Conformist, Anticorruption Layer, Open Host Service, and Published Language. Every inter-context edge must carry exactly one pattern or validation fails.

When should I not use a DDD context map diagram?

Do not use it for the inside of a single context, which needs a tactical aggregate diagram, or for ports-and-adapters, clean architecture rings, C4 containers, CQRS flows, or broker topology. Those belong to the hexagonal, clean architecture, C4, or event-driven diagram skills.

Why does context map validation fail on my drawing?

Hard failures come from an unlabeled cross-context edge, an aggregate referenced across a boundary without an event or ACL, a dead event with no consumer, or a shared kernel not jointly owned. The repair loop fixes each finding and re-scores until reaching 95 with zero blockers.