Implementation Plan - 実装計画
REQを読み込んで実装計画を立てるスキル。実装開始前に使用。
いつ使うか
- •REQのレビューが完了し、実装を開始する前
- •「どこから手をつければいいか」分からない時
- •複数Phaseがあり、実装順序を整理したい時
- •セッション再開時に実装状況を把握したい時
実行手順
Step 1: REQを読み込む
bash
# 対象REQを確認 cat docs/requirements/active/REQ-XXXXXXX-xxx.md
以下を抽出:
- •機能要件(何を作るか)
- •受け入れ基準(AC)
- •実装方針(コード例があれば)
- •Phase構成
Step 2: 影響範囲を特定
REQの内容から、変更が必要なファイルを列挙:
markdown
## 影響範囲 | ファイル | 変更種別 | 変更内容 | |----------|----------|----------| | src/app.rs | 追加 | 新しい構造体・メソッド | | src/main.rs | 修正 | キーバインド追加 | | src/ui.rs | 修正 | 表示ロジック | | src/i18n.rs | 追加 | 翻訳キー | | tests/xxx.rs | 追加 | テストケース |
特定のコツ:
- •データ構造 →
app.rsまたは専用モジュール - •キーバインド →
main.rs - •UI表示 →
ui.rs - •翻訳 →
i18n.rs - •永続化 → 対象のデータモジュール
Step 3: 実装順序を決定
依存関係を考慮して順序を決定:
markdown
## 実装順序 ### Phase 1: データ層 1. [ ] `app.rs` - 構造体定義 2. [ ] `app.rs` - メソッド実装 3. [ ] テスト作成・実行 ### Phase 2: UI層 4. [ ] `main.rs` - キーバインド追加 5. [ ] `ui.rs` - 表示ロジック 6. [ ] `i18n.rs` - 翻訳キー追加 ### Phase 3: 検証 7. [ ] `/impl-check` 実行 8. [ ] 手動テスト
順序決定の原則:
- •データ層 → ロジック層 → UI層
- •依存される側 → 依存する側
- •テストは各段階で実行
Step 4: 注意点を整理
REQとプロジェクトルールから注意点を抽出:
markdown
## 注意点 ### プロジェクトルール - [ ] キーバインド追加時はフッター/詳細パネルに表示 - [ ] 翻訳キーは英語・日本語両方追加 - [ ] TDD: テストを先に書く ### REQ固有 - [ ] AC#3: 大文字小文字を区別しない検索 - [ ] スコープ外: OR検索は実装しない ### 技術的注意 - [ ] 既存の `filtered_worklogs()` パターンを参考にする - [ ] `worklog_index` のリセットを忘れずに
Step 5: チェックポイントを設定
/impl-check を実行するタイミングを決定:
markdown
## チェックポイント | タイミング | チェック内容 | |------------|-------------| | Phase 1完了後 | データ層のテストが通るか | | Phase 2完了後 | UI表示・キーバインドの動作確認 | | PR作成前 | `/impl-check` で全項目確認 |
出力テンプレート
markdown
# Implementation Plan - REQ-XXXXXXX ## 概要 - **REQ**: REQ-XXXXXXX - [タイトル] - **目的**: [1文で説明] - **Phase**: [対象Phase] ## 影響範囲 | ファイル | 変更種別 | 変更内容 | |----------|----------|----------| | ... | ... | ... | ## 実装順序 ### Phase 1: [名前] 1. [ ] [タスク1] 2. [ ] [タスク2] → テスト実行 ### Phase 2: [名前] 3. [ ] [タスク3] 4. [ ] [タスク4] → `/impl-check` ## 注意点 ### プロジェクトルール - [ ] ... ### REQ固有 - [ ] ... ## チェックポイント | タイミング | チェック内容 | |------------|-------------| | ... | ... | ## 参考コード 既存の類似実装: - `app.rs:XXXX` - [説明] - `ui.rs:YYYY` - [説明]
セッション再開時の使い方
セッションが中断・再開された場合:
- •このスキルを再実行
- •実装済みの項目にチェックを入れる
- •残りの項目から再開
markdown
## 実装順序(再開時) ### Phase 1: データ層 1. [x] `app.rs` - 構造体定義 ✅ 完了 2. [x] `app.rs` - メソッド実装 ✅ 完了 3. [x] テスト作成・実行 ✅ 完了 ### Phase 2: UI層 4. [ ] `main.rs` - キーバインド追加 ← 再開ポイント 5. [ ] `ui.rs` - 表示ロジック 6. [ ] `i18n.rs` - 翻訳キー追加
関連スキル
| スキル | タイミング | 関係 |
|---|---|---|
/design-reviewer | 実装前 | REQがGoであることを確認 |
/impl-plan | 実装開始時 | このスキル |
/impl-check | 実装中・完了時 | 漏れチェック |
/spec-updater | 実装完了後 | ドキュメント更新 |
Tips
- •計画は更新してよい: 実装中に気づいた点は計画に追記
- •小さく進める: 1タスクずつ完了させる
- •テストを忘れずに: TDDの原則に従う
- •迷ったら確認: 既存コードのパターンを参考にする