Skip to main content
skill CX Codex

m09-domain — Claude Code skill: what it does, how to install

Domain-driven design guide for structuring Rust code. Helps your coding agent organize entities, aggregates, and value objects under Rust ownership.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add actionbook/rust-skills --skill m09-domain -a claude-code
Open on GitHub

What m09-domain does

This skill translates DDD patterns into idiomatic Rust constructs. It directs the assistant to represent entities with unique IDs, wrap plain data into validated Newtypes, and keep aggregate boundaries tight inside dedicated modules. The root struct owns its child items directly instead of leaking references outside.

Inside, repository patterns translate to traits, domain state transitions map to the type-state pattern, and domain events become enums. The guidelines actively warn the assistant against primitive obsession, public fields that bypass invariants, and exposed aggregate internals.

Notice that this skill is configured as non-user-invocable. You do not trigger it with a slash command; the agent activates it on its own when domain concepts, business invariants, or aggregate design enter the conversation.

What it helps with

  • model domain entities and value objects in Rust
  • enforce aggregate boundaries and clear data ownership
  • protect domain invariants through validated constructors
  • abstract persistence layers with repository traits

Example prompts for the agent

  • Design an Order aggregate with OrderItem lines using DDD principles
  • Create an Email value object with validation in the constructor
  • How do I enforce state transitions for this entity with type states?

How to install m09-domain

1Skills CLI (Vercel)

npx skills add actionbook/rust-skills --skill m09-domain -a claude-code

2Manually: put the files in place

~/.claude/skills/m09-domain/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/m09-domain/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about m09-domain

How to install m09-domain in Claude Code?

Run npx skills add actionbook/rust-skills --skill m09-domain -a claude-code in your terminal.

What does m09-domain do?

It guides the agent through domain-driven design in Rust, mapping entities, aggregates, and value objects to ownership trees and type safety.

Can I run this skill with a slash command?

No, it is set to non-invocable. Your assistant loads it automatically whenever you discuss business rules, invariants, or domain modeling.

Similar skills

All skills for Programming languages →

From the same set33

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor