Skill Claude CodeCodex
Use this skill when asked to add a validation rule, business rule, or uniqueness constraint to an existing command in a Cratis-based project.
Free, MIT-licensed AI skills, rules, and agent guidance for building event-sourced and CQRS applications with the Cratis ecosystem (preview).
Skill Claude CodeCodex
Use this skill when asked to add a validation rule, business rule, or uniqueness constraint to an existing command in a Cratis-based project.
Skill Claude CodeCodex
Use this legacy local skill name when creating a strongly typed Cratis domain value or Chronicle event-source identity. Apply the same product-authoritative rules as the canonical cratis-fundamentals-concept skill; do not use it for enums, DTO-only values, arbitrary non-stream IDs, or event migration.
Skill Claude CodeCodex
Use this skill when creating a NEW Cratis documentation page under Documentation/ (tutorial, how-to, explanation, reference, or recipe). Handles where the file goes (which product repo), sidebar wiring (toc.yml + Diátaxis bucket), and verifying it renders. Trigger on add/create/write a new docs page, document a new…
Skill Claude CodeCodex
Use this skill when asked to add a database table, column, relationship, or other schema change via Entity Framework Core in a Cratis-based project.
Skill Claude CodeCodex
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 projections when model-bound attributes cannot express the behavior cleanly. Enforces the AutoMap-first rule and Chronicle-specific join…
Skill Claude CodeCodex
Use this skill when asked to add a Chronicle reactor (automation or translation) to a Cratis-based project. Reactors observe events and produce side effects.
Skill Claude CodeCodex
Use this skill when a read model genuinely needs an IReducerFor — when model-bound projection attributes and fluent IProjectionFor cannot express the state transition. Reducers are the last-resort escape hatch, not a default. Covers the admission checklist, method signatures, nullable-current handling, passivity, and…
Skill Claude CodeCodex
Use this skill when asked to add OpenTelemetry tracing to a class in a Cratis Chronicle Kernel project. Produces Traces.cs companion files using the [Span] source-generator pattern from Cratis.Traces, registers IActivitySource as a keyed DI service, and injects it into the target class.
Skill Claude CodeCodex
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, multi-tenant identity…
Skill Claude CodeCodex
Execute a Cratis Arc command from backend code via ICommandPipeline — the scopeless and scoped overloads, typed Execute , pre-flight Validate, and reading CommandResult. Use when a reactor, background job, scheduled task, integration test, or backend service needs to run a command without going through HTTP.
Skill Claude CodeCodex
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, CommandValidator…
Skill Claude CodeCodex
Reference for Cratis C# coding conventions — formatting, naming, records, nullable handling, exceptions, logging, and DI. Use whenever writing C# in a Cratis project, deciding between record vs class, checking naming rules, applying formatting conventions, handling null safety, creating exception types, or asking "how…
Skill Claude CodeCodex
Step-by-step guidance for building a React page in a Cratis Arc application — DataPage lists, CommandDialog toolbar actions, row selection, details components, observable queries, and MVVM. Use when building or modifying a page that lists/displays data, adding a table, wiring Add/Edit/Delete, or connecting a component…
Skill Claude CodeCodex
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], IProjectionFor…
Skill Claude CodeCodex
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 structuring the for/when/and…
Skill Claude CodeCodex
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/folders, using the…
Skill Claude CodeCodex
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 type to choose. To…
Skill Claude CodeCodex
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 code.
Skill Claude CodeCodex
Attach audit/correlation metadata to every appended Cratis event without polluting event types — via ICanProvideAdditionalEventInformation, plus event tags and the built-in EventContext fields. Use for correlation IDs, tenant/actor context, and other cross-cutting concerns that should travel with events but are not…
Skill Claude CodeCodex
Use this skill to diagnose why a Cratis slice misbehaves — read model not updating, TypeScript proxy missing, command rejected unexpectedly, projection/observer quarantined, AutoMap mismatch, reactor side effects not appended, or specs flaking. Symptom → likely cause → the rule/skill that owns the fix. Use when…
Skill Claude CodeCodex
Use this skill when asked to wire up a type that needs to enumerate every implementation of an interface (handlers, strategies, filters, validators, formatters, providers) in a Cratis-based C# project. Enforces IInstancesOf over IEnumerable and removes hand-maintained DI registrations.
Skill Claude CodeCodex
Use this skill to change, fix, or improve Cratis documentation whose source is under Documentation/ in a product or contributing repo. Docs are split across repos (each product owns its Documentation/ folder; the Documentation repo aggregates), so it finds the real source file, edits, syncs, and verifies. Trigger on…
Skill Claude CodeCodex
Design a Cratis event model before writing code — decide stream boundaries, commands, events, read models, automations/translations, compliance subjects, and the spec outline. Use this when behavior, event vocabulary, stream boundaries, or a multi-slice flow is not yet settled, before implementing a slice.
Skill Claude CodeCodex
Evolve a Cratis Chronicle event schema without breaking replay — add a new generation and an EventTypeMigration so old stored events upcast into the new shape. Use when an event needs a new required property, a renamed property, or a structural change after events of the prior shape already exist.