ln-720-structure-migrator について
ln-720-structure-migratorは、プロジェクトの足場作成やClean Architectureへの移行を調整するスキルです。CREATEとTRANSFORMの各モードに応じて専門スキルへ作業を委譲し、結果を検証します。
主な機能
- 01CREATEとTRANSFORMのモード
- 02プロジェクト構成の分析と計画
- 03専門スキルへの作業委譲
- 04最終構成とビルドの検証
活用シーン
- 01Reactと.NETのプロジェクト構成を作成
- 02既存プロジェクトをClean Architectureへ移行
- 03シードデータの生成または移行
- 04再構成後のビルドとインポートを確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-720-structure-migratorインストール後、Claude Code で/ln-720-structure-migratorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/clean_architecture_dotnet.mdfrontend_structure.mdmeta_analysis_protocol.md詳細
パス: ファイルパス(
references/、../ln-*)は、このスキルディレクトリを基準とします。
ln-720-structure-migrator
タイプ: L2 ドメインコーディネーター
カテゴリ: 7XX プロジェクトのブートストラップ
親: ln-700-project-bootstrap
プロジェクトをクリーンアーキテクチャに再構成する作業を調整します。モードに応じて、CREATE/TRANSFORM パイプラインに基づいた適切なモードパラメーターを指定し、ワーカーに委任します。
目的と範囲
| 項目 | 説明 |
|---|---|
| 入力 | ln-700 から受け取る現在のプロジェクト構造とモード(CREATE/TRANSFORM) |
| 出力 | クリーンアーキテクチャに再構成されたプロジェクト |
| ワーカー | 下記の「ワーカー」表を参照 |
ワーカー
| ワーカー | 役割 | CREATE モード | TRANSFORM モード |
|---|---|---|---|
| ln-721 | フロントエンド構造 | SCAFFOLD(スターターを生成) | RESTRUCTURE(モノリスを移行) |
| ln-722 | バックエンドジェネレーター | RUN(バックエンドを生成) | RUN(バックエンドを生成) |
| ln-723 | シードデータ | GENERATE(エンティティから生成) | MIGRATE(ORM スキーマから移行) |
| ln-724 | 成果物クリーナー | スキップ(成果物なし) | 条件付き(プラットフォームが検出された場合のみ) |
範囲の境界:
- 現在のプロジェクト構造を分析する(TRANSFORM)、またはターゲット設定を受け取る(CREATE)
- 移行計画またはスキャフォールド計画を生成する
- Agent ツールを介して専門ワーカーに委任する
- 最終結果を検証する
ワークフロー
| フェーズ | 名前 | CREATE モード | TRANSFORM モード |
|---|---|---|---|
| 1 | 分析 | ターゲットスタック設定を受け取る | 構造をスキャンし、フレームワークを検出して、ファイルを対応付ける |
| 2 | 計画 | スキャフォールドの作業を算出する | 移動する項目を算出し、競合を特定する |
| 3 | 実行 | 委任:ln-721 SCAFFOLD → ln-722 → ln-723 GENERATE | 委任:ln-724(条件付き)→ ln-721 RESTRUCTURE → ln-722 → ln-723 MIGRATE |
| 4 | 検証 | ファイル構造を確認し、設定を検証する | ビルドを実行し、インポートを確認して、構造を検証する |
ターゲット構造
フロントエンド(React)
src/frontend/
├── public/
├── src/
│ ├── components/
│ │ ├── layout/ # AppLayout, Header, Sidebar
│ │ └── ui/ # Reusable UI components
│ ├── contexts/ # React contexts
│ ├── hooks/ # Custom hooks
│ ├── lib/ # Utilities, API clients
│ ├── pages/ # Page components
│ │ └── {Feature}/ # Feature-specific files
│ ├── App.tsx
│ ├── main.tsx
│ └── index.css
├── package.json
├── vite.config.ts
└── tsconfig.json
バックエンド(.NET クリーンアーキテクチャ)
src/
├── {Project}.Api/
│ ├── Controllers/
│ ├── DTOs/
│ ├── Middleware/
│ ├── MockData/
│ ├── Extensions/
│ ├── Program.cs
│ └── appsettings.json
├── {Project}.Domain/
│ ├── Entities/
│ ├── Enums/
│ └── Common/
├── {Project}.Services/
│ └── Interfaces/
├── {Project}.Repositories/
│ └── Interfaces/
└── {Project}.Shared/
委任プロトコル
ln-724(成果物クリーナー)への委任
呼び出す条件: TRANSFORM モードで、プラットフォーム成果物(.replit、.stackblitzrc、sandbox.config.json、glitch.json)が検出された場合。
スキップ条件: CREATE モード、またはプラットフォーム設定ファイルが見つからない場合。
Context:
projectPath: /project
skipPreview: false
Options:
# ln-724 auto-detects platform, no need to specify
cleanConfigFiles: true
cleanDirectories: true
cleanPackages: true
cleanBuildConfig: true
cleanCodeComments: true
cleanGitignore: true
ln-721(フロントエンド)への委任
Context:
mode: SCAFFOLD | RESTRUCTURE # From pipeline mode
# SCAFFOLD mode:
targetPath: /project/src/frontend
projectName: MyApp
# RESTRUCTURE mode:
sourcePath: /project/client
targetPath: /project/src/frontend
framework: react
features:
- Dashboard
- Settings
- Profile
Options:
# RESTRUCTURE only:
splitMonolithicFiles: true
extractConstants: true
extractTypes: true
createComponentLibrary: true
ln-722(バックエンド)への委任
Context:
projectName: MyApp
targetPath: /project/src
targetFramework: net10.0
features:
- Dashboard
- Users
Options:
createMockData: true
addSwagger: true
addHealthChecks: true
ln-723(シードデータ)への委任
Context:
mode: MIGRATE | GENERATE # From pipeline mode
targetFormat: csharp | typescript | python | json | sql
# MIGRATE mode:
sourceORM: auto # Auto-detect (drizzle/prisma/typeorm/efcore/sqlalchemy/django)
sourcePath: /project/references/schema.ts
# GENERATE mode:
entities: # Optional — if empty, starter template used
- name: User
fields: [id, name, email, role, createdAt]
- name: Role
fields: [id, name, description]
targetPath: /project/src/MyApp.Api/MockData
重要なルール
- オーケストレーターパターン: 分析と委任には Skill ツールを使用し、変換を直接実行しない
- モードの把握: すべてのワーカーに正しいモードを渡す。CREATE と TRANSFORM の違いによって、ワーカーの動作が決まります
- 条件付きワーカー: ln-724 は TRANSFORM モードでプラットフォーム成果物が検出された場合にのみ実行し、それ以外はスキップする
- ワーカーの逐次実行: 指定の順序で実行する(ln-724 は条件付き → ln-721 → ln-722 → ln-723)
- 事前チェック: git のステータスがクリーンであること、およびターゲットパスが利用可能であることを確認する
- データ損失の防止: コピーしてから削除し、ソースを削除する前に検証する(TRANSFORM モード)
- ビルドの検証: すべてのビルドが成功する必要があります(
npm run build、dotnet build) - ロールバックの準備: 検証が完了するまでバックアップブランチを保持する(TRANSFORM モード)
呼び出し:
Skill(skill: "ln-724-artifact-cleaner", args: "{projectPath}") # TRANSFORM only, conditional
Skill(skill: "ln-721-frontend-restructure", args: "{projectPath} --mode {SCAFFOLD|RESTRUCTURE}")
Skill(skill: "ln-722-backend-generator", args: "{projectPath}")
Skill(skill: "ln-723-seed-data-generator", args: "{projectPath} --mode {GENERATE|MIGRATE}")
TodoWrite の形式(必須):
- Invoke ln-724-artifact-cleaner (conditional TRANSFORM) (pending)
- Invoke ln-721-frontend-restructure (pending)
- Invoke ln-722-backend-generator (pending)
- Invoke ln-723-seed-data-generator (pending)
- Verify structure and builds (pending)
ワーカーの呼び出し(必須)
ホストスキルの呼び出し: Skill(skill: "...", args: "...") による委任が必須です。
- Claude:表示どおりに Skill ツールを呼び出してください。
- Codex:Skill ツールがない場合は、利用可能なスキルから指定されたスキルを見つけて
SKILL.mdを読み、argsを$ARGUMENTSとして扱い、そのスキルのワークフローを実行してから、結果/成果物を持ってここに戻ってください。 - ワーカーの処理をインラインで実行したり、対象のスキルを実行せずにワーカーを完了扱いにしたりしないでください。
| フェーズ | ワーカー | コンテキスト |
|---|---|---|
| 3a | ln-724-artifact-cleaner | 共有(Skill ツール)— プラットフォームの成果物を削除(TRANSFORM のみ、条件付き) |
| 3b | ln-721-frontend-restructure | 共有(Skill ツール)— フロントエンドをスキャフォールドまたは再構成 |
| 3c | ln-722-backend-generator | 共有(Skill ツール)— バックエンドのプロジェクト構造を生成 |
| 3d | ln-723-seed-data-generator | 共有(Skill ツール)— シードデータを生成または移行 |
すべてのワーカー: Skill ツールを介して呼び出してください。ワーカーにはコーディネーターのコンテキストが共有されます。
完了の定義
CREATE モード:
- ln-700 から対象スタックの設定を受け取っている
- ln-721 が完了:フロントエンドのスキャフォールドが完了(SCAFFOLD モード)
- ln-722 が完了:バックエンドの生成が完了
- ln-723 が完了:シードデータの生成が完了(GENERATE モード)
- ファイル構造が対象のテンプレートと一致している
- すべての設定ファイルが有効(package.json、tsconfig.json、.csproj)
TRANSFORM モード:
- 現在の構造を分析し、記録している
- 移行計画を生成している
- ln-724 が完了:プラットフォームの成果物を削除している(該当する場合)
- ln-721 が完了:フロントエンドを再構成している(RESTRUCTURE モード)
- ln-722 が完了:バックエンドの生成が完了
- ln-723 が完了:シードデータの移行が完了(MIGRATE モード)
- フロントエンドが正常にビルドできる(
npm run build) - バックエンドが正常にビルドできる(
dotnet build) - 古い場所に孤立したファイルがない
- すべてのインポートが正しく解決される
- 移行レポートを生成している
リスク軽減
| リスク | 検出方法 | 軽減策 |
|---|---|---|
| 未コミットの変更 | git status がクリーンでない | 作業ディレクトリをクリーンな状態にする |
| ビルド失敗(フロントエンド) | npm run build が失敗 | ロールバックし、ln-721 に修正を委任 |
| ビルド失敗(バックエンド) | dotnet build が失敗 | ロールバックし、ln-722 に修正を委任 |
| ファイルの消失 | 移行後にファイルが見つからない | バックアップブランチから復元 |
| インポートエラー | モジュールが見つからない | インポート更新フェーズを再実行 |
| 移行の途中失敗 | ワーカーが実行中に失敗 | アトミックに実行:すべて完了するか、すべてロールバック |
| ワーカーモードの誤り | モードの不一致 | 委任前にモードのパラメーターを検証 |
参照ファイル
| ファイル | 用途 |
|---|---|
references/clean_architecture_dotnet.md | .NET プロジェクト構造テンプレート |
references/frontend_structure.md | React プロジェクト構造テンプレート |
メタ分析
任意の参照:ユーザーが実行後のメタ分析またはプロトコル形式の実行振り返りを求めた場合に限り、references/meta_analysis_protocol.md を読み込んでください。
スキルの種類:execution-orchestrator。依頼された場合は、すべてのフェーズの完了後に実行してください。execution-orchestrator の形式を使用してチャットに出力してください。
バージョン: 3.0.0 最終更新日: 2026-02-07