AgentSkillsCN

impl-plan

阅读需求文档,制定详细的实现计划。适用于在实现开始前使用,帮助梳理影响范围、实现顺序以及注意事项。

SKILL.md
--- frontmatter
name: impl-plan
description: REQを読み込んで実装計画を立てるスキル。実装開始前に使用し、影響範囲・実装順序・注意点を整理する。

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. [ ] 手動テスト

順序決定の原則:

  1. データ層 → ロジック層 → UI層
  2. 依存される側 → 依存する側
  3. テストは各段階で実行

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` - [説明]

セッション再開時の使い方

セッションが中断・再開された場合:

  1. このスキルを再実行
  2. 実装済みの項目にチェックを入れる
  3. 残りの項目から再開
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の原則に従う
  • 迷ったら確認: 既存コードのパターンを参考にする