Files
2025-11-30 08:39:29 +08:00

231 lines
7.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
argument-hint: <taskname>
---
# 次に実行すべきステップを提案
現在のタスクの状態を分析して、次に実行すべきコマンドを提案します。
【引数】
$ARGUMENTS
## 引数の形式
- `<taskname>` - タスク名(省略時: specs/配下から選択)
## 実行手順
### 1. タスクの特定
#### 引数が指定されている場合
- `specs/{taskname}/` ディレクトリの存在を確認
- 存在しない場合はエラーメッセージとspecs/配下のタスク一覧を表示
#### 引数が指定されていない場合
- `specs/` 配下のタスクをリスト表示
- AskUserQuestionで選択
### 2. タスクの状態分析
以下のファイルとディレクトリを確認して、タスクの進捗状況を判定:
#### 仕様書ファイルの存在確認
- `specs/{taskname}/overview.md`
- `specs/{taskname}/specification.md`
- `specs/{taskname}/technical-details.md`
#### 仕様書の完成度チェック
- 「**不明**」マークの有無
- 複数の案案A、案B等の有無
- Phase概要と依存関係セクションの有無
#### Phase計画書の存在確認
- `specs/{taskname}/tasks/` ディレクトリの存在
- Phase計画書ファイル`phase{N}-*.md`)の存在
#### Phase進捗の確認
各Phase計画書から
- タスクの状態(未着手/進行中/完了)
- Phase状態未着手/進行中/完了)
- Phase完了条件のチェック状況
#### overview.mdのPhase状態
- 各Phaseの状態
- 依存関係の満たし方
### 3. 状態に基づく判定
分析結果から、タスクがどの段階にあるかを判定:
#### 状態1: 仕様書が存在しない
→ 新規タスクの作成段階
#### 状態2: 仕様書は存在するが不完全
- 「**不明**」マークがある
- 複数の案が残っている
→ 仕様の明確化が必要
#### 状態3: 仕様書は完成しているがPhase計画書がない
→ Phase分割計画が必要
#### 状態4: Phase計画書は存在するが未着手
→ 実装開始が必要
#### 状態5: Phase実装中
- 進行中または完了したタスクがある
- すべてのタスクは完了していない
→ 実装継続または仕様書同期が必要
#### 状態6: Phase完了Phase完了条件未チェック
- すべてのタスクが完了
- Phase完了条件がチェックされていない
→ Phase検証が必要
#### 状態7: Phase検証済み次Phaseあり
- Phase完了条件がすべてチェック済み
- overview.mdで次Phaseが定義されている
→ 次Phaseの実装開始
#### 状態8: すべてのPhase完了
- すべてのPhaseが完了状態
→ タスク完了
### 4. 提案の表示
```markdown
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 次のステップ提案
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📍 タスク: {taskname}
## 現在の状態
{状態の詳細説明}
### 仕様書の状態
- overview.md: {存在/不完全/完成}
- specification.md: {存在/不完全/完成}
- technical-details.md: {存在/不完全/完成}
- 不明点: {数}箇所
- 複数案: {数}箇所
### Phase進捗
- Phase 1: {状態} - タスク完了: {completed}/{total}
- Phase 2: {状態} - タスク完了: {completed}/{total}
- ...
### Phase完了条件
- Phase 1: {checked}/{total} 項目
- Phase 2: {checked}/{total} 項目
- ...
## 💡 次に実行すべきコマンド
### 推奨: {コマンド名}
**コマンド**:
```
{実行すべきコマンド}
```
**理由**:
{なぜこのコマンドを実行すべきか}
**実行後**:
{このコマンド実行後に何が得られるか}
---
### 代替案(オプション)
**1. {代替コマンド名}**
```
{代替コマンド}
```
{理由と実行後の状態}
**2. {代替コマンド名}**
```
{代替コマンド}
```
{理由と実行後の状態}
---
## 📚 ワークフロー全体を確認したい場合
```
/sdd:help
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
### 5. 状態別の提案例
#### 状態1の場合仕様書が存在しない
**推奨**: `/sdd:create-specs`
- 理由: タスクの仕様書がまだ作成されていません
- 実行後: overview.md、specification.md、technical-details.mdが生成されます
#### 状態2の場合仕様書は存在するが不完全
**推奨**: `/sdd:clarify-spec {taskname}`
- 理由: 仕様書に{N}箇所の不明点があります
- 実行後: 不明点が明確化され、仕様が確定します
**代替案**:
1. `/sdd:contradiction-check {taskname}` - 仕様の整合性を先に確認
2. `/sdd:validate-feasibility {taskname}` - 実現可能性を先に検証
#### 状態3の場合仕様書は完成しているがPhase計画書がない
**推奨**: `/sdd:break-down-phase {taskname}`
- 理由: 仕様書は完成していますが、Phase別の実装計画がありません
- 実行後: specs/{taskname}/tasks/配下にPhase計画書が生成されます
#### 状態4の場合Phase計画書は存在するが未着手
**推奨**: `/sdd:implement-phase {taskname}`
- 理由: Phase計画書は作成されていますが、実装が開始されていません
- 実行後: Phase 1のタスク1から実装が開始されます
#### 状態5の場合Phase実装中
**推奨**: `/sdd:implement-phase {taskname} {current_phase}.{next_task}`
- 理由: Phase {current_phase}の実装が進行中です({completed}/{total}タスク完了)
- 実行後: 次のタスク{next_task}の実装を続けます
**代替案**:
1. `/sdd:sync-specs` - 作業を中断する前に現在の進捗を仕様書に記録
#### 状態6の場合Phase完了、検証待ち
**推奨**: `/sdd:verify-phase {taskname} {phase}`
- 理由: Phase {phase}のすべてのタスクが完了しましたが、検証がまだです
- 実行後: Phase完了条件が検証され、問題があれば指摘されます
#### 状態7の場合Phase検証済み、次Phaseあり
**推奨**: `/sdd:implement-phase {taskname} {next_phase}.1`
- 理由: Phase {current_phase}が完了し、次のPhase {next_phase}に進めます
- 実行後: Phase {next_phase}の実装が開始されます
#### 状態8の場合すべてのPhase完了
```markdown
🎉 おめでとうございます!
タスク「{taskname}」のすべてのPhaseが完了しました。
## 完了したPhase
- Phase 1: {name} ✅
- Phase 2: {name} ✅
- Phase 3: {name} ✅
...
## 次のアクション
- プロジェクトのデプロイやリリース準備
- 新しいタスクの開始: `/sdd:create-specs`
```
## 注意事項
- **⚠️ 重要**: このコマンドは提案のみを行い、実際のコマンドは実行しません
- **⚠️ 重要**: 提案は現在のファイル状態から推測したものであり、必ずしも最適とは限りません
- 複数の選択肢がある場合、プロジェクトの状況に応じて判断してください
- Phase順序や依存関係を考慮して提案しますが、並行作業が可能な場合もあります