Files
gh-mh4gf-issync-claude-plug…/commands/resolve-questions.md
2025-11-30 08:40:07 +08:00

4.8 KiB
Raw Blame History

description
description
進捗ドキュメント内のOpen Questionsを解消し、Decision LogやSpecificationセクションを自動更新。ユーザーがARGUMENTS形式で各質問への意思決定を入力し、LLMがそれを進捗ドキュメントに反映

/issync:resolve-questions: Open Questions解消コマンド

進捗ドキュメントのOpen Questionsを解消し、Decision LogとSpecificationを自動更新します。詳細な実行ステップは後述の「実行ステップ」セクションを参照してください。

使用方法

/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失敗: エラー表示、ローカル更新済みを通知、手動実行を案内

実行例・運用フロー

/issync:resolve-questions
Q1-2: 推奨案
Q3: コマンドのARGUMENTSとしてユーザーが意思決定を各Qごとに行う
Q4-6: 推奨案

運用フロー: /issync:planで進捗ドキュメント作成 → 開発を進める → 回答が明確になったら/issync:resolve-questionsで解消 → すべて解消したら次フェーズへ