Skip to content

AI skills and plugins

The Cratis Stack

Teach your assistant the Cratis way

A general-purpose assistant knows C# and TypeScript. It does not know why a Cratis command returns its event from Handle(), why a projection consumes events instead of another read model, or why generated proxies are never hand-edited. Cratis AI supplies that framework context as reviewed guidance, so you do not have to repeat it in every prompt.

Cratis authors everything in one place, Cratis/AI, under .cratis/ai. It holds five kinds of content:

KindWhat it doesExample
RulesStanding guidance the harness loads without being asked; some apply to every file, some only to matching pathsC# and TypeScript conventions, the vertical-slice rules for applications
SkillsA focused workflow the agent loads when a task matchescratis-chronicle-projection
PromptsA slash command that starts a workflownew-vertical-slice
AgentsSubagent definitions a harness can delegate tospec-writer, security-reviewer
HooksScripts that run the repository’s quality gates at points in an agent sessionThe Cratis quality gate

Skills are Markdown instructions and references. They contain no executable code. Hooks run commands, so they only arrive through channels that install them into your repository or Pi.

cratis ai install

marketplace manifests

npm release

Cratis/AI

.cratis/ai

Your repository

rules, skills, prompts, agents, hooks

Claude Code, Codex,

Copilot, Cursor plugin

skills only

@cratis/pi

skills, rules, prompts, agents, hooks

.cratis/ai/rules/project.md

your project context

ChannelRulesSkillsPromptsAgentsHooksVersion
cratis ai installYes, by profile and languageYes, by profileYesYesYesCurrent main, or a --source checkout
Marketplace plugin (cratis@cratis)NoAllNoNoNoDefault branch, unpinned
@cratis/piYesYes, by .cratis/ai.json if presentYesYesYesnpm version

Every channel reads the same skill files, so a projection skill teaches the same thing in Claude Code as in Copilot. The agent harness guide has the install command for each tool, and Cratis AI distribution explains the versioning.

A skill is used when a request matches it; the agent then follows a Cratis workflow instead of improvising. The skill names start with cratis-:

  • Model before you build: cratis-chronicle-event-modeling, cratis-event-model-diagram, and the cratis-screenplay-* skills for Screenplay models.
  • Build one artifact by convention: cratis-arc-command, cratis-arc-command-validation, cratis-chronicle-read-model, cratis-chronicle-projection, cratis-chronicle-reducer, cratis-chronicle-reactor, cratis-chronicle-event-constraints, cratis-fundamentals-concept, cratis-arc-react-page.
  • Change what already exists: cratis-chronicle-event-type-migration, cratis-arc-ef-core-migration.
  • Compliance and tenancy: cratis-chronicle-compliance, cratis-chronicle-multi-tenancy, cratis-arc-authentication-authorization-and-identity.
  • Specs: cratis-application-slice-specifications, cratis-chronicle-event-specifications, cratis-chronicle-read-model-specifications, cratis-specifications-csharp, cratis-specifications-typescript.
  • Review: cratis-code-review, cratis-security-review, cratis-performance-review.
  • Operate a running store: cratis-chronicle-cli-operations, cratis-chronicle-mcp-inspection, cratis-cli-terminal-workbench, cratis-chronicle-web-workbench.
  • Client languages: cratis-chronicle-client-dotnet, cratis-chronicle-client-typescript, cratis-chronicle-client-kotlin, cratis-chronicle-client-elixir, and the Kotlin Arc skills.

Prompts start larger workflows: new-vertical-slice, scaffold-feature, add-concept, add-projection, add-reactor, add-reducer, add-business-rule, add-ef-migration, write-specs, write-documentation, code-review, and review-pr. They come with the managed install and @cratis/pi, not with the marketplace plugin.

A Cratis framework repository selects an engineering profile instead of an application profile, so the application vertical-slice rules are not installed there. Profiles explains the choice.

Operating a live store is a separate surface

Section titled “Operating a live store is a separate surface”

Executable Chronicle operations live in the documented CLI and the Chronicle MCP server, each with its own authentication and confirmation boundaries. The skills describe how to use those tools; they do not carry their own way into your store.

Do not copy configuration between repositories

Section titled “Do not copy configuration between repositories”

Do not copy .cratis/ai, .claude, .github, .agents, or .pi trees from one repository to another. A copy goes stale without anyone noticing, and a consuming repository must not become an accidental distributor of the corpus. Install through a channel instead, and keep only your project’s own context in the repository.

Get the skills and the operating tools today

Section titled “Get the skills and the operating tools today”
  1. Coding guidance: run cratis ai install in the repository (Start using Cratis AI), or install a plugin for one tool.
  2. Operating tools: run cratis init in your project to give the assistant the CLI catalog, then connect Chronicle MCP when your host and authorization policy allow it.