Gap分析スキル
既存コードベースとの差分分析、統合ポイント特定、実装戦略提案を行います。
Gap分析スキルは、既存コードベースと新規実装の差分を分析し、統合ポイントを特定します。
このスキルは以下を実行します:
以下のキーワードで自動発動します:
/michi analyze-gap {pj-name}
例:
/michi analyze-gap user-auth
既存コードベースの探索を3つのExploreエージェントで並列実行します:
| エージェント | 対象 | 目的 | 出力 |
|---|---|---|---|
| アーキテクチャ探索 | src/, lib/, packages/ | レイヤー構造、設計パターン特定 | アーキテクチャ構造レポート |
| API探索 | routes/, controllers/, api/ | 既存APIエンドポイント一覧 | API仕様リスト |
| データモデル探索 | models/, entities/, migrations/ | DBスキーマ、リレーション | データモデルリスト |
メリット:
既存アーキテクチャの把握:
既存API・データモデルの確認:
新規実装の影響範囲:
競合する部分を特定:
インターフェースの統合ポイント:
データモデルの統合ポイント:
ワークフローの統合ポイント:
段階的な統合戦略:
リスク回避策:
ロールバック計画:
分析結果を以下の形式でレポートします:
# Gap分析レポート: {pj-name}
## 既存コードベース
### アーキテクチャ
- Monolithic Architecture
- Backend: Node.js + Express
- Frontend: React + Redux
- Database: PostgreSQL
### 既存API
- POST /api/session - セッション管理
- GET /api/profile - プロフィール取得
### 既存データモデル
- sessions テーブル
- profiles テーブル
## 新規実装との差分
### 新規追加
- POST /api/users - ユーザー登録
- POST /api/login - ログイン
- users テーブル
### 既存APIの変更
- なし
### 競合箇所
- 既存の sessions テーブルと新規の users テーブルの連携
## 統合ポイント
### インターフェース統合
- API Gateway: 既存エンドポイントと新規エンドポイントを統合
- フロントエンド: ログインページから新規ログインAPIを呼び出し
### データモデル統合
- sessions.user_id → users.id の外部キー追加
### ワークフロー統合
- 既存のセッション管理に新規のユーザー認証を組み込み
## 実装戦略
### Phase 1: 独立実装
- users テーブル作成
- POST /api/users, POST /api/login 実装
- 既存コードに影響なし
### Phase 2: API統合
- フロントエンドから新規ログインAPIを呼び出し
- Feature Flag で新旧ログインを切り替え
### Phase 3: データ統合
- sessions.user_id → users.id の外部キー追加
- 既存セッションデータを移行
### Phase 4: ワークフロー統合
- 既存のセッション管理に新規ユーザー認証を完全統合
- 旧ログインAPIを廃止
## リスク回避策
- Feature Flag: `use_new_auth` で新旧切り替え
- Blue-Green Deployment: 問題発生時は即座に切り戻し
- カナリアリリース: 5% → 25% → 50% → 100%
## ロールバック計画
1. Feature Flag で旧ログインに切り戻し
2. 外部キー制約を削除
3. 新規テーブルをドロップ(必要に応じて)
Gap分析が完了したら、次のステップに進みます:
/michi create-tasks {pj-name}
Phase 1から順番に実装し、各Phaseごとに検証します。
/michi dev {pj-name}
docs/master-docs/structure.md../references/workflow-guide.md../references/command-reference.md関連スキル:
create-tasks - タスク分割(統合戦略に基づく)dev - TDD実装(段階的に実装)