このスキルは、ユーザーが「TDD」「テスト駆動開発」「FSD」「Feature-Sliced Design」「Clean Architecture」「DDD」「ドメイン駆動設計」「リファクタリング」「Red-Green-Refactor」「t-wada 式」について質問したとき、またはコード実装時にこれらのパターンを適用する必要があるときに使用する。
/plugin marketplace add tadokoro-ryusuke/cc-plugins/plugin install dev-core@cc-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Red 🔴 - 失敗するテストを書く
Green 🟢 - テストをパスさせる
Refactor 🔨 - 設計を改善する
Commit ✅ - 進捗を保存する
src/
├── app/ # アプリケーション層(ページ、グローバル設定)
├── widgets/ # ウィジェット層(ページ構成要素)
├── features/ # フィーチャー層(ユーザー向け機能)
├── entities/ # エンティティ層(ビジネスエンティティ)
└── shared/ # 共有層(UI、ユーティリティ、設定)
features/
└── client-management/
├── api/ # APIクライアント、サーバーアクション
├── model/ # ストア、型、ビジネスロジック
├── ui/ # UIコンポーネント
└── index.ts # パブリックAPI
// Domain層(entities)
interface ClientRepository {
findById(id: string): Promise<Client>;
}
// Application層(features)
class GetClientUseCase {
constructor(private repo: ClientRepository) {}
async execute(id: string) {
return await this.repo.findById(id);
}
}
// Infrastructure層(features/api)
class PrismaClientRepository implements ClientRepository {
async findById(id: string) {
return await prisma.client.findUnique({ where: { id } });
}
}
// エンティティ(識別子を持つ)
class Client {
constructor(
private readonly id: ClientId,
private name: ClientName,
private tags: Tag[]
) {}
}
// バリューオブジェクト(不変)
class ClientName {
constructor(private readonly value: string) {
if (value.length < 2) {
throw new Error("クライアント名は2文字以上必要です");
}
}
}
Build robust backtesting systems for trading strategies with proper handling of look-ahead bias, survivorship bias, and transaction costs. Use when developing trading algorithms, validating strategies, or building backtesting infrastructure.