アイデアを整理して実現可能なPRDを作成する
Guides users through ambiguous ideas to create feasible Product Requirements Documents.
/plugin marketplace add classmethod/tsumiki/plugin install tsumiki@tsumiki機能やアイデアの概要(任意)dcs/曖昧なアイデアや要望を対話を通じて整理し、実現可能なPRD(Product Requirements Document)を作成します。コードベースの調査、技術検証、要件の具体化を段階的に進めます。
出力ディレクトリ=".dcs" カレントディレクトリ={{プロジェクトルート}} セッションファイルリスト=[] イテレーション回数=0 最大イテレーション=10
AskUserQuestion ツールを使って、以下の質問を実施する:
contextとして以下を保持する:
各イテレーションの終わりに、以下の基準で次のアクションを判断する:
index.md - セッション全体のインデックスconversation.md - 会話履歴の記録context.md - 整理されたコンテキスト情報research.md - 技術調査・コード調査の結果prd.md - 最終的なPRD.dcs/20251025123456_order_export/index.md.dcs/20251025123456_order_export/conversation.md.dcs/20251025123456_order_export/context.md.dcs/20251025123456_order_export/research.md.dcs/20251025123456_order_export/prd.md/Users/makotan/projects/ensemble-si/backend/src/main/kotlin/si/ensemble/api/backend/src/main/kotlin/si/ensemble/api/各イテレーションで以下を実施する:
イテレーション情報を会話履歴ファイルに記録する
最大イテレーション(10回)に達したら、現状をまとめて PRD 作成を提案する
# ラバーダックセッション - インデックス
**開始日時**: {{開始日時}}
**最終更新**: {{最終更新日時}}
**ファシリテーター**: Claude Code
---
## セッション概要
### アイデア
{{アイデアの概要}}
### カテゴリ
{{カテゴリ}}
### 優先度
{{優先度}}
### 現在のステータス
- **イテレーション**: {{現在のイテレーション}}/{{最大イテレーション}}
- **フェーズ**: 対話中 / PRD作成完了
- **進捗**: {{進捗状況の簡単な説明}}
---
## セッションファイル一覧
- [会話履歴](./conversation.md) - 全ての対話記録
- [整理されたコンテキスト](./context.md) - 要件と技術情報の整理
- [調査結果](./research.md) - 技術調査・コード調査の結果
- [PRD](./prd.md) - 最終的なProduct Requirements Document
---
## クイックサマリー
### 主要な要件
1. {{要件1}}
2. {{要件2}}
3. {{要件3}}
### 技術的な考慮事項
- {{考慮事項1}}
- {{考慮事項2}}
### 次のステップ
- {{次にやるべきこと}}
---
*セッションの詳細は各ファイルを参照してください。*
# ラバーダックセッション - 会話履歴
**開始日時**: {{開始日時}}
**最終更新**: {{最終更新日時}}
[← インデックスに戻る](./index.md)
---
## イテレーション 1
**日時**: {{日時}}
### ユーザー
{{ユーザーの発言}}
### Claude
{{Claudeの応答}}
### アクション
- {{実施したアクション1}}
- {{実施したアクション2}}
---
## イテレーション 2
(同様の形式で記録)
---
*会話は時系列順に記録されています。*
# ラバーダックセッション - コンテキスト
**最終更新**: {{最終更新日時}}
[← インデックスに戻る](./index.md)
---
## アイデアの概要
{{アイデアの詳細な説明}}
---
## ユーザーストーリー
### As a {{ユーザー種別}}
I want to {{やりたいこと}}
So that {{目的・理由}}
---
## 要件定義
### 機能要件
1. **{{要件1のタイトル}}**
- 説明: {{詳細説明}}
- 優先度: 高/中/低
- 実現方法: {{技術的なアプローチ}}
2. **{{要件2のタイトル}}**
(同様の形式)
### 非機能要件
- **パフォーマンス**: {{パフォーマンス要件}}
- **セキュリティ**: {{セキュリティ要件}}
- **可用性**: {{可用性要件}}
- **保守性**: {{保守性要件}}
---
## 技術的考慮事項
### 既存システムとの統合
- {{統合ポイント1}}
- {{統合ポイント2}}
### 技術スタック
- **Frontend**: {{使用する技術}}
- **Backend**: {{使用する技術}}
- **Database**: {{使用する技術}}
- **その他**: {{その他の技術}}
### 制約条件
- {{制約1}}
- {{制約2}}
---
## ユーザーインターフェース
### 画面・機能一覧
1. {{画面名1}} - {{説明}}
2. {{画面名2}} - {{説明}}
### データフロー
{{データの流れを説明}}
---
## 疑問点・未解決事項
- [ ] {{疑問点1}}
- [ ] {{疑問点2}}
- [x] {{解決済みの疑問点}}
---
*このコンテキストは対話を通じて継続的に更新されています。*
# ラバーダックセッション - 調査結果
**最終更新**: {{最終更新日時}}
[← インデックスに戻る](./index.md)
---
## 調査1: {{調査のタイトル}}
**実施日時**: {{日時}}
**目的**: {{調査の目的}}
### 調査方法
- {{使用したツールや方法}}
### 調査結果
{{調査で分かったこと}}
### 関連ファイル
- [{{ファイルパス1}}]({{相対パス1}})
- [{{ファイルパス2}}]({{相対パス2}})
### 結論
{{調査から得られた結論}}
---
## 調査2: {{調査のタイトル}}
(同様の形式)
---
## 技術検証サマリー
### 実現可能性
- **評価**: 高/中/低
- **理由**: {{評価の理由}}
### リスク
1. {{リスク1}} - 対策: {{対策}}
2. {{リスク2}} - 対策: {{対策}}
### 推奨アプローチ
{{推奨する技術的アプローチ}}
---
*調査結果は時系列順に記録されています。*
<prd_template> あなたは製品要件定義のエキスパートです。以下の情報に基づいて、実現可能なPRD(Product Requirements Document)を作成してください。
アイデアの概要: {{アイデアの概要}} カテゴリ: {{カテゴリ}} 優先度: {{優先度}} セッションファイルリスト: {{セッションファイルリスト}} ベースディレクトリ: {{ベースディレクトリ}} カレントディレクトリ: {{カレントディレクトリ}}
すべてのファイルパスは、カレントディレクトリを基準とした相対パスで記載してください。 絶対パス(/Users/... や C:\... など)は使用しないでください。 PRDは読みやすく、実装者が理解しやすい形式で記述してください。
以下の出力形式で {{ベースディレクトリ}}/prd.md に結果を保存してください。
# PRD: {{機能名}}
**作成日**: {{作成日}}
**最終更新**: {{最終更新日}}
**ステータス**: Draft / Review / Approved
**優先度**: {{優先度}}
[← インデックスに戻る](./index.md)
---
## 1. エグゼクティブサマリー
### 概要
{{機能の概要を3-5行で簡潔に}}
### 背景と目的
{{なぜこの機能が必要なのか}}
### 期待される成果
- {{成果1}}
- {{成果2}}
- {{成果3}}
---
## 2. ユーザーストーリー
### プライマリーユーザーストーリー
As a {{ユーザー種別}} I want to {{やりたいこと}} So that {{目的・理由}}
### セカンダリーユーザーストーリー
(必要に応じて追加)
---
## 3. 機能要件
### 3.1 MVP(Minimum Viable Product)範囲
#### 必須機能
1. **{{機能1のタイトル}}**
- **説明**: {{詳細説明}}
- **受け入れ基準**:
- [ ] {{基準1}}
- [ ] {{基準2}}
- **優先度**: 高
- **見積もり**: {{工数}}
2. **{{機能2のタイトル}}**
(同様の形式)
#### 除外する機能(将来的に実装予定)
- {{除外機能1}} - 理由: {{理由}}
- {{除外機能2}} - 理由: {{理由}}
### 3.2 フェーズ2以降の機能
(MVP後に実装予定の機能)
---
## 4. 非機能要件
### 4.1 パフォーマンス
- **応答時間**: {{要件}}
- **スループット**: {{要件}}
- **リソース使用量**: {{要件}}
### 4.2 セキュリティ
- **認証・認可**: {{要件}}
- **データ保護**: {{要件}}
- **監査ログ**: {{要件}}
### 4.3 可用性・信頼性
- **稼働率**: {{目標値}}
- **エラーハンドリング**: {{要件}}
- **データバックアップ**: {{要件}}
### 4.4 保守性・拡張性
- **コード品質**: {{基準}}
- **テストカバレッジ**: {{目標値}}
- **ドキュメント**: {{要件}}
---
## 5. 技術仕様
### 5.1 アーキテクチャ
#### システム構成
{{システム構成図や説明}}
#### コンポーネント
- **Frontend**: {{使用技術とアプローチ}}
- **Backend**: {{使用技術とアプローチ}}
- **Database**: {{使用技術とアプローチ}}
### 5.2 データモデル
#### 新規テーブル・リソース
1. **{{テーブル名1}}**
- 目的: {{目的}}
- 主要フィールド:
- `{{フィールド1}}`: {{型}} - {{説明}}
- `{{フィールド2}}`: {{型}} - {{説明}}
#### 既存テーブル・リソースの変更
1. **{{テーブル名}}**
- 変更内容: {{変更の説明}}
- 影響: {{影響範囲}}
### 5.3 API設計
#### 新規エンドポイント
1. **POST /api/{{エンドポイント}}**
- 目的: {{目的}}
- リクエスト: {{リクエスト形式}}
- レスポンス: {{レスポンス形式}}
#### 既存エンドポイントの変更
1. **GET /api/{{エンドポイント}}**
- 変更内容: {{変更の説明}}
- 後方互換性: {{互換性の保証方法}}
### 5.4 UI/UX設計
#### 画面一覧
1. **{{画面名1}}**
- 目的: {{目的}}
- 主要要素: {{要素のリスト}}
- ワイヤーフレーム: {{リンクまたは説明}}
#### ユーザーフロー
{{ユーザーの操作フローを説明}}
---
## 6. 実装計画
### 6.1 タスク分解
#### フェーズ1: 基盤実装(見積もり: {{工数}})
1. **{{タスク1}}**
- 内容: {{詳細}}
- 担当: {{担当者またはチーム}}
- 見積もり: {{工数}}
- 依存: なし
2. **{{タスク2}}**
- 内容: {{詳細}}
- 担当: {{担当者またはチーム}}
- 見積もり: {{工数}}
- 依存: {{タスク1}}
#### フェーズ2: 機能実装(見積もり: {{工数}})
(同様の形式)
#### フェーズ3: テスト・統合(見積もり: {{工数}})
(同様の形式)
### 6.2 マイルストーン
| マイルストーン | 完了条件 | 期日 |
|--------------|---------|------|
| {{マイルストーン1}} | {{完了条件}} | {{期日}} |
| {{マイルストーン2}} | {{完了条件}} | {{期日}} |
---
## 7. テスト戦略
### 7.1 単体テスト
- **対象**: {{テスト対象}}
- **カバレッジ目標**: {{目標値}}
- **重点項目**: {{重点的にテストすべき項目}}
### 7.2 統合テスト
- **対象**: {{テスト対象}}
- **シナリオ**: {{主要なテストシナリオ}}
### 7.3 E2Eテスト
- **対象**: {{テスト対象}}
- **ユーザーシナリオ**: {{主要なユーザーシナリオ}}
### 7.4 パフォーマンステスト
- **対象**: {{テスト対象}}
- **負荷条件**: {{負荷条件}}
- **合格基準**: {{合格基準}}
---
## 8. リスクと対策
### 8.1 技術的リスク
| リスク | 影響度 | 発生確率 | 対策 |
|--------|--------|---------|------|
| {{リスク1}} | 高/中/低 | 高/中/低 | {{対策}} |
| {{リスク2}} | 高/中/低 | 高/中/低 | {{対策}} |
### 8.2 ビジネスリスク
| リスク | 影響度 | 発生確率 | 対策 |
|--------|--------|---------|------|
| {{リスク1}} | 高/中/低 | 高/中/低 | {{対策}} |
---
## 9. 依存関係と前提条件
### 9.1 技術的依存
- {{依存1}} - {{状態}}
- {{依存2}} - {{状態}}
### 9.2 ビジネス的依存
- {{依存1}} - {{状態}}
- {{依存2}} - {{状態}}
### 9.3 前提条件
- {{前提1}}
- {{前提2}}
---
## 10. 成功の指標(KPI)
### 定量的指標
- **{{指標1}}**: 目標値 {{値}}、測定方法 {{方法}}
- **{{指標2}}**: 目標値 {{値}}、測定方法 {{方法}}
### 定性的指標
- {{指標1}}
- {{指標2}}
---
## 11. リリース計画
### 11.1 リリース戦略
- **リリース方法**: {{方法}}(例: カナリアリリース、段階的ロールアウト)
- **ロールバック計画**: {{ロールバック方法}}
### 11.2 移行計画
(既存機能からの移行が必要な場合)
- {{移行ステップ1}}
- {{移行ステップ2}}
### 11.3 トレーニング・ドキュメント
- **ユーザードキュメント**: {{必要なドキュメント}}
- **開発者ドキュメント**: {{必要なドキュメント}}
- **トレーニング**: {{必要なトレーニング}}
---
## 12. 関連ドキュメント
- [会話履歴](./conversation.md) - セッションの全対話記録
- [コンテキスト](./context.md) - 整理された要件情報
- [調査結果](./research.md) - 技術調査の詳細
---
## 13. 承認
| 役割 | 名前 | 承認日 | ステータス |
|------|------|--------|-----------|
| プロダクトオーナー | {{名前}} | {{日付}} | Pending/Approved |
| テックリード | {{名前}} | {{日付}} | Pending/Approved |
| アーキテクト | {{名前}} | {{日付}} | Pending/Approved |
---
## 変更履歴
| 日付 | バージョン | 変更内容 | 変更者 |
|------|----------|---------|--------|
| {{日付}} | 1.0 | 初版作成 | Claude Code |
---
*このPRDは対話セッションを通じて作成されました。実装前に関係者のレビューと承認を得てください。*
必ず Write ツールを使用して、{{ベースディレクトリ}}/prd.md に結果を保存してください。 </prd_template>