Guide for creating optimized Claude Code agents. Use to design a new specialized agent, a swarm sub-agent, or a multi-agent workflow. Follows the Skill → Agent (preloaded skills) → Skill orchestration pattern.
日本語の概要は準備中です。原文の説明を表示しています。
Strategic DDD guide for this project. Use to split the domain into bounded contexts, define ubiquitous language, create new business modules, or analyze context boundaries. Tactical patterns follow Clean Architecture (see architecture skill).
日本語の概要は準備中です。原文の説明を表示しています。
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Read .claude/roles/architect.md — adopt this profile and follow all its rules.
This skill activates for high-level domain decisions:
Clean Architecture definitions take precedence over DDD tactical definitions.
We use DDD only at the strategic level (domain splitting, language). Tactical patterns (Entities, Use Cases, Gateways, Presenters) follow Clean Architecture.
| What we take from DDD | What we do NOT take |
|---|---|
| Bounded Contexts | Aggregates |
| Ubiquitous Language | Repositories (we have Gateways) |
| Context Mapping | Domain Events |
| Module splitting | Complex Value Objects |
"A Bounded Context delimits the applicability of a particular model." — Eric Evans
A Bounded Context = a module in modules/<context-name>/
Each BC is an autonomous package with its own public API.
Signs that a new BC is needed:
ReviewFlow example:
| Bounded Context | Responsibility |
|---|---|
review | Code review orchestration and result handling |
tracking | MR/PR assignment tracking and follow-up |
webhook | Inbound webhook processing (GitLab/GitHub) |
mcp | Model Context Protocol server and tools |
dashboard | Review statistics and visualization |
security | Secret detection and access control |
BCs communicate via their public APIs, like two independent packages.
// modules/tracking/index.ts (public API)
export { TrackAssignmentUseCase } from "./application/usecases/trackAssignment.usecase"
export { createTrackedMr } from "./domain/factories/trackedMrFactory"
export type { TrackingGateway } from "./application/ports/gateways/trackingGateway"
// modules/review/ imports from the public API
import { TrackAssignmentUseCase } from "@/modules/tracking"
| Allowed | Forbidden |
|---|---|
Import from another BC's index.ts | Directly import an internal file |
| Pass data (DTO, primitives) | Share mutable entities |
| Call an exposed Use Case | Access internal state |
// modules/review/application/usecases/triggerReview.usecase.ts
import { TrackAssignmentUseCase } from "@/modules/tracking" // Public API
export const triggerReview = async (data) => {
const trackAssignment = new TrackAssignmentUseCase(trackingGateway);
// ...
}
// FORBIDDEN - internal import
import { parseTrackingData } from "@/modules/tracking/domain/validators/trackingValidator"
"Use the model as the backbone of a language." — Eric Evans
Business vocabulary must be:
// Ubiquitous Language respected
class ReviewContext { ... }
class TrackedMr { ... }
function triggerReview() { ... }
function trackAssignment() { ... }
// Technical or ambiguous vocabulary
class Data { ... } // "Data" is not a business term
class ReviewRequest { } // "Request" vs "ReviewContext"?
function doReview() { } // "do" vs "trigger"?
Each BC maintains its glossary in /docs/business/glossary/<context>.md
# Glossary - Review
| Term | Definition |
|------|------------|
| ReviewContext | The full context for a code review (diff, MR metadata, threads) |
| TrackedMr | A merge request being tracked for review assignments |
| ReviewAction | An action to perform on the platform (comment, resolve, reply) |
| DiffMetadata | Parsed metadata from a merge request diff |
DDD - Identification
New domain identified: [name]
Questions to validate:
1. What business problem does it solve?
2. What are the specific terms?
3. What are the main entities?
4. Which existing BCs will use it?
Shall we explore these questions?
DDD - Ubiquitous Language
Proposed glossary for [context]:
| Term | Definition |
|------|------------|
| ... | ... |
Are these terms aligned with the business vocabulary?
DDD - Public API
Planned exports for [context]:
Entities: [list]
Use Cases: [list]
Types: [list]
Which other BCs will consume this API?
DDD - Structure
I will create:
modules/[context]/
├── index.ts # Public API
├── entities/
├── use-cases/
├── interface-adapters/
└── testing/
+ Glossary: docs/business/glossary/[context].md
Shall we create this structure?
After validation -> Switch to the Architecture skill for tactical details.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
Guide for creating optimized Claude Code agents. Use to design a new specialized agent, a swarm sub-agent, or a multi-agent workflow. Follows the Skill → Agent (preloaded skills) → Skill orchestration pattern.
日本語の概要は準備中です。原文の説明を表示しています。
Anti-overengineering guide based on YAGNI. Use before adding an architectural pattern, during code review, or to challenge an overly complex implementation.
日本語の概要は準備中です。原文の説明を表示しています。
Clean Architecture (Uncle Bob) guide for this project. Use when creating modules, entities, use cases, presenters, controllers, gateways, guards, services. Contains tactical patterns and structure conventions.
日本語の概要は準備中です。原文の説明を表示しています。
Audit documentation for duplication, staleness, language issues, and verbosity. Read-only — produces an actionable report.
日本語の概要は準備中です。原文の説明を表示しています。
Local auto-review of modified code (no GitLab/GitHub). Runs 5 sequential audits and generates a local report. Ideal for validating code before creating a MR/PR.
日本語の概要は準備中です。原文の説明を表示しています。
Clean Code (Robert C. Martin) guide to produce and challenge code that is readable, durable, simple, and consistent. Covers naming, functions, comments, smells, and refactor heuristics. Complements `/solid` (SOLID principles) and `/anti-overengineering` (YAGNI/KISS). Activate during the REFACTOR phase of the TDD cycle and during implementation self-review.
日本語の概要は準備中です。原文の説明を表示しています。