flutter-parallel-agents について
flutter-parallel-agentsは、独立したFlutterの実装やテスト作業を複数のエージェントで調整するスキルです。並行可能性の判断、担当範囲の設定、結果の確認と統合を案内します。
主な機能
- 01タスクの並行可否を判断
- 02エージェントに明確な範囲を割り当て
- 03機能、レイヤー、テスト単位で分担
- 04変更の競合を確認
- 05統合後にFlutterの解析とテストを実行
活用シーン
- 01独立したFlutter機能の並行実装
- 02原因の異なるテスト失敗の調査
- 03ファイルが重ならないアーキテクチャ層の分担
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vp-k/ flutter-craft --skill flutter-parallel-agentsインストール後、Claude Code で/flutter-parallel-agentsを入力して読み込まれたか確認します。
詳細
並列 Flutter エージェントのディスパッチ
概要
互いに無関係なタスク(異なる機能、異なるテストファイル、異なるバグ)が複数ある場合、それらを順番に進めると時間がかかります。それぞれの調査は独立しているため、並行して進められます。
基本原則: 独立した問題領域ごとにエージェントを1つ割り当てます。並行して作業させましょう。
開始時に宣言: 「これらのタスクに対応するため、flutter-parallel-agents スキルを使用します。」
使用する場面
Multiple tasks/failures?
├─ NO → Single agent handles it
└─ YES → Are they independent?
├─ NO (related) → Single agent investigates all
└─ YES → Can they work in parallel?
├─ NO (shared state/files) → Sequential agents
└─ YES → Parallel dispatch (this skill)
次の場合に使用します:
- 根本原因の異なる複数のテストファイルで失敗が発生している
- 異なる領域で複数の機能を実装する
- それぞれの問題を、他の問題のコンテキストなしで理解できる
- 調査間に共有状態がない
- 異なるクリーンアーキテクチャのレイヤーを作業する
次の場合は使用しないでください:
- 失敗に関連性がある(一つを修正すると他も直る可能性がある)
- タスクが同じファイルを変更する
- タスク間に依存関係がある
- まずシステム全体の状態を理解する必要がある
Flutter 固有の並列シナリオ
独立したレイヤータスク
lib/features/auth/
├── domain/ ← Agent 1: Implement entities & interfaces
├── data/ ← Agent 2: Implement models & datasources
└── presentation/ ← Wait for Agents 1 & 2 (has dependencies)
並列化できるもの: Domain レイヤーと Data レイヤー(異なるファイル) 並列化できないもの: Presentation は Domain に依存する
独立した機能タスク
lib/features/
├── auth/ ← Agent 1: Auth feature
├── profile/ ← Agent 2: Profile feature
└── settings/ ← Agent 3: Settings feature
並列化できるもの: 3つすべて(異なる機能フォルダー)
独立したテスト修正
test/features/
├── auth/data/repositories/auth_repo_test.dart ← Agent 1
├── profile/presentation/bloc/profile_bloc_test.dart ← Agent 2
└── settings/data/datasources/settings_ds_test.dart ← Agent 3
並列化できるもの: 異なる機能の異なるテストファイル
作業パターン
1. 独立した領域を特定する
影響を受ける対象ごとにタスクを分類します。
- 機能 A:ユーザー認証
- 機能 B:プロフィール管理
- 機能 C:設定の保存
各領域は独立しています。認証を修正しても設定には影響しません。
2. エージェントに焦点を絞ったタスクを作成する
各エージェントに次の内容を渡します。
- 具体的な範囲: 1つの機能またはテスト領域
- 明確な目標: 実装または修正する内容
- 制約: 他の機能は変更しない
- 期待する出力: 実施内容の概要
3. 並列にディスパッチする
実装には subagent_type: "flutter-craft:flutter-dart-specialist" を使用します。
このエージェントの定義には Flutter/Dart の規範(Riverpod のパターン、
ウィジェットの原則、推奨パッケージ)が含まれているため、プロンプトはタスクの内容だけにできます。
Task("Implement auth domain layer - entities and repository interface")
Task("Implement profile domain layer - entities and repository interface")
Task("Implement settings domain layer - entities and repository interface")
// All three run concurrently, each as flutter-craft:flutter-dart-specialist
4. レビューして統合する
エージェントから結果が返されたら、次の作業を行います。
- 各概要を読む
- 修正が競合しないことを確認する
flutter analyzeを実行するflutter testを実行する- すべての変更を統合する
エージェントプロンプトの構成
Implement the [Layer] layer for [Feature] feature.
## Scope
lib/features/[feature]/[layer]/
## Files to Create
- entities/[entity].dart
- repositories/[repository].dart (interface)
## Requirements
[Paste specific requirements from plan]
## Constraints
- ONLY modify files in lib/features/[feature]/[layer]/
- Do NOT touch other features
- Follow Clean Architecture principles
- Run flutter analyze before committing
## Expected Output
- Summary of what you created
- flutter analyze result
- Commit message used
例:機能実装を並列に進める
シナリオ: 3つの機能の Domain レイヤーを実装する必要がある
判断: 各 Domain レイヤーは独立している
ディスパッチ:
Agent 1 → Implement auth/domain/ (User entity, AuthRepository interface)
Agent 2 → Implement profile/domain/ (Profile entity, ProfileRepository interface)
Agent 3 → Implement settings/domain/ (Settings entity, SettingsRepository interface)
結果:
- エージェント 1:User エンティティと AuthRepository を作成 ✅
- エージェント 2:Profile エンティティと ProfileRepository を作成 ✅
- エージェント 3:Settings エンティティと SettingsRepository を作成 ✅
統合:
flutter analyze # All clean
flutter test # All pass
git log --oneline -3 # See all three commits
よくある間違い
❌ 範囲が広すぎる:「すべての機能を実装する」— エージェントが迷います ✅ 具体的にする:「auth/domain レイヤーを実装する」— 範囲を絞れます
❌ 依存するタスクを並列に進める:Domain より先に Data レイヤーを作業する ✅ 正しい順序:まず Domain、その後 Data を並列に作業する
❌ 同じファイル:2つのエージェントが pubspec.yaml を編集する ✅ 競合を避ける:各エージェントの担当ファイルを分離する
使用しない場面
- 順次処理が必要な依存関係: Data レイヤーには Domain レイヤーが先に必要
- 共有ファイル: 複数のエージェントが同じファイルを必要とする
- 機能をまたぐ依存関係: 機能 B が機能 A からインポートする
- 全体的なコンテキストが必要: 理解するにはアプリ全体を見る必要がある
検証
エージェントから結果が返されたら、次の作業を行います。
- 各概要をレビューする — 変更内容を把握する
- 競合を確認する — エージェントが同じファイルを編集していないか確認する
- flutter analyze を実行する — すべてのコードに問題がないことを確認する
- flutter test を実行する — テストが通ることを確認する
- インポートを確認する — 循環依存がないことを確認する
flutter analyze
flutter test
git diff --stat # See all changes
メリット
- 並列化 — 複数の実装を同時に進められる
- 集中 — 各エージェントの担当範囲が狭い
- 独立性 — エージェント同士が干渉しない
- 速度 — 1つの問題を解決する時間で N 個の問題を解決できる