---
title: "public-cratis-ai"
description: "Cratis AI skills for event-sourced and CQRS application development"
canonical: https://agentpluginsdirectory.com/plugins/public-cratis-ai
last-updated: 2026-10-21
---

# public-cratis-ai
Cratis AI skills for event-sourced and CQRS application development
- Slug: public-cratis-ai
- Publisher: Cratis
- Repository: https://github.com/Cratis/AI.Distribution
- Manifest: plugin.json
- Version: 0.3.0
- License: MIT
- Category (editorial): other
- Skills: 29 (add-business-rule, add-projection, add-reducer, auth-and-identity, cratis-command, cratis-fundamentals-concept, cratis-react-page, cratis-readmodel, cratis-specs-csharp, cratis-specs-typescript, cratis-vertical-slice, create-event-model, cross-cutting-properties, diagnose-slice, discover-implementations, event-modeling, multi-tenancy, new-vertical-slice, query-paging, review-code, review-performance, review-security, scaffold-feature, stepper-command-dialog, toolbar, write-specs-events, write-specs-frontend, write-specs-readmodels, write-specs)
- MCP servers: 0
- Stars: 0
- Repository created: 2026-08-22
- Repository last pushed: 2026-10-09
- Publisher type: Organization
- Listing: https://agentpluginsdirectory.com/plugins/public-cratis-ai
- Schema: https://agent-plugins.org/schemas/1.0.0/plugin.schema.json

## What public-cratis-ai does, in the publisher's words

Passive skills for building event-sourced and CQRS applications with Cratis.

From the project README, punctuation lightly normalized. Full text: https://raw.githubusercontent.com/Cratis/AI.Distribution/HEAD/README.md

## Skills

- add-business-rule: Use this skill when asked to add a validation rule, business rule, or uniqueness constraint to an existing command in a Cratis-based project.
- add-projection: Use this skill when asked to add a Chronicle projection to a Cratis-based project. Favor model-bound projections by default, and only fall back to declarative/fluent `IProjectionFor<T>` projections when model-bound attributes cannot express the behavior cleanly. Enforces the AutoMap-first rule and…
- add-reducer: Use this skill when a read model genuinely needs an IReducerFor<T>, when model-bound projection attributes and fluent IProjectionFor<T> cannot express the state transition. Reducers are the last-resort escape hatch, not a default. Covers the admission checklist, method signatures, nullable-current…
- auth-and-identity: Use this skill for authentication, authorization, or identity in a Cratis Arc project, backend, frontend, or both. Covers identity providers (`IProvideIdentityDetails`), protecting commands/queries with authorization attributes, Microsoft Identity Platform, connecting backend identity to React, mu…
- cratis-command: Step-by-step guidance for creating a Cratis Arc command, [Command] record, Handle() method, CommandValidator, proxy generation, and React.use() hook with CommandDialog. Use when adding or creating a command, wiring up a form or button to the backend, working with IEventLog, CommandResult, Command…
- cratis-fundamentals-concept: Create strongly typed Cratis domain values with ConceptAs<T> and Chronicle event-source identities with EventSourceId<T>. Use when a C# domain value has meaning beyond its primitive or when an identity is actually used as a Chronicle event-source/stream ID. Do not use for enums, DTO-only transport…
- cratis-react-page: Step-by-step guidance for building a React page in a Cratis Arc application, DataPage lists, CommandDialog toolbar actions, confirmation and busy-indicator dialogs, row selection, details components, observable queries, and MVVM. Use when building or modifying a page that lists/displays data, addi…
- cratis-readmodel: Step-by-step guidance for creating a Cratis Chronicle read model from scratch, defining events, choosing between projection and reducer, [ReadModel] record with static query methods, and the generated TypeScript proxy in React. Use when creating a read model, working with [EventType], [ReadModel],…
- cratis-specs-csharp: Step-by-step guidance for writing C# specs in Cratis with BDD Specification by Example, the Establish/Because/should_ pattern, for_/when_/and_ folder hierarchy, reusable given/ contexts, NSubstitute mocking, and the in-process scenario family. Use when writing C# unit or integration specs or struc…
- cratis-specs-typescript: Step-by-step guidance for writing TypeScript specs in Cratis using BDD-style Specification by Example, the given()/describe/it pattern, for_/when_/ folder hierarchy, reusable context classes, Sinon mocking, and Chai assertions. Use whenever writing TypeScript specs or tests, creating spec files/fo…
- cratis-vertical-slice: Explains how vertical feature slices are structured in a Cratis Chronicle + Arc application, folder layout, the single backend.cs file, the four slice types (State Change/View/Automation/Translation), and how features compose slices. Use when asking how slices work, where files go, or which slice…
- create-event-model: Create and maintain Mermaid eventmodeling diagrams (EventModel.md) for a Cratis module or feature. Use when adding, renaming, moving, or deleting modules/features/slices, commands, events, read models, automations, translations, or cross-module event flows, to keep the diagram in sync with the cod…
- cross-cutting-properties
- diagnose-slice
- discover-implementations
- event-modeling
- multi-tenancy
- new-vertical-slice
- query-paging
- review-code
- review-performance
- review-security
- scaffold-feature
- stepper-command-dialog
- toolbar
- write-specs-events
- write-specs-frontend
- write-specs-readmodels
- write-specs

Descriptions come from the frontmatter of each SKILL.md, punctuation lightly normalized.
