← Back to list

detailed-design-templates
by takemo101
⭐ 0🍴 0📅 Jan 24, 2026
SKILL.md
name: detailed-design-templates description: 詳細設計書作成時のテンプレート集(フロントエンド設計書、Issue作成テンプレート等)
詳細設計テンプレート集
参照元: detailed-design-workflow コマンド
フロントエンド設計書テンプレート
画面を持つ機能には以下の構成で フロントエンド設計書.md を作成する。
# {機能名} フロントエンド設計書
## メタ情報
| 項目 | 内容 |
|------|------|
| ドキュメントID | DETAIL-{機能ID}-FRONTEND-001 |
| 親設計書 | [詳細設計書.md](./詳細設計書.md) |
---
## 1. コンポーネント構成
### 1.1 コンポーネント階層図
```mermaid
graph TD
Page["{PageName}Page"]
Page --> Container["{Feature}Container"]
Container --> Component1["{Component1}"]
Container --> Component2["{Component2}"]
1.2 コンポーネント一覧
| コンポーネント名 | 種類 | 責務 | Props |
|---|---|---|---|
{Feature}Page | Page | ルーティング、レイアウト | - |
{Feature}Container | Container | 状態管理、API呼び出し | - |
{Component} | Presentational | UI表示 | data, onAction |
2. 状態管理設計
2.1 状態の種類と管理方針
| 状態 | スコープ | 管理方法 | 永続化 |
|---|---|---|---|
| ユーザー認証 | グローバル | Zustand/Context | LocalStorage |
| フォーム入力 | ローカル | useState/useForm | - |
| サーバーデータ | キャッシュ | React Query/SWR | - |
2.2 グローバル状態
interface {Feature}State {
// 状態の型定義
}
3. カスタムフック設計
| フック名 | 責務 | 引数 | 戻り値 |
|---|---|---|---|
use{Feature} | {機能}のロジック | - | { data, isLoading, error } |
use{Feature}Mutation | データ更新 | - | { mutate, isPending } |
4. API連携設計
4.1 使用エンドポイント
| API | メソッド | 用途 | フック |
|---|---|---|---|
/api/xxx | GET | データ取得 | use{Feature}Query |
/api/xxx | POST | データ作成 | use{Feature}Mutation |
4.2 エラーハンドリング
| エラーコード | 画面表示 | リカバリ方法 |
|---|---|---|
| 400 | バリデーションエラー表示 | フォーム修正を促す |
| 401 | ログイン画面へリダイレクト | - |
| 500 | エラーメッセージ表示 | リトライボタン |
5. フォームバリデーション
| フィールド | ルール | ライブラリ | エラーメッセージ |
|---|---|---|---|
| 必須, メール形式 | zod/yup | メールアドレスを入力してください |
6. ルーティング設計
| パス | コンポーネント | 認証 | ガード |
|---|---|---|---|
/xxx | {Feature}Page | O | AuthGuard |
7. パフォーマンス考慮
| 最適化項目 | 実装方法 |
|---|---|
| 不要な再レンダリング防止 | React.memo, useMemo, useCallback |
| 遅延読み込み | React.lazy, Suspense |
| 仮想スクロール | react-virtuoso (大量データ時) |
8. テスト方針
| テスト種別 | 対象 | ツール |
|---|---|---|
| Unit | カスタムフック | Jest, React Testing Library |
| Integration | Container + API | MSW |
| E2E | ユーザーフロー | Playwright |
変更履歴
| 日付 | バージョン | 変更内容 | 担当者 |
|---|---|---|---|
| YYYY-MM-DD | 1.0.0 | 初版作成 | - |
---
## Issue作成テンプレート
### Epic Issue構成
- 概要
- 関連ドキュメント
- スコープ(機能一覧)
- 技術スタック
- 工数見積もり
- 子Issue一覧(**各200行以下**)
- ドキュメント更新Issue
- 依存関係(Mermaid形式)
### 子Issueテンプレート
```markdown
## 概要
{1-2文で機能を説明}
## 親Issue
- Epic: #{epic_issue_number}
## 設計書
- [{設計書名}]({path_to_design_doc})
## 推定規模
| 項目 | 値 |
|------|-----|
| コード量 | {XX}行 |
| ファイル数 | {N}件 |
## 対象ファイル
- `{path/to/file1.rs}` (新規 / 変更)
## 実装内容
- [ ] {実装項目1}
- [ ] {実装項目2}
## 完了条件
- [ ] 実装完了(200行以下)
- [ ] テスト通過
- [ ] レビュー9点以上
## 依存
- #{依存するIssue番号}
ドキュメント更新Issueテンプレート
## 概要
{機能名}の実装完了に伴い、関連ドキュメントを更新する。
## 親Issue
- Epic: #{epic_issue_number}
## 対象ドキュメント
| ファイル | 更新内容 | 必須/任意 |
|----------|---------|----------|
| `README.md` | 機能概要、使用例の追記 | 必須 |
| `CHANGELOG.md` | 変更履歴の追記 | 必須 |
## 更新内容
- [ ] README.md: 機能概要セクションに{機能名}を追加
- [ ] CHANGELOG.md: バージョン・変更内容・日付を追記
## 完了条件
- [ ] 全対象ドキュメントが更新されている
- [ ] マークダウンの構文エラーがない
- [ ] リンク切れがない
## 依存
- 全実装Issue完了後に着手可能
依存関係の記述方法
禁止: ASCII形式
#47 (DB) ─┬─> #48 (Security)
必須: Mermaid形式
```mermaid
flowchart LR
subgraph 共通基盤
DB["#47 DB (80行)"]
SEC["#48 Security (150行)"]
end
subgraph 機能A
A_BE["#49 BE (120行)"]
A_FE["#50 FE (100行)"]
end
DB --> SEC --> A_BE --> A_FE
```
画面設計書の記述ルール
禁止事項
- ASCII art / テキストベースのワイヤーフレーム
- 罫線文字(
┌─┐│└┘等)を使った図表現 - コードブロック内のUI表現
必須事項
- 視覚表現はHTMLモックアップ + スクリーンショット画像のみ
- 状態の説明は表形式または箇条書きで記述
- ワイヤーフレーム定義は Wireframe DSL(YAML形式) で記述
Wireframe DSL スキーマ
詳細リファレンス: {{skill:wireframe-generator}} を参照
画面設計書内に ```yaml wireframe ブロックでYAML定義を記述する。
対応タイプ(概要)
| カテゴリ | タイプ例 |
|---|---|
| フォーム系 | form, auth, wizard, settings |
| 一覧系 | table, card-grid, gallery, kanban, calendar, timeline |
| 詳細・ダッシュボード | detail, profile, dashboard, stats |
| 複合・オーバーレイ | crud, tabs, layout, modal, drawer, confirm, alert |
| その他 | empty-state, hero, pricing, faq, chat |
生成コマンド
cd .opencode/skill/wireframe-generator/scripts
bun install
bun run generate.ts <markdown-file> [output-dir]
リバースエンジニアリング設計書テンプレート
既存コードから自動生成する設計書の構成。
# {モジュール名} 詳細設計書(リバースエンジニアリング)
## メタ情報
| 項目 | 内容 |
|------|------|
| ドキュメントID | {module-name} |
| 生成日 | {DATE} |
| 対象コード | `{TARGET_PATH}` |
| 言語 | {LANGUAGE} |
> 注意: このドキュメントは既存コードから自動生成されました。
---
## 1. 概要
### 1.1 目的
{モジュールの目的 - docstringから抽出}
### 1.2 スコープ
{主要機能のリスト}
---
## 2. モジュール設計
### 2.1 モジュール構成
{ディレクトリ構造}
### 2.2 モジュール依存関係
{Mermaid図}
---
## 3. データ型定義
### 3.1 列挙型(Enum)
### 3.2 構造体(Struct)
### 3.3 トレイト/インターフェース
---
## 4. コアロジック
### 4.1 主要関数/メソッド
| 関数名 | 説明 | 引数 | 戻り値 |
|--------|------|------|--------|
---
## 5. エラーハンドリング
### 5.1 エラー型
### 5.2 エラー処理方針
---
## 6. テスト方針
### 6.1 既存テスト一覧
| テスト名 | テスト内容(推測) | ファイル |
|---------|------------------|---------|
---
## 7. 未解決事項・推測
| ID | 内容 | 確認方法 |
|----|------|---------|
言語別追加セクション
| 言語 | 追加セクション |
|---|---|
| Rust | クレート依存、Feature flags、unsafe使用箇所 |
| TypeScript | コンポーネント階層、状態管理、API連携 |
| Python | デコレータ、型ヒント、依存注入 |
| Go | パッケージ構成、goroutine使用、エラーラップ |
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon