mcpField
L
ln-720-structure-migrator

ln-720-structure-migrator

github.com/levnikolaevich開発584378 回インストール2 日前に更新
リポジトリ

ln-720-structure-migrator について

ln-720-structure-migratorは、プロジェクトの足場作成やClean Architectureへの移行を調整するスキルです。CREATEとTRANSFORMの各モードに応じて専門スキルへ作業を委譲し、結果を検証します。

主な機能

  1. 01CREATEとTRANSFORMのモード
  2. 02プロジェクト構成の分析と計画
  3. 03専門スキルへの作業委譲
  4. 04最終構成とビルドの検証

活用シーン

  1. 01Reactと.NETのプロジェクト構成を作成
  2. 02既存プロジェクトをClean Architectureへ移行
  3. 03シードデータの生成または移行
  4. 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.md
frontend_structure.md
meta_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 として扱い、そのスキルのワークフローを実行してから、結果/成果物を持ってここに戻ってください。
  • ワーカーの処理をインラインで実行したり、対象のスキルを実行せずにワーカーを完了扱いにしたりしないでください。
フェーズワーカーコンテキスト
3aln-724-artifact-cleaner共有(Skill ツール)— プラットフォームの成果物を削除(TRANSFORM のみ、条件付き)
3bln-721-frontend-restructure共有(Skill ツール)— フロントエンドをスキャフォールドまたは再構成
3cln-722-backend-generator共有(Skill ツール)— バックエンドのプロジェクト構造を生成
3dln-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.mdReact プロジェクト構造テンプレート

メタ分析

任意の参照:ユーザーが実行後のメタ分析またはプロトコル形式の実行振り返りを求めた場合に限り、references/meta_analysis_protocol.md を読み込んでください。

スキルの種類:execution-orchestrator。依頼された場合は、すべてのフェーズの完了後に実行してください。execution-orchestrator の形式を使用してチャットに出力してください。


バージョン: 3.0.0 最終更新日: 2026-02-07

コメント