rome: Skill for Claude Code

.claude/skills/ddd/SKILL.md

ddd is a skill for Claude Code from rome-os/rome. It costs 40 tokens per session (2,947 once invoked), scanned A, original, MIT.

A Domain-Driven Design guide that interviews a domain expert and turns their business knowledge into shared terms, a model, and implementation priorities. Domain-Driven Design is a way to shape software around the rules and language of the business it serves.

In plain words
What is it for?
Use it to define shared vocabulary, map relationships between parts of a domain, rank mismatches in the code, brief implementation work, and check for drift after changes are merged.
Why use it?
It exposes differences between what the code currently does and what the business says it should mean, reducing confusion at boundaries and during later changes.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is rome-os/rome's own configuration. It tells Claude Code how to work on rome itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything rome configures →

Reuse

Borrowing it

Nothing to install: this file belongs to rome-os/rome. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/rome-os/rome/main/.claude/skills/ddd/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/rome-os/rome

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ddd

README.md
[![agentmods](https://agentmods.dev/badge/skills/rome-os/rome/ddd/github.svg)](https://agentmods.dev/skills/rome-os/rome/ddd)
Your own site
<a href="https://agentmods.dev/skills/rome-os/rome/ddd"><img src="https://agentmods.dev/badge/skills/rome-os/rome/ddd/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ddd

Your own site · 80×15
<a href="https://agentmods.dev/skills/rome-os/rome/ddd"><img src="https://agentmods.dev/badge/skills/rome-os/rome/ddd.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 40 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,947 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00040 $0.02947
Opus 5.5 $0.00016 $0.01179
Sonnet 5.5 $0.00008 $0.00589
Haiku 4.5 $0.00004 $0.00295

Measured 5d ago against content hash 0deef241d68d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

ddd scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/ddd/SKILL.md · 160 lines

How it starts

The opening of the file, as written. The whole thing — 160 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Shared language and model, from interview to code

What this skill is for

A person knows what their domain is; the code only knows what it does today. This skill runs the whole Domain-Driven Design loop between them, so that the person, the AI and the code end up using one language:

  1. Interview the person as the domain expert until the words and their rules are settled.
  2. Write the language they can read and correct without knowing code.
  3. Shape the model: context map with direction, aggregates, and a walk of a real story through it.
  4. Map divergence: where today's code contradicts the model, ranked with the person.
  5. Hand off implementation in priority order, with the language as the brief.
  6. Check drift once the code has merged, and bring every gap back as a decision.

It is long-running. One pass can take dozens of rounds over a day or more, and the artifacts are living documents edited in place, not reports written once.

Code and model

The code is an authority on facts: what the system does today, how outside platforms behave, and what a change would cost. Read those yourself instead of asking, and report what the code does, not what its names imply. The code is not an authority on the model: whether a concept is right or where a boundary belongs is the person's call. ADRs and docs are the same as code here. Five rules follow from this:

  1. Two records. "Today" comes from the code and lives in the notes; the language holds what the person decides. The divergence map is where they meet.
  2. Today is never the default. Show today's behaviour as one labelled option among others. Recommending it needs a reason other than "it exists".
  3. Compare against the language, not the code. A new concept is tested against agreed words. A concept that exists only in code is a candidate to test, not a baseline.
  4. Cost decides when, not what. How hard a change is sets its priority in the divergence map; it never bends the model.
  5. Strain in the code becomes a question. Where the code's words pull apart, ask the person; don't copy the design.

Read the full file on GitHub · 160 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 160 lines · 40 tokens per session scan A 0deef241d68d

Subscribe to this mod's changes

ddd is a skill published in the GitHub repository rome-os/rome (871 stars, last pushed today), licensed MIT. It adds 40 tokens to every session and 2,947 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-22.

Related

Other skills, from other repositories

pm-assistant

Product operations assistant strategy contract. PM short answers and deep analysis should be evidence-grounded and should separate facts from hypotheses. Model calls, hooks, queueing, cancellation, notifications, and staged task execution stay in Rust.

programming-pupil/aos · 0 tokens

stale-sweep

Sweep the googleapis/mcp-toolbox repo for issues and PRs with no real activity in N days (default 60), sort each by whose silence it is (the author's, ours, or nobody's), and draft the nudge or close comment. Use whenever a maintainer asks for a stale sweep, backlog cleanup, or an SLO check, e.g. "stale sweep", "find…

googleapis/mcp-toolbox · 159 tokens

linear-tickets

Create or update high-quality Linear tickets while preserving the originating report, diagnostic links, attachments, and reporter/requester attribution. Read this whenever someone asks to create, recreate, or update a Linear issue.

langchain-ai/open-swe · 44 tokens

company-employee

The protocol every employee of a PenguinHarness organization follows — read the handbook first, act on [orgtrigger] work runs, schedule tickets from the desk session and do the work in ticket sessions, block instead of idling, ask the board in the all-hands channel before anything heavy, costly, irreversible or…

Prism-Shadow/penguin-harness · 85 tokens

company-ceo

Run a PenguinHarness organization as its CEO — turn the mission into a ticket tree, hire HR and finance first, partition the shared workspace, schedule the calendar, open a channel per stream, review tickets and report to the board in the all-hands channel.

Prism-Shadow/penguin-harness · 56 tokens

company-hr

Run HR for a PenguinHarness organization — guarantee every employee has an enabled calendar event, hire and offboard employees (channels included), evaluate and improve them (with the default-rsi-toolkit plugin's agent-optimization skill), and keep the handbook's role conventions current.

Prism-Shadow/penguin-harness · 58 tokens