Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:40:07 +08:00
commit fb4d2ff5f1
12 changed files with 2249 additions and 0 deletions

View File

@@ -0,0 +1,110 @@
---
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`で解消 → すべて解消したら次フェーズへ