aggregate-designer

Plan Domain-Driven Design aggregates with event storming and generate markdown documentation.

1|Updated Feb 12, 2026
One-click install
npx skills add https://github.com/dev-goraebap/grimoire --skill aggregate-designer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: aggregate-designer
Source: https://github.com/dev-goraebap/grimoire/tree/main/ddd-workshop/skills/aggregate-designer
Command: npx skills add https://github.com/dev-goraebap/grimoire --skill aggregate-designer

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

The aggregate-designer skill automates the creation and documentation of design-level domain aggregates, aligning event-storming outputs with formal structures for consistent BC design.

Core Features & Use Cases

  • Design-Level Event Storming: derive aggregate boundaries, invariants, policies, and read paths from explicit event flows.
  • Exposed Queries: define and cross-check read contracts with screen-inventory to ensure real usage signals.
  • Structured documentation: produce a single aggregate document at docs/shared/contexts/<bc>/<aggregate>.md that stakeholders can reference.

Quick Start

Create an aggregate for a BC using the canvas and templates, then save the result to docs/shared/contexts/<bc>/<aggregate>.md.

Frequently Asked Questions about aggregate-designer

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

FAQPage Schema
How do I document domain aggregate boundaries using event storming outputs?

Domain aggregate design derives aggregate boundaries, invariants, policies, and read paths from explicit event flows. The skill automates this by aligning event-storming outputs into a structured markdown document for consistent bounded context design.

What is the best way to separate invariants and policies in DDD aggregate documentation?

Separating invariants and policies in DDD aggregate documentation involves defining business rules as invariants and cross-aggregate reactions as policies. The skill enforces this required structure, generating dedicated sections to keep aggregate boundaries and external dependencies clearly isolated.

How do I define exposed queries and read models for a bounded context?

Exposed queries and read models are defined by identifying read contracts and cross-checking them with screen-inventory signals. The skill enforces an Exposed Queries section to ensure read paths reflect real usage within the bounded context.

Can I generate design-level aggregate documents for supporting and generic subdomains?

Yes, design-level aggregate documents can be generated for Core, Supporting, and Generic contexts within a bounded context. The skill targets these varied subdomains to produce standardized markdown artifacts for each specified aggregate.

Do I need external dependencies to plan and publish domain aggregate designs?

No external dependencies are required to plan and publish domain aggregate designs. The skill operates independently with its internal references component to enforce the required document structure, domain events, and read models.

Where should I save generated DDD aggregate documentation for stakeholder reference?

Generated DDD aggregate documentation should be saved to docs/shared/contexts/<bc>/<aggregate>.md. The skill produces a single markdown document at this path so stakeholders can easily reference the aggregate design.