
V3 Core Implementation
Implement claude-flow v3 core modules with DDD domains, clean architecture, DI, and tested TypeScript for agent orchestration codebases.
Overview
V3 Core Implementation is an agent skill for the Build phase that implements claude-flow v3 core TypeScript modules using DDD, clean architecture, and comprehensive testing.
Install
npx skills add https://github.com/ruvnet/ruflo --skill v3-core-implementationWhat is this skill?
- DDD bounded contexts: task-management, session-management, health-monitoring, lifecycle domains
- Microkernel pattern with claude-flow-kernel, domain-registry, and plugin-loader
- Clean architecture layering with entities, value objects, services, repositories, and domain events
- Parallel Task() quick-start snippets for foundation plus domain implementers
- Emphasis on comprehensive TypeScript test coverage for core modules
- Documents multiple DDD bounded contexts including task-management, session-management, and health-monitoring
- Core tree includes kernel (claude-flow-kernel, domain-registry, plugin-loader) plus per-domain layers
Adoption & trust: 628 installs on skills.sh; 58.5k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your agent orchestration repo lacks clear domain boundaries and you need a repeatable structure for claude-flow v3 core code.
Who is it for?
Solo maintainers or small teams building or hardening claude-flow v3-style agent kernels in TypeScript.
Skip if: Builders who only consume prebuilt claude-flow binaries and never touch src/core domain code.
When should I use this skill?
Implementing or refactoring claude-flow v3 core TypeScript modules with DDD domains, clean architecture, dependency injection, and tests.
What do I get? / Deliverables
You get a documented DDD folder layout, kernel/plugin wiring, and parallel domain implementation tasks with test coverage expectations.
- src/core domain modules with entities and services
- Kernel and plugin-loader integration
- Test suites for core domains
Recommended Skills
Journey fit
Core module implementation is squarely in the build phase when you are shipping the agent platform itself, not validating the idea. Backend subphase matches domain entities, repositories, kernel, and services rather than UI or docs-only work.
How it compares
An architecture implementation playbook—not a single integration skill or a UI generator.
Common Questions / FAQ
Who is v3 core implementation for?
TypeScript developers implementing or refactoring the claude-flow v3 core: domains, kernel, plugins, and repository layers.
When should I use v3 core implementation?
During build/backend when scaffolding DDD modules, adding a new bounded context, or aligning an agent codebase with clean architecture before ship.
Is v3 core implementation safe to install?
The skill describes code structure and Task invocations; review the Security Audits panel on this Prism page and treat any generated shell tasks like normal repo changes.
SKILL.md
READMESKILL.md - V3 Core Implementation
# V3 Core Implementation ## What This Skill Does Implements the core TypeScript modules for claude-flow v3 following Domain-Driven Design principles, clean architecture patterns, and modern TypeScript best practices with comprehensive test coverage. ## Quick Start ```bash # Initialize core implementation Task("Core foundation", "Set up DDD domain structure and base classes", "core-implementer") # Domain implementation (parallel) Task("Task domain", "Implement task management domain with entities and services", "core-implementer") Task("Session domain", "Implement session management domain", "core-implementer") Task("Health domain", "Implement health monitoring domain", "core-implementer") ``` ## Core Implementation Architecture ### Domain Structure ``` src/ ├── core/ │ ├── kernel/ # Microkernel pattern │ │ ├── claude-flow-kernel.ts │ │ ├── domain-registry.ts │ │ └── plugin-loader.ts │ │ │ ├── domains/ # DDD Bounded Contexts │ │ ├── task-management/ │ │ │ ├── entities/ │ │ │ ├── value-objects/ │ │ │ ├── services/ │ │ │ ├── repositories/ │ │ │ └── events/ │ │ │ │ │ ├── session-management/ │ │ ├── health-monitoring/ │ │ ├── lifecycle-management/ │ │ └── event-coordination/ │ │ │ ├── shared/ # Shared kernel │ │ ├── domain/ │ │ │ ├── entity.ts │ │ │ ├── value-object.ts │ │ │ ├── domain-event.ts │ │ │ └── aggregate-root.ts │ │ │ │ │ ├── infrastructure/ │ │ │ ├── event-bus.ts │ │ │ ├── dependency-container.ts │ │ │ └── logger.ts │ │ │ │ │ └── types/ │ │ ├── common.ts │ │ ├── errors.ts │ │ └── interfaces.ts │ │ │ └── application/ # Application services │ ├── use-cases/ │ ├── commands/ │ ├── queries/ │ └── handlers/ ``` ## Base Domain Classes ### Entity Base Class ```typescript // src$core$shared$domain$entity.ts export abstract class Entity<T> { protected readonly _id: T; private _domainEvents: DomainEvent[] = []; constructor(id: T) { this._id = id; } get id(): T { return this._id; } public equals(object?: Entity<T>): boolean { if (object == null || object == undefined) { return false; } if (this === object) { return true; } if (!(object instanceof Entity)) { return false; } return this._id === object._id; } protected addDomainEvent(domainEvent: DomainEvent): void { this._domainEvents.push(domainEvent); } public getUncommittedEvents(): DomainEvent[] { return this._domainEvents; } public markEventsAsCommitted(): void { this._domainEvents = []; } } ``` ### Value Object Base Class ```typescript // src$core$shared$domain$value-object.ts export abstract class ValueObject<T> { protected readonly props: T; constructor(props: T) { this.props = Object.freeze(props); } public equals(object?: ValueObject<T>): boolean { if (object == null || object == undefined) { return false; } if (this === object) { return true; } return JSON.stringify(this.props) === JSON.stringify(object.props); } get value(): T { return this.props; } } ``` ### Aggregate Root ```typescript // src$core$shared$domain$aggregate-root.ts export abstract class AggregateRoot<T> extends Entity<T> { private _version: number = 0; get version(): number { return this._version; } protected incrementVersion(): void { this._version++; } public applyEvent(event: DomainEvent): void { this.addDomainEvent(event); this.incrementVersion(); } } ``` ## Task Management Domain Implementation ### Task Ent