shared-kernel-generator

Generate standardized .NET shared domain modules as NuGet packages.

2|Updated Jan 31, 2026
One-click install
npx skills add https://github.com/michaelalber/ai-toolkit --skill shared-kernel-generator
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: shared-kernel-generator
Source: https://github.com/michaelalber/ai-toolkit/tree/main/skills/shared-kernel-generator
Command: npx skills add https://github.com/michaelalber/ai-toolkit --skill shared-kernel-generator

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill automates the creation of standardized, reusable .NET domain modules (shared kernels) that form the backbone of vertical slice architecture, reducing boilerplate code and enforcing best practices.

Core Features & Use Cases

  • Standardized Module Generation: Scaffolds complete .NET modules following DenaliDataSystems patterns, including entities, CQRS commands/queries, DbContext, DI extensions, and options configuration.
  • Enforces Best Practices: Ensures adherence to principles like Options Pattern, single DI entry point, and cross-module FK-only references.
  • Use Case: When starting a new microservice or module that needs to be shared across multiple applications, use this Skill to generate the foundational structure, ensuring consistency and maintainability from the outset.

Quick Start

Use the shared-kernel-generator skill to create a new module named 'Inventory' for DenaliDataSystems.

Frequently Asked Questions about shared-kernel-generator

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

FAQPage Schema
How do I scaffold a reusable .NET shared kernel for vertical slice architecture?

Scaffolding a .NET shared kernel generates standardized domain modules as NuGet packages, providing core abstractions, entity templates, and DbContext patterns to enforce consistency across multiple applications.

What is a shared kernel in domain-driven design and when do I need one?

A shared kernel in domain-driven design is a reusable domain module that forms the backbone of vertical slice architecture. You need one when starting a new microservice that must be shared across multiple applications to ensure maintainability.

How do I generate CQRS command and query templates for a .NET domain module?

Generating CQRS command and query templates for a .NET domain module requires scaffolding core abstractions and strict constraint adherence, providing standardized command/query templates that enforce best practices within vertical slice architecture.

Does this .NET module scaffolder enforce cross-module reference constraints?

Yes, the .NET module scaffolder enforces strict constraints on contracts, configuration, DI, permissions, and cross-module FK-only references to ensure standardized domain modules and maintainable vertical slice architecture.

Can I use the Options pattern for configuration in a generated .NET shared kernel?

Yes, the generated .NET shared kernel explicitly scaffolds Options pattern configuration alongside single DI extension methods and permission models to ensure strict adherence to established architectural best practices.

What are the limitations of scaffolding .NET domain modules with a shared kernel generator?

The shared kernel generator requires strict adherence to DenaliDataSystems patterns and constraints on contracts and cross-module references, meaning it is best suited for specific vertical slice architecture contexts rather than unrestricted module design.