データの状態遷移フローを包括的に分析する
Analyzes state transitions of specified data, generating comprehensive reports including diagrams and risk assessments.
/plugin marketplace add classmethod/tsumiki/plugin install tsumiki@tsumiki対象データ名(リソース名/エンティティ名/モデル名)dcs/対象データの状態遷移に関わる全ての機能を特定し、状態遷移フロー、関連データとの依存関係、リスク評価を提供します。
出力ディレクトリ=".dcs" カレントディレクトリ={{プロジェクトルート}} 分析ファイルリスト=[] 対象データ名="" 状態フィールド名="" 検出された状態値リスト=[]
AskUserQuestion ツールを使って、以下の質問を順番に実施する:
contextとして以下を保持する
index.md - インデックス(全体概要とファイル一覧)summary.md - 分析対象とサマリーdiagram.md - 状態遷移図(Mermaid形式)transitions.md - 状態遷移表functions.md - 機能別の状態遷移分析dependencies.md - 他のデータとの依存関係risks.md - リスク評価recommendations.md - 推奨事項/Users/makotan/projects/ensemble-si/backend/src/main/kotlin/...backend/src/main/kotlin/...以下の観点でリスクを評価する:
以下の条件のいずれかに該当する場合、追加調査を提案する:
調査した内容を元に、以下の観点で追加調査が必要な箇所をリストアップする:
<state_transition_analysis_template> あなたは状態遷移分析のエキスパートです。以下の情報に基づいて、対象データの状態遷移を包括的に分析し、セクション別に分割してファイル出力してください。
対象データ名: {{対象データ名}} データの種類: {{データの種類}} 状態フィールド名: {{状態フィールド名}} 分析範囲: {{分析範囲}} 出力形式: {{出力形式}} ベースディレクトリ: {{ベースディレクトリ}}(例: ".dcs/20251026143000_order_state") カレントディレクトリ: {{カレントディレクトリ}}
すべてのファイルパスは、カレントディレクトリを基準とした相対パスで記載してください。 絶対パス(/Users/... など)は使用しないでください。 各セクションファイルは500行以内を目標としてください。
分析結果は以下のセクション別ファイルに分割して出力してください:
インデックスファイル: {{ベースディレクトリ}}/index.md
サマリーファイル: {{ベースディレクトリ}}/summary.md
状態遷移図ファイル: {{ベースディレクトリ}}/diagram.md
遷移表ファイル: {{ベースディレクトリ}}/transitions.md
機能別分析ファイル: {{ベースディレクトリ}}/functions.md
データ依存関係ファイル: {{ベースディレクトリ}}/dependencies.md
リスク評価ファイル: {{ベースディレクトリ}}/risks.md
推奨事項ファイル: {{ベースディレクトリ}}/recommendations.md
prismatix-factory/resources/{{対象データ名}}.yamlbackend/src/main/kotlin/**/entity/**/*{{対象データ名}}*.ktfrontend/src/**/*{{対象データ名}}*.ts または admin/src/**/*{{対象データ名}}*.tsstatus, state, {{データ名}}Status, {{データ名}}Stateenum.*Status, enum.*State"PENDING", "COMPLETED" 等OrderStatus.PENDING 等@PutMapping.*{{対象データ名}}, @PostMapping.*{{対象データ名}}\.{{状態フィールド名}}\s*=class.*Service, fun.*update, fun.*changeInterceptor, @Component.*InterceptorBefore, After, Around 系のインターセプター@Scheduled, @EnableSchedulingapi.*{{対象データ名}}, fetch.*{{対象データ名}}PUT, POST, PATCH メソッドを特定useState, useReducer, {{対象データ名}}Contextfrontend/src/pages/api/**/*.ts, admin/src/pages/api/**/*.ts{{対象データ名}}, 状態フィールド名各検出された機能について、以下を分析:
@ManyToOne, @OneToMany 等@Transactional アノテーションの有無以下の基準でリスクを評価:
以下の順序で各セクションファイルを作成してください。各ファイルは Write ツールを使って個別に保存してください。
{{ベースディレクトリ}}/index.md
# 状態遷移分析 - インデックス
**実施日時**: {{実施日時}}
**分析者**: Claude Code
---
## 分析概要
### 対象データ
- **データ名**: {{対象データ名}}
- **状態フィールド**: {{状態フィールド名}}
- **状態数**: XX個
- **遷移パターン数**: XX個
### サマリー
| 項目 | 内容 |
|------|------|
| 総合リスク評価 | **高/中/低** |
| 検出された機能数 | XX個 |
| データ依存関係 | XX個 |
---
## 分析結果ファイル一覧
### 基本情報
- [サマリー](./summary.md) - 分析結果の概要
### 状態遷移の詳細
- [状態遷移図](./diagram.md) - Mermaid形式の視覚化
- [遷移表](./transitions.md) - 詳細な遷移表
### 機能とデータ
- [機能別分析](./functions.md) - 各機能の状態遷移
- [データ依存関係](./dependencies.md) - 関連データとの依存
### 評価と推奨
- [リスク評価](./risks.md) - リスク評価の詳細
- [推奨事項](./recommendations.md) - 改善提案
---
## クイックナビゲーション
### 高リスク項目
1. {{高リスク項目1}} - [詳細](./risks.md)
2. {{高リスク項目2}} - [詳細](./risks.md)
### 複雑な遷移パターン
1. {{複雑なパターン1}} - [詳細](./transitions.md)
2. {{複雑なパターン2}} - [詳細](./transitions.md)
---
*各ファイルの詳細は上記リンクから参照してください。*
{{ベースディレクトリ}}/summary.md
# 状態遷移分析 - サマリー
**実施日時**: {{実施日時}}
**分析者**: Claude Code
[← インデックスに戻る](./index.md)
---
## 分析対象
### 対象データ
- **データ名**: {{対象データ名}}
- **データ種類**: {{データの種類}}
- **状態フィールド**: {{状態フィールド名}}
- **状態フィールドの型**: {{型情報}}
### 分析範囲
- {{分析範囲1}}
- {{分析範囲2}}
---
## 状態値の一覧
検出された状態値(XX個):
| 状態値 | 説明 | 定義箇所 |
|-------|------|----------|
| {{状態1}} | {{説明}} | {{相対パス:行番号}} |
| {{状態2}} | {{説明}} | {{相対パス:行番号}} |
| ... | ... | ... |
---
## 分析結果サマリー
| 項目 | 内容 |
|------|------|
| 検出された状態数 | XX個 |
| 遷移パターン数 | XX個 |
| 状態遷移を行う機能数 | XX個 |
| データ依存関係数 | XX個 |
| 総合リスク評価 | **高/中/低** |
### リスク評価の根拠
{{総合的なリスク評価の理由を簡潔に記述}}
---
## 遷移パターンの分類
| 分類 | 件数 | 備考 |
|------|------|------|
| 正常遷移 | XX件 | ビジネスフローに沿った遷移 |
| 異常遷移 | XX件 | エラーやキャンセル |
| 補正遷移 | XX件 | 管理者による手動修正 |
| 自動遷移 | XX件 | バッチ処理等 |
---
## 機能の分類
| 機能種別 | 件数 | 主なファイル |
|---------|------|-------------|
| コントローラー | XX件 | [詳細](./functions.md) |
| サービス | XX件 | [詳細](./functions.md) |
| インターセプター | XX件 | [詳細](./functions.md) |
| バッチ処理 | XX件 | [詳細](./functions.md) |
---
## 主要な発見事項
1. **{{発見事項1}}**
- {{詳細}}
- リスク: 高/中/低
2. **{{発見事項2}}**
- {{詳細}}
- リスク: 高/中/低
3. **{{発見事項3}}**
- {{詳細}}
- リスク: 高/中/低
---
## 追加調査が必要な項目
以下の項目について、追加調査が推奨されます:
1. {{追加調査項目1}}
2. {{追加調査項目2}}
3. {{追加調査項目3}}
(追加調査が不要な場合は「なし」と記載)
---
*詳細な分析結果は各セクションファイルを参照してください。*
{{ベースディレクトリ}}/diagram.md
# 状態遷移分析 - 状態遷移図
**実施日時**: {{実施日時}}
**分析者**: Claude Code
[← インデックスに戻る](./index.md) | [サマリー](./summary.md)
---
## 状態遷移図(Mermaid)
### 全体の状態遷移
\```mermaid
stateDiagram-v2
[*] --> {{初期状態}}
{{初期状態}} --> {{状態A}} : {{遷移条件A}}
{{状態A}} --> {{状態B}} : {{遷移条件B}}
{{状態B}} --> {{状態C}} : {{遷移条件C}}
{{状態C}} --> [*]
{{状態A}} --> {{エラー状態}} : エラー発生
{{状態B}} --> {{エラー状態}} : エラー発生
note right of {{状態A}}
{{状態Aの説明}}
end note
\```
### 正常フローの遷移
\```mermaid
stateDiagram-v2
{{正常フローの状態遷移図}}
\```
### 異常フローの遷移
\```mermaid
stateDiagram-v2
{{異常フローの状態遷移図}}
\```
---
## 遷移パターンの凡例
| パターン | 説明 | トリガー例 |
|---------|------|-----------|
| A → B | {{パターン説明}} | {{トリガー}} |
| B → C | {{パターン説明}} | {{トリガー}} |
| X → エラー | {{パターン説明}} | {{トリガー}} |
---
## 循環遷移の注意点
(循環遷移が存在する場合)
以下の循環遷移パターンが検出されました:
1. **{{循環パターン1}}**: A → B → C → A
- リスク: {{リスクレベル}}
- 注意事項: {{注意事項}}
---
*遷移の詳細は遷移表ファイルを参照してください。*
{{ベースディレクトリ}}/transitions.md
# 状態遷移分析 - 遷移表
**実施日時**: {{実施日時}}
**分析者**: Claude Code
[← インデックスに戻る](./index.md) | [サマリー](./summary.md)
---
## 状態遷移表(全体)
| 遷移ID | 遷移元 | 遷移先 | 遷移条件 | トリガー | 機能 | リスク |
|-------|--------|--------|---------|---------|------|-------|
| T001 | {{状態A}} | {{状態B}} | {{条件}} | {{トリガー}} | [詳細](./functions.md#func1) | 低 |
| T002 | {{状態B}} | {{状態C}} | {{条件}} | {{トリガー}} | [詳細](./functions.md#func2) | 中 |
| ... | ... | ... | ... | ... | ... | ... |
---
## 状態別の遷移詳細
### {{状態A}} からの遷移
#### {{状態A}} → {{状態B}}
- **遷移ID**: T001
- **遷移条件**:
- {{条件1}}
- {{条件2}}
- **トリガー**: {{トリガーの詳細}}
- **実装箇所**: [{{相対パス}}]({{相対パス}}#L{{行番号}})
- **副作用**:
- {{副作用1}}
- {{副作用2}}
- **関連データの状態変更**:
- {{データX}}.{{状態フィールド}} を {{新しい状態}} に変更
- **リスク**: 低/中/高
- **リスクの理由**: {{理由}}
#### {{状態A}} → {{エラー状態}}
(同様の形式で記述)
---
### {{状態B}} からの遷移
(同様の形式で各状態からの遷移を記述)
---
## 遷移パターン別の詳細
### 正常遷移パターン
(正常フローの遷移を詳細に記述)
### 異常遷移パターン
(異常フローの遷移を詳細に記述)
### 補正遷移パターン
(管理者による手動修正等の遷移を記述)
---
## 遷移不可能なパターン
以下の遷移は実装上不可能です:
| 遷移元 | 遷移先 | 理由 |
|-------|--------|------|
| {{状態X}} | {{状態Y}} | {{不可能な理由}} |
---
*各機能の詳細は機能別分析ファイルを参照してください。*
{{ベースディレクトリ}}/functions.md
# 状態遷移分析 - 機能別分析
**実施日時**: {{実施日時}}
**分析者**: Claude Code
[← インデックスに戻る](./index.md) | [サマリー](./summary.md)
---
## コントローラー層
### <a name="func1"></a>[相対パス:行番号](相対パス#L行番号)
- **機能名**: {{機能名}}
- **エンドポイント**: `{{HTTPメソッド}} {{URL}}`
- **実行する状態遷移**:
- {{状態A}} → {{状態B}}
- {{状態B}} → {{状態C}}
- **遷移条件**:
- {{条件1}}
- {{条件2}}
- **副作用**:
- {{副作用1}}
- {{副作用2}}
- **トランザクション**: あり/なし
- **エラーハンドリング**: {{エラー処理の説明}}
- **テストケース**: {{テストの有無と場所}}
- **リスク**: 低/中/高
- **備考**: {{その他の注意事項}}
---
## サービス層
### [相対パス:行番号](相対パス#L行番号)
(同様の形式で記述)
---
## インターセプター
### [相対パス:行番号](相対パス#L行番号)
- **インターセプター名**: {{名前}}
- **トリガー**: Before/After/Around {{イベント名}}
- **実行する状態遷移**:
- {{状態X}} → {{状態Y}}
- **遷移条件**:
- {{条件}}
- **自動実行**: はい/いいえ
- **副作用**:
- {{副作用}}
- **エラーハンドリング**: {{エラー処理}}
- **リスク**: 低/中/高
- **備考**: {{注意事項}}
---
## バッチ処理
### [相対パス:行番号](相対パス#L行番号)
- **バッチ名**: {{名前}}
- **実行スケジュール**: {{cron式}}
- **実行する状態遷移**:
- {{状態P}} → {{状態Q}}
- **対象データの抽出条件**:
- {{条件}}
- **副作用**:
- {{副作用}}
- **エラーハンドリング**: {{エラー処理}}
- **リトライ処理**: あり/なし
- **リスク**: 低/中/高
- **備考**: {{注意事項}}
---
## BFF(Backend for Frontend)
### [相対パス:行番号](相対パス#L行番号)
- **API Route**: `{{HTTPメソッド}} {{パス}}`
- **呼び出す Backend API**: {{バックエンドAPI}}
- **実行する状態遷移**:
- {{状態M}} → {{状態N}}
- **フロントエンドでの表示**: {{UI上の変化}}
- **エラーハンドリング**: {{エラー処理}}
- **リスク**: 低/中/高
---
*各機能が行う遷移の詳細は遷移表ファイルを参照してください。*
{{ベースディレクトリ}}/dependencies.md
# 状態遷移分析 - データ依存関係
**実施日時**: {{実施日時}}
**分析者**: Claude Code
[← インデックスに戻る](./index.md) | [サマリー](./summary.md)
---
## 関連データの一覧
| データ名 | 関係種別 | 状態フィールド | 依存方向 |
|---------|---------|--------------|---------|
| {{データA}} | 1:N | {{statusField}} | 双方向 |
| {{データB}} | N:1 | {{stateField}} | 単方向 |
| ... | ... | ... | ... |
---
## 状態連動パターン
### {{対象データ}} → {{データA}} への影響
#### {{対象データ}}.{{状態}} が {{状態値}} になると
- **{{データA}}への影響**:
- {{データA}}.{{状態フィールド}} が {{新しい状態}} に変更される
- 実装箇所: [{{相対パス}}]({{相対パス}}#L{{行番号}})
- トランザクション境界: {{同一トランザクション/別トランザクション}}
- **ビジネスルール**:
- {{ルール説明}}
- **エラーケース**:
- {{エラー時の動作}}
- **リスク**: 低/中/高
- **リスクの理由**: {{理由}}
### {{データB}} → {{対象データ}} への影響
#### {{データB}}.{{状態}} が {{状態値}} になると
(同様の形式で記述)
---
## 複合的な状態依存
### パターン1: {{複合パターン名}}
- **関係するデータ**:
- {{対象データ}}
- {{データA}}
- {{データB}}
- **状態連動のフロー**:
1. {{データB}}.{{状態}} が {{状態1}} になる
2. {{対象データ}}.{{状態}} が {{状態2}} に変更される
3. {{データA}}.{{状態}} が {{状態3}} に変更される
- **実装箇所**:
- [{{相対パス1}}]({{相対パス1}}#L{{行番号}})
- [{{相対パス2}}]({{相対パス2}}#L{{行番号}})
- **トランザクション境界**: {{説明}}
- **整合性リスク**: 低/中/高
- **リスクの理由**: {{理由}}
---
## トランザクション境界の分析
### 同一トランザクション内の状態更新
以下のデータは同一トランザクション内で状態が更新されます:
1. **{{トランザクション1}}**:
- 更新されるデータ: {{対象データ}}, {{データA}}
- 実装箇所: [{{相対パス}}]({{相対パス}}#L{{行番号}})
- `@Transactional` の有無: あり/なし
- リスク: 低/中/高
### 異なるトランザクションでの状態更新
以下のデータは異なるトランザクションで状態が更新されます:
1. **{{データ組み合わせ}}**:
- データ1: {{対象データ}} (トランザクション A)
- データ2: {{データB}} (トランザクション B)
- 整合性リスク: 高
- リスクの理由: {{理由}}
- 推奨対応: {{対応方法}}
---
## 外部システムとの連携
### {{外部システム名}}
- **連携タイミング**: {{対象データ}}.{{状態}} が {{状態値}} になったとき
- **連携内容**: {{内容}}
- **実装箇所**: [{{相対パス}}]({{相対パス}}#L{{行番号}})
- **エラーハンドリング**: {{エラー時の動作}}
- **リトライ処理**: あり/なし
- **リスク**: 低/中/高
---
## データ整合性リスク
### 高リスク項目
1. **{{リスク項目1}}**:
- リスクの内容: {{説明}}
- 影響範囲: {{影響}}
- 推奨対応: {{対応方法}}
2. **{{リスク項目2}}**:
(同様の形式で記述)
---
*依存関係に関連するリスク評価はリスク評価ファイルを参照してください。*
{{ベースディレクトリ}}/risks.md
# 状態遷移分析 - リスク評価
**実施日時**: {{実施日時}}
**分析者**: Claude Code
[← インデックスに戻る](./index.md) | [サマリー](./summary.md)
---
## 総合リスク評価
| 項目 | 評価 | 理由 |
|------|------|------|
| 状態の複雑度 | 高/中/低 | {{理由}} |
| データ整合性 | 高/中/低 | {{理由}} |
| エラーハンドリング | 高/中/低 | {{理由}} |
| テスタビリティ | 高/中/低 | {{理由}} |
| **総合評価** | **高/中/低** | {{総合的な理由}} |
---
## 状態の複雑度リスク
### 状態数
- **検出された状態数**: XX個
- **評価**: 高/中/低
- **理由**: {{評価の理由}}
### 遷移パターン数
- **検出された遷移パターン数**: XX個
- **評価**: 高/中/低
- **理由**: {{評価の理由}}
### 循環遷移
- **循環遷移の有無**: あり/なし
- **循環パターン**: {{パターンの説明}}
- **評価**: 高/中/低
- **理由**: {{評価の理由}}
---
## データ整合性リスク
### 複数データの状態連動
| 連動パターン | 関連データ数 | トランザクション | リスク |
|-------------|------------|----------------|-------|
| {{パターン1}} | X個 | 同一/別 | 高/中/低 |
| {{パターン2}} | X個 | 同一/別 | 高/中/低 |
#### 高リスク項目の詳細
1. **{{連動パターン名}}**:
- リスクの内容: {{説明}}
- 影響範囲: {{影響}}
- 発生条件: {{条件}}
- 推奨対応: {{対応方法}}
### トランザクション境界の問題
- **不明確なトランザクション境界**: XX箇所
- **評価**: 高/中/低
- **具体例**:
- [{{相対パス}}]({{相対パス}}#L{{行番号}})
- 問題点: {{問題の説明}}
### ロールバック処理
- **ロールバック処理の実装**: あり/なし/一部
- **評価**: 高/中/低
- **未実装箇所**:
- [{{相対パス}}]({{相対パス}}#L{{行番号}})
---
## エラーハンドリングリスク
### 異常系の遷移定義
- **定義済み異常遷移**: XX個
- **未定義の可能性がある異常遷移**: XX個
- **評価**: 高/中/低
#### 未定義の異常遷移
1. **{{状態A}} でエラーが発生した場合**:
- 現状: {{現状の動作}}
- 問題点: {{問題}}
- 推奨対応: {{対応方法}}
### リトライ処理
- **リトライ処理の実装**: あり/なし/一部
- **評価**: 高/中/低
- **問題箇所**:
- [{{相対パス}}]({{相対パス}}#L{{行番号}})
- 問題点: {{問題の説明}}
### エラー通知
- **エラー通知の実装**: あり/なし/一部
- **評価**: 高/中/低
- **不足箇所**:
- {{箇所の説明}}
---
## テスタビリティリスク
### 状態遷移のテストカバレッジ
- **テスト済み遷移パターン**: XX / YY 個 (XX%)
- **評価**: 高/中/低
#### 未テストの遷移
| 遷移元 | 遷移先 | 機能 | リスク |
|-------|--------|------|-------|
| {{状態A}} | {{状態B}} | [詳細](./functions.md#func1) | 高/中/低 |
### エッジケースのテスト
- **エッジケースのテスト**: あり/なし/一部
- **評価**: 高/中/低
- **未テストのエッジケース**:
1. {{エッジケース1}}
2. {{エッジケース2}}
---
## セキュリティリスク
### 権限チェック
- **権限チェックの実装**: あり/なし/一部
- **評価**: 高/中/低
- **不足箇所**:
- [{{相対パス}}]({{相対パス}}#L{{行番号}})
- 問題点: {{問題の説明}}
### 状態遷移の不正操作
- **不正操作の防止**: あり/なし/一部
- **評価**: 高/中/低
- **脆弱性の可能性**:
- {{脆弱性の説明}}
---
## パフォーマンスリスク
### 高頻度で実行される遷移
| 遷移 | 実行頻度 | パフォーマンス影響 | リスク |
|------|---------|------------------|-------|
| {{遷移1}} | 高 | {{影響}} | 高/中/低 |
### データベースロック
- **ロックの発生可能性**: あり/なし
- **評価**: 高/中/低
- **リスク箇所**:
- [{{相対パス}}]({{相対パス}}#L{{行番号}})
---
## リスクの優先順位
### 即座に対応が必要(高リスク)
1. **{{リスク項目1}}**:
- リスクレベル: 高
- 影響範囲: {{影響}}
- 推奨対応: {{対応方法}}
- 所要時間: {{概算}}
2. **{{リスク項目2}}**:
(同様の形式で記述)
### レビューと検証が必要(中リスク)
1. **{{リスク項目}}**:
- リスクレベル: 中
- 影響範囲: {{影響}}
- 推奨対応: {{対応方法}}
### 念のため確認推奨(低リスク)
1. **{{リスク項目}}**:
- リスクレベル: 低
- 推奨対応: {{対応方法}}
---
*リスクへの対応方法は推奨事項ファイルを参照してください。*
{{ベースディレクトリ}}/recommendations.md
# 状態遷移分析 - 推奨事項
**実施日時**: {{実施日時}}
**分析者**: Claude Code
[← インデックスに戻る](./index.md) | [サマリー](./summary.md)
---
## 優先度: 高(即座に対応が必要)
### 1. {{推奨事項1}}
- **対象箇所**: [{{相対パス}}]({{相対パス}}#L{{行番号}})
- **現状の問題**: {{問題の説明}}
- **推奨対応**:
1. {{対応ステップ1}}
2. {{対応ステップ2}}
3. {{対応ステップ3}}
- **期待される効果**: {{効果}}
- **所要時間**: {{概算}}
- **関連リスク**: [{{リスク名}}](./risks.md)
### 2. {{推奨事項2}}
(同様の形式で記述)
---
## 優先度: 中(レビューと検証が必要)
### 1. {{推奨事項}}
- **対象箇所**: [{{相対パス}}]({{相対パス}}#L{{行番号}})
- **現状の問題**: {{問題の説明}}
- **推奨対応**: {{対応方法}}
- **期待される効果**: {{効果}}
- **関連リスク**: [{{リスク名}}](./risks.md)
---
## 優先度: 低(念のため確認推奨)
### 1. {{推奨事項}}
- **対象箇所**: [{{相対パス}}]({{相対パス}}#L{{行番号}})
- **推奨対応**: {{対応方法}}
---
## テスト強化の推奨
### ユニットテスト
**追加すべきテストケース**:
1. **{{テストケース1}}**:
- テスト内容: {{内容}}
- 対象機能: [{{機能名}}](./functions.md#func1)
- 優先度: 高/中/低
2. **{{テストケース2}}**:
(同様の形式で記述)
### 統合テスト
**追加すべきテストシナリオ**:
1. **{{シナリオ1}}**:
- シナリオ: {{説明}}
- 検証する遷移: {{遷移パターン}}
- 優先度: 高/中/低
### E2Eテスト
**追加すべきユーザーシナリオ**:
1. **{{シナリオ1}}**:
- ユーザーストーリー: {{説明}}
- 検証する状態遷移: {{遷移フロー}}
- 優先度: 高/中/低
---
## ドキュメント整備の推奨
### 状態遷移仕様書
- **現状**: {{現状のドキュメント状況}}
- **推奨内容**:
- 状態遷移図の作成(本分析結果を参照)
- 各遷移の条件とビジネスルールの明文化
- エラーケースの定義
- **利用者**: 開発者、QAエンジニア、プロダクトオーナー
### API仕様書
- **現状**: {{現状の仕様書}}
- **推奨内容**:
- 状態遷移を行うAPIエンドポイントの明記
- 遷移可能な状態の組み合わせの記載
- エラーレスポンスの詳細化
---
## コード改善の推奨
### リファクタリング
1. **{{リファクタリング項目1}}**:
- 対象: [{{相対パス}}]({{相対パス}}#L{{行番号}})
- 問題点: {{問題}}
- 推奨改善: {{改善方法}}
- メリット: {{メリット}}
### デザインパターンの適用
1. **State パターンの適用**:
- 対象: {{対象箇所}}
- 理由: {{適用する理由}}
- 期待される効果: {{効果}}
---
## モニタリングとアラートの推奨
### 状態遷移のモニタリング
- **推奨メトリクス**:
1. 各状態の滞在時間
2. 遷移の成功率/失敗率
3. 異常遷移の発生頻度
- **実装方法**: {{実装の提案}}
### アラート設定
- **推奨アラート**:
1. {{アラート1}}: {{条件と通知先}}
2. {{アラート2}}: {{条件と通知先}}
---
## エラーハンドリング改善の推奨
### リトライ処理の追加
- **対象箇所**: [{{相対パス}}]({{相対パス}}#L{{行番号}})
- **推奨リトライ戦略**:
- 最大リトライ回数: {{回数}}
- リトライ間隔: {{間隔}}
- リトライ対象エラー: {{エラー種別}}
### エラー通知の改善
- **対象箇所**: {{箇所}}
- **推奨通知方法**: {{方法}}
- **通知内容**: {{内容}}
---
## セキュリティ強化の推奨
### 権限チェックの追加
- **対象箇所**: [{{相対パス}}]({{相対パス}}#L{{行番号}})
- **推奨チェック内容**:
- {{チェック項目1}}
- {{チェック項目2}}
### 監査ログの追加
- **対象遷移**: {{遷移}}
- **記録すべき情報**:
- {{情報1}}
- {{情報2}}
---
## データ整合性改善の推奨
### トランザクション境界の明確化
- **対象箇所**: [{{相対パス}}]({{相対パス}}#L{{行番号}})
- **推奨対応**: {{対応方法}}
### 整合性チェックの追加
- **対象データ**: {{データ名}}
- **推奨チェック内容**:
- {{チェック項目1}}
- {{チェック項目2}}
---
## その他の推奨事項
1. **{{その他の推奨1}}**:
- 内容: {{説明}}
- 期待される効果: {{効果}}
2. **{{その他の推奨2}}**:
(同様の形式で記述)
---
*各推奨事項の詳細なリスク評価はリスク評価ファイルを参照してください。*
重要: 必ず以下の順序でファイルを作成してください:
{{ベースディレクトリ}}/index.md){{ベースディレクトリ}}/summary.md){{ベースディレクトリ}}/diagram.md){{ベースディレクトリ}}/transitions.md){{ベースディレクトリ}}/functions.md){{ベースディレクトリ}}/dependencies.md){{ベースディレクトリ}}/risks.md){{ベースディレクトリ}}/recommendations.md)各ファイルは Write ツールを使って個別に保存してください。一つのファイルにまとめないでください。 </state_transition_analysis_template>
<summary_template> あなたは状態遷移分析のサマリー作成エキスパートです。以下の情報に基づいて、最終サマリーを作成してください。
対象データ名: {{対象データ名}} 分析ファイルリスト: {{分析ファイルリスト}} 最終サマリーファイル名: {{サマリーファイル名}}(例: ".dcs/20251026143000_order_state/final_summary.md") カレントディレクトリ: {{カレントディレクトリ}}
すべてのファイルパスは、カレントディレクトリを基準とした相対パスで記載してください。 絶対パス(/Users/... など)は使用しないでください。 このファイルは500行以内に収まるように簡潔に記述してください。
以下の出力形式で {{サマリーファイル名}} に結果を保存してください。
# 状態遷移分析 - 最終サマリー
**実施日時**: {{実施日時}}
**分析者**: Claude Code
---
## ナビゲーション
- [初回分析インデックス](./index.md)
- [初回分析サマリー](./summary.md)
(追加調査がある場合は追加)
- [追加調査2インデックス](./{base_filename}_2/index.md)
- [追加調査3インデックス](./{base_filename}_3/index.md)
---
## 分析概要
### 対象データ
- **データ名**: {{対象データ名}}
- **状態フィールド**: {{状態フィールド名}}
- **データの種類**: {{データの種類}}
### 分析実施状況
- **実施した分析回数**: {{分析回数}}回(初回 + 追加調査{{N}}回)
- **作成されたファイル数**: {{ファイル数}}件
---
## 総合サマリー
| 項目 | 内容 |
|------|------|
| 検出された状態数 | XX個 |
| 遷移パターン数 | XX個 |
| 機能数 | XX個 |
| データ依存関係数 | XX個 |
| 総合リスク評価 | **高/中/低** |
### 総合リスク評価の根拠
{{全体を通じたリスク評価の理由を記述}}
---
## 状態遷移の全体像
### 状態値の一覧
| 状態値 | 説明 | 遷移元となる回数 | 遷移先となる回数 |
|-------|------|----------------|----------------|
| {{状態1}} | {{説明}} | XX回 | XX回 |
| {{状態2}} | {{説明}} | XX回 | XX回 |
| ... | ... | ... | ... |
### 遷移パターンの統計
| 分類 | 件数 | 備考 |
|------|------|------|
| 正常遷移 | XX件 | {{備考}} |
| 異常遷移 | XX件 | {{備考}} |
| 補正遷移 | XX件 | {{備考}} |
| 自動遷移 | XX件 | {{備考}} |
---
## 主要な発見事項
### 重要なハイライト
1. **{{ハイライト1のタイトル}}**
- {{詳細説明}}
- 影響: {{影響の概要}}
- リスク: 高/中/低
2. **{{ハイライト2のタイトル}}**
- {{詳細説明}}
- 影響: {{影響の概要}}
- リスク: 高/中/低
3. **{{ハイライト3のタイトル}}**
- {{詳細説明}}
- 影響: {{影響の概要}}
- リスク: 高/中/低
---
## 複雑な遷移パターン
### パターン1: {{パターン名}}
- **遷移フロー**: {{状態A}} → {{状態B}} → {{状態C}}
- **トリガー**: {{トリガー}}
- **複雑度の理由**: {{理由}}
- **関連データ**: {{データ名}}
- **リスク**: 高/中/低
---
## データ依存関係の統合情報
### 関連データの一覧
| データ名 | 関係種別 | 状態連動 | リスク |
|---------|---------|---------|-------|
| {{データA}} | 1:N | あり | 高/中/低 |
| {{データB}} | N:1 | あり | 高/中/低 |
| ... | ... | ... | ... |
### 複合的な状態依存
- **パターン**: {{パターン名}}
- **関係するデータ**: {{データ名リスト}}
- **整合性リスク**: 高/中/低
---
## 統合リスク評価
| リスク分類 | 評価 | 主な問題点 |
|-----------|------|-----------|
| 状態の複雑度 | 高/中/低 | {{問題点}} |
| データ整合性 | 高/中/低 | {{問題点}} |
| エラーハンドリング | 高/中/低 | {{問題点}} |
| テスタビリティ | 高/中/低 | {{問題点}} |
| セキュリティ | 高/中/低 | {{問題点}} |
| パフォーマンス | 高/中/低 | {{問題点}} |
---
## 統合推奨アクション
### 優先度: 高(即座に対応が必要)
1. [{{相対パス}}]({{相対パス}}#L{{行番号}}) - {{推奨事項}}
2. [{{相対パス}}]({{相対パス}}#L{{行番号}}) - {{推奨事項}}
3. [{{相対パス}}]({{相対パス}}#L{{行番号}}) - {{推奨事項}}
### 優先度: 中(レビューと検証が必要)
1. {{推奨事項}}
2. {{推奨事項}}
3. {{推奨事項}}
### 優先度: 低(念のため確認推奨)
1. {{推奨事項}}
2. {{推奨事項}}
---
## 全体的な改善方針
### 短期的な改善(1-2週間)
1. **{{改善項目1}}**
- 内容: {{説明}}
- 期待される効果: {{効果}}
2. **{{改善項目2}}**
(同様の形式で記述)
### 中期的な改善(1-2ヶ月)
1. **{{改善項目}}**
- 内容: {{説明}}
- 期待される効果: {{効果}}
### 長期的な改善(3ヶ月以上)
1. **{{改善項目}}**
- 内容: {{説明}}
- 期待される効果: {{効果}}
---
## テスト戦略
### ユニットテスト強化
- **追加すべきテストケース数**: XX個
- **重点テスト対象**:
1. {{対象1}}
2. {{対象2}}
### 統合テスト強化
- **追加すべきシナリオ数**: XX個
- **重点シナリオ**:
1. {{シナリオ1}}
2. {{シナリオ2}}
### E2Eテスト強化
- **追加すべきユーザーストーリー数**: XX個
- **重点ストーリー**:
1. {{ストーリー1}}
2. {{ストーリー2}}
---
## ドキュメント整備計画
1. **状態遷移仕様書の作成**
- 本分析結果を基にした正式仕様書
- 対象読者: 開発者、QA、PO
2. **API仕様書の更新**
- 状態遷移に関する情報の追加
- エラーケースの明文化
3. **運用ドキュメントの作成**
- モニタリング方法
- トラブルシューティング
---
## 追加で考慮すべき事項
1. **{{考慮事項1}}**
- {{詳細}}
2. **{{考慮事項2}}**
- {{詳細}}
3. **{{考慮事項3}}**
- {{詳細}}
---
## 詳細分析ファイル一覧
以下のファイルに詳細な分析結果が記録されています:
### 初回分析
1. [インデックス](./index.md)
2. [サマリー](./summary.md)
3. [状態遷移図](./diagram.md)
4. [遷移表](./transitions.md)
5. [機能別分析](./functions.md)
6. [データ依存関係](./dependencies.md)
7. [リスク評価](./risks.md)
8. [推奨事項](./recommendations.md)
(追加調査がある場合は追加)
### 追加調査
...
---
## 分析の制限事項と注意点
- {{制限事項1}}
- {{制限事項2}}
- {{制限事項3}}
---
*このサマリーは複数の分析結果を統合して自動生成されたものです。詳細は個別の分析ファイルを参照してください。*
必ず Write ツールを使用して、{{サマリーファイル名}} に結果を保存してください。 </summary_template>