返回 Skill 列表
extension
分类: 开发与工程无需 API Key

functional-design

从产品需求定义文档(docs/product-requirements.md)创建功能设计文档(docs/functional-design.md)。在被要求进行“功能设计”、“创建设计文档”、“将PRD转化为设计”、“组件设计”、“数据模型设计”、“编写序列图”、“创建ER图”等时触发。输出系统架构图、数据模型、组件职责、用例流程和错误设计等内容。

person作者: jakexiaohubgithub

Functional Design Skill

PRD(何を作るか)を設計(どう実現するか)に落とし込む。

入出力

| 種別 | パス | |------|------| | 入力 | docs/product-requirements.md(必須) | | 入力 | docs/functional-design.md(既存あれば優先) | | 出力 | docs/functional-design.md |

参照ファイル

| ファイル | 読むタイミング | |----------|----------------| | ./template.md | 新規作成時のベース | | ./reference.md | 必須項目・レビュー観点の確認時 |

手順

1. PRD読解

docs/product-requirements.md を読み、以下を抽出:
- P0(MVP)機能の要件・受け入れ条件
- ターゲットユーザーのワークフロー
- 成功指標(KPI)
- 非機能要件(あれば)

2. 既存設計の確認

  • docs/functional-design.md が存在する?
    • Yes → 構造を維持して差分更新
    • No./template.md をコピーして新規作成

3. 設計項目の作成

P0機能ごとに以下を埋める(詳細は ./reference.md 参照):

| 項目 | 形式 | 必須 | |------|------|------| | システム構成図 | Mermaid graph TB | ✅ | | データモデル | TypeScript interface | ✅ | | ER図 | Mermaid erDiagram | 複数エンティティ時 | | コンポーネント設計 | 責務・インターフェース | ✅ | | ユースケースフロー | Mermaid sequenceDiagram | ✅ | | エラーハンドリング | 表形式 | ✅ | | アルゴリズム設計 | 計算式・実装例 | 複雑ロジック時 | | API設計 | エンドポイント定義 | Web API時 | | 画面遷移 | Mermaid stateDiagram | UI有時 |

4. PRDとのトレーサビリティ確保

  • 各設計セクションに「対応するPRD機能」を明記
  • 例: ## 診断機能の設計(PRD: 1. 診断)

5. セルフレビュー

./reference.md のレビュー観点でチェック:

  • [ ] PRD P0要件をすべてカバーしているか
  • [ ] データモデルに型・制約・nullable が明記されているか
  • [ ] Mermaidに実コンポーネント名が入っているか
  • [ ] エラーハンドリングが網羅されているか

6. 出力

docs/functional-design.md を作成/更新し、変更点をサマリ提示

発火例

  • 「機能設計書を作って」
  • 「PRDを設計に落として」
  • 「データモデルを定義して」
  • 「コンポーネント設計をお願い」
  • 「診断機能のシーケンス図を書いて」

境界(やらないこと)

  • 要件定義prd-writing スキル
  • 技術選定の深い根拠architecture-design スキル
  • 実装 → 開発タスクとして別途実施