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

9.9 KiB
Raw Blame History

/compact-progress-document: 進捗ドキュメント圧縮コマンド

あなたは矛盾解消駆動開発を実践するAIエージェントです。このコマンドは、進捗ドキュメントファイルが大きくなりすぎた際に、情報量を保持したまま文量を削減する圧縮を行います。

使用方法

/compact-progress-document                                          # state.ymlから選択
/compact-progress-document https://github.com/owner/repo/issues/123 # Issue URL指定
/compact-progress-document 123                                       # Issue番号指定

実行フロー

1. 進捗ドキュメントの理解

まず、/issync:understand-progressコマンドを内部で呼び出して、進捗ドキュメントを読み込みます。

/issync:understand-progress <issue_url_or_number>

引数が指定されている場合はそのまま渡し、指定されていない場合は引数なしで実行します。

2. 進捗ドキュメントの読み込みと分析

指定された進捗ドキュメントファイルを読み込み、以下を分析してください:

  • 総行数
  • 各セクションの行数
  • 重複している内容
  • 完了済みのPhaseとタスク
  • 解決済みのOpen Questions
  • 矛盾する記述

3. バージョン比較とprogress-document-template.mdとの比較

a) バージョンヘッダーの確認

進捗ドキュメントの先頭行から、バージョンヘッダーを確認してください:

<!-- Template Version: N (YYYY-MM-DD) -->

バージョンヘッダーが存在しない場合:

⚠️ 進捗ドキュメントにバージョンヘッダーがありません。
Version 1 (2025-10-15) 以前のテンプレートを使用している可能性があります。

バージョンヘッダーを追加しますか? (y/n)

承認された場合、以下を追加:

<!-- Template Version: 1 (2025-10-15) -->

b) progress-document-template.mdのバージョン取得

公式テンプレート(https://raw.githubusercontent.com/MH4GF/issync/refs/heads/main/docs/progress-document-template.md)を取得し、バージョンヘッダーを確認してください。

c) バージョン比較

進捗ドキュメントのバージョンと、progress-document-template.mdのバージョンを比較してください

バージョンが同じ場合: 通常の圧縮処理を続行

バージョンが古い場合: マイグレーション提案を表示

⚠️ 進捗ドキュメントのバージョンが古い可能性があります
現在のバージョン: Version [X] ([YYYY-MM-DD])
最新のバージョン: Version [Y] ([YYYY-MM-DD])

マイグレーションが必要です。
詳細: docs/MIGRATION_GUIDE.md または https://raw.githubusercontent.com/MH4GF/issync/refs/heads/main/docs/MIGRATION_GUIDE.md

マイグレーションを実行しますか? (y/n)

マイグレーション実行時:

  1. MIGRATION_GUIDE.mdを参照ローカルに存在すればローカル、なければGitHubから取得
  2. 該当するバージョン間のマイグレーション手順を確認
  3. 自動マイグレーション可能な変更を適用
  4. 手動確認が必要な変更をユーザーに通知

d) テンプレート準拠性の確認

以下を確認・修正してください:

  • セクション順序がテンプレートと一致しているか → 不一致の場合は並び替え
  • 各セクションの「📝 記入タイミング」「✍️ 記入内容」ガイダンスがテンプレートと完全一致しているか → 不一致の場合はテンプレートの文言に更新
  • 不要なカスタムセクションがないか → テンプレートに存在しないセクションは削除(内容が重要な場合は適切なセクションに統合)

テンプレート準拠の価値: ガイダンスをテンプレートと完全一致させることで、AIエージェントが「今何を書くべきか」を迷わず判断できるようになり、作業効率が大幅に向上します。カスタムセクションの削除により、情報の一元化とメンテナンス性が改善されます。

4. 圧縮処理

以下の観点で圧縮を実行してください:

a) テンプレート準拠性の修正(最優先)

  • セクション順序をテンプレートに合わせる: 並び順が異なる場合は、テンプレート通りの順序に並び替え
  • ガイダンス文言をテンプレートと完全一致させる: 「📝 記入タイミング」「✍️ 記入内容」の文言をテンプレートからコピーして上書き(内容の微妙な差異も統一)
  • 不要なカスタムセクションを削除: テンプレートに存在しないセクションは削除し、重要な内容は適切なセクションに統合
  • ガイダンスに沿わない記述を適切なセクションに移動: 例えば「Specification」に書くべき内容が「Purpose」に書かれている場合は移動

b) 重複情報の削減

  • 同じ内容が複数セクションで繰り返されている場合、参照形式に変換
  • 例: 「詳細はSpecificationセクション参照」

c) 解決済みOpen Questionsの整理

  • 解決済みマークのついたOpen Questionsを「解決済みアーカイブ」セクションに移動
  • または、Decision Logへの参照のみ残して削除

d) 完了済みPhaseの簡潔化

  • 完了したPhaseのタスク詳細をOutcomes & Retrospectivesに統合
  • Work Planでは要約のみ残す

例:

### Phase 1: ✅ 完了 (2025-10-14)
**ゴール**: [簡潔な説明]
**成果**: Outcomes & Retrospectives 参照

e) 冗長な説明の簡潔化

  • 長文を箇条書きに変換
  • 過剰に詳細な説明を要約
  • 大きな図表や詳細仕様は外部ファイル化を提案(実行はしない)

f) 完了済みタスクの整理

  • Tasksセクションから完了済みタスクを削除
  • 完了内容はOutcomes & Retrospectivesに統合されているか確認

5. 矛盾検出と報告

以下のような矛盾を検出し、ユーザーに報告してください:

  • Decision Logで矛盾する決定例: 「A採用」→後で「Bに変更」だが撤回理由が不明確
  • Work PlanとTasksセクションで内容が一致しない
  • Acceptance CriteriaとValidation & Acceptance Criteriaで基準が異なる
  • Open QuestionsとDecision Logで同じ質問が両方に存在

矛盾を発見した場合、Open Questionsに追加する提案をしてください。

6. 圧縮後の進捗ドキュメントを保存して同期

圧縮処理を適用した進捗ドキュメントを保存し、GitHub Issueに同期してください。

issync push

出力形式

圧縮完了後、以下の形式でレポートを出力してください:

## /issync:compact-progress-document 実行結果

### バージョン情報
- 進捗ドキュメント: Version [X] ([YYYY-MM-DD])
- progress-document-template.md: Version [Y] ([YYYY-MM-DD])
- マイグレーション: [実施した/不要/スキップ]

### 圧縮サマリー
- 文量: [元の行数]行 → [圧縮後の行数]行([削減率]%削減)
- 削除した重複: [件数]箇所
- 整理したOpen Questions: [件数]件(解決済み)
- 簡潔化したPhase: Phase [X][行数]行 → [行数]行)
- 完了タスク削除: [件数]件

### 適用した圧縮処理
- ✅ バージョン比較・マイグレーション
  - バージョンヘッダー追加: [実施/不要]
  - テンプレートバージョンアップ: [実施/不要]
  - マイグレーション手順適用: [件数]項目
- ✅ テンプレート準拠性の修正
  - セクション順序の並び替え: [変更有無]
  - ガイダンス文言の完全一致: [更新したセクション数]箇所
  - カスタムセクション削除: [削除したセクション名][件数]件)
- ✅ 重複情報の削減([件数]箇所)
- ✅ 解決済みOpen Questions整理[件数]件)
- ✅ 完了Phase簡潔化Phase [X]
- ✅ 冗長な説明の簡潔化([件数]箇所)
- ✅ 完了タスク削除([件数]件)

### ⚠️ 矛盾検出
[矛盾が検出された場合のみ表示]
- 矛盾1: [詳細な説明]
  - 場所: [セクション名]
  - 推奨対応: [対処方法]
- 矛盾2: [詳細な説明]
  - 場所: [セクション名]
  - 推奨対応: [対処方法]

### 次のアクション
- [ ] 圧縮結果をレビュー
- [ ] 矛盾が検出された場合は解消してください
- [ ] マイグレーションで手動確認が必要な変更を確認してください(該当する場合)

重要な注意事項

  1. バージョン比較を最初に実施: 進捗ドキュメントのバージョンを必ず確認し、古い場合はマイグレーションを提案すること
  2. テンプレート準拠が最優先: セクション順序とガイダンス文言は必ずテンプレートと完全一致させること。これによりAIエージェントの作業効率が大幅に向上する
  3. カスタムセクションは削除: テンプレートに存在しないセクションは削除し、重要な内容は適切なセクションに統合すること
  4. 情報量は変えない: 削減するのは文量のみで、情報は失わないこと
  5. 矛盾は報告のみ: 矛盾を勝手に解消せず、ユーザーに報告して判断を仰ぐこと
  6. 外部ファイル化は提案のみ: 大きな図表や詳細仕様の外部ファイル化は実行せず、提案のみ行うこと
  7. issync同期: 圧縮完了後は必ずissync pushを実行してGitHub Issueに同期すること

実行を開始

それでは、上記のフローに従って進捗ドキュメントの圧縮を開始してください。