111 lines
4.8 KiB
Markdown
111 lines
4.8 KiB
Markdown
---
|
||
description: 進捗ドキュメント内のOpen Questionsを解消し、Decision LogやSpecificationセクションを自動更新。ユーザーがARGUMENTS形式で各質問への意思決定を入力し、LLMがそれを進捗ドキュメントに反映
|
||
---
|
||
|
||
# /issync:resolve-questions: Open Questions解消コマンド
|
||
|
||
進捗ドキュメントのOpen Questionsを解消し、Decision LogとSpecificationを自動更新します。詳細な実行ステップは後述の「実行ステップ」セクションを参照してください。
|
||
|
||
## 使用方法
|
||
|
||
```bash
|
||
/issync:resolve-questions
|
||
Q1-2: 推奨案
|
||
Q3: <ユーザーの意思決定を自然文で記載>
|
||
Q4: 推奨案
|
||
Q5-6: 推奨案
|
||
```
|
||
|
||
**引数形式**:
|
||
- 各行に `Q[番号または範囲]: [意思決定内容]` を記載
|
||
- 範囲指定可能: `Q1-3: 推奨案` で Q1, Q2, Q3 すべてに適用
|
||
- 意思決定内容:
|
||
- `推奨案` または `推奨` と記載した場合、Open Questionsの検討案から推奨マーク付きの案を採用
|
||
- それ以外の場合、記載内容をそのまま決定内容として使用
|
||
|
||
## 前提条件
|
||
|
||
- 進捗ドキュメントが作成済み(`/issync:plan`実行済み)
|
||
- Open Questionsセクションに未解決の質問が存在
|
||
- `ISSYNC_GITHUB_TOKEN`環境変数が設定済み
|
||
|
||
## 実行ステップ
|
||
|
||
### ステップ1-3: 準備
|
||
|
||
1. `/understand-progress`で進捗ドキュメントを読み込む
|
||
2. Open Questionsセクションから未解決の質問を抽出(取り消し線がないもの)
|
||
3. ユーザー入力を解析:
|
||
- 各行から質問番号と意思決定内容を抽出
|
||
- 範囲指定(`Q1-3`)は範囲内すべてに適用
|
||
- `推奨案`/`推奨`の場合、検討案から推奨マーク付き案を自動抽出
|
||
- その他の場合、入力内容をそのまま使用
|
||
|
||
### ステップ4: Open Questionsセクションの更新
|
||
|
||
各質問を以下の形式で更新:
|
||
- 質問タイトルを取り消し線(`~テキスト~`)でマーク
|
||
- 直後に` ✅ 解決済み (YYYY-MM-DD)`を追加
|
||
- 質問文と検討案は保持
|
||
- 末尾に`**決定**: <内容>`を追記
|
||
|
||
### ステップ5: Decision Logセクションへの記録
|
||
|
||
関連する質問をグループ化し、以下のフォーマットでDecision Logに追加:
|
||
- **YYYY-MM-DD: <決定タイトル>**
|
||
- **採用**: <採用案>
|
||
- **理由**: 箇条書き
|
||
- **比較検討した候補**: 候補と却下理由
|
||
- **トレードオフ**: 採用案の制約
|
||
|
||
Open Questionsの検討案から情報を抽出し、不足分はユーザー入力から推論してください。
|
||
|
||
### ステップ6: Specificationセクションの更新
|
||
|
||
解決内容から仕様を推論し、Specificationセクションを更新:
|
||
- コマンドインターフェース、データフォーマット、アーキテクチャ、動作フローなど
|
||
- 既存仕様に追記(矛盾がある場合は既存を更新)
|
||
- 見出し(###)で構造化
|
||
- 仕様が推論できない場合はスキップ
|
||
|
||
### ステップ7-8: 更新と同期
|
||
|
||
1. Editツールで進捗ドキュメントを更新(Open Questions、Decision Log、Specification)
|
||
- Editツールは1回1箇所のみ更新可能(複数回呼び出す)
|
||
- `old_string`に十分なコンテキストを含める
|
||
2. `issync push`でGitHub Issueに同期
|
||
|
||
## 出力フォーマット
|
||
|
||
完了後、以下を出力:
|
||
- 解消した質問リスト(Q番号、タイトル、決定内容)
|
||
- 更新内容(Open Questions、Decision Log、Specificationの件数)
|
||
- 次のアクション(確認事項、残タスク)
|
||
|
||
## 重要な注意事項
|
||
|
||
- ユーザーがARGUMENTSで意思決定を明示(自動推論しない)
|
||
- `推奨案`指定時は検討案から推奨マーク付き案を自動抽出
|
||
- 一貫フォーマット:取り消し線 + "✅ 解決済み (YYYY-MM-DD)"
|
||
- Decision Logに「採用」「理由」「比較検討した候補」「トレードオフ」を含める
|
||
- Specification更新は自律的に仕様を推論
|
||
- 作業後は`issync push`で同期
|
||
|
||
## エラーハンドリング
|
||
|
||
- **Open Questions不在**: メッセージ表示して終了
|
||
- **質問番号不在**: 警告表示してスキップ(他の処理は継続)
|
||
- **推奨案不在**: 検討案の最初の項目を採用(検討案もない場合はユーザー入力を使用)
|
||
- **issync push失敗**: エラー表示、ローカル更新済みを通知、手動実行を案内
|
||
|
||
## 実行例・運用フロー
|
||
|
||
```bash
|
||
/issync:resolve-questions
|
||
Q1-2: 推奨案
|
||
Q3: コマンドのARGUMENTSとしてユーザーが意思決定を各Qごとに行う
|
||
Q4-6: 推奨案
|
||
```
|
||
|
||
**運用フロー**: `/issync:plan`で進捗ドキュメント作成 → 開発を進める → 回答が明確になったら`/issync:resolve-questions`で解消 → すべて解消したら次フェーズへ
|