Claude-skill-registry detailed-design-templates
詳細設計書作成時のテンプレート集(フロントエンド設計書、Issue作成テンプレート等)
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/detailed-design-templates" ~/.claude/skills/majiayu000-claude-skill-registry-detailed-design-templates && rm -rf "$T"
manifest:
skills/data/detailed-design-templates/SKILL.mdsource content
詳細設計テンプレート集
参照元: 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 |
|---|---|---|---|
| Page | ルーティング、レイアウト | - |
| Container | 状態管理、API呼び出し | - |
| Presentational | UI表示 | , |
2. 状態管理設計
2.1 状態の種類と管理方針
| 状態 | スコープ | 管理方法 | 永続化 |
|---|---|---|---|
| ユーザー認証 | グローバル | Zustand/Context | LocalStorage |
| フォーム入力 | ローカル | useState/useForm | - |
| サーバーデータ | キャッシュ | React Query/SWR | - |
2.2 グローバル状態
interface {Feature}State { // 状態の型定義 }
3. カスタムフック設計
| フック名 | 責務 | 引数 | 戻り値 |
|---|---|---|---|
| {機能}のロジック | - | |
| データ更新 | - | |
4. API連携設計
4.1 使用エンドポイント
| API | メソッド | 用途 | フック |
|---|---|---|---|
| GET | データ取得 | |
| POST | データ作成 | |
4.2 エラーハンドリング
| エラーコード | 画面表示 | リカバリ方法 |
|---|---|---|
| 400 | バリデーションエラー表示 | フォーム修正を促す |
| 401 | ログイン画面へリダイレクト | - |
| 500 | エラーメッセージ表示 | リトライボタン |
5. フォームバリデーション
| フィールド | ルール | ライブラリ | エラーメッセージ |
|---|---|---|---|
| 必須, メール形式 | zod/yup | メールアドレスを入力してください |
6. ルーティング設計
| パス | コンポーネント | 認証 | ガード |
|---|---|---|---|
| | O | |
7. パフォーマンス考慮
| 最適化項目 | 実装方法 |
|---|---|
| 不要な再レンダリング防止 | , , |
| 遅延読み込み | , |
| 仮想スクロール | (大量データ時) |
8. テスト方針
| テスト種別 | 対象 | ツール |
|---|---|---|
| Unit | カスタムフック | Jest, React Testing Library |
| Integration | Container + API | MSW |
| E2E | ユーザーフロー | Playwright |
9. 呼び出し元(Integration Points)⚠️ 必須
重要: このセクションがないと Phase 6.6(設計書整合性チェック)で統合漏れを検出できません。
9.1 このコンポーネントを使用する場所
| 呼び出し元 | 使用方法 | 統合Issue |
|---|---|---|
| をレンダリング | #{issue_number} |
| Navigationから へリンク | #{issue_number} |
9.2 ルーティング統合
| パス | ページコンポーネント | 統合確認コマンド |
|---|---|---|
| | |
9.3 統合確認手順
# 1. ページが正しく配置されているか ls app/{path}/page.tsx # 2. ナビゲーションからリンクされているか grep -r '/{path}' components/ # 3. 実際にブラウザで動作確認 npm run dev # → http://localhost:3000/{path} にアクセス
変更履歴
| 日付 | バージョン | 変更内容 | 担当者 |
|---|---|---|---|
| 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} ## 呼び出し元(Integration Points)⚠️ 必須 > **重要**: このセクションがないと Phase 6.6(設計書整合性チェック)で統合漏れを検出できません。 ### このモジュールを使用する場所 | 呼び出し元ファイル | 使用方法 | 統合Issue | |------------------|---------|----------| | `{path/to/caller.rs}` | `{ClassName}::{method}()` を呼び出す | #{issue_number} | | `{path/to/cli.rs}` | `{command}` コマンドで使用 | #{issue_number} | ### 統合確認コマンド ```bash # 呼び出し元から実際に参照されているか確認 grep -r '{ModuleName}\|{ClassName}' {caller_path} # CLIコマンドの動作確認(該当する場合) {cli_command} --help {cli_command} {test_args}
この機能を使用する他のIssue
- #{related_issue} - {概要}
完了条件
- 実装完了(200行以下)
- テスト通過
- レビュー9点以上
- 呼び出し元からの統合確認 ⚠️ 新規追加
依存
- #{依存するIssue番号}
### ドキュメント更新Issueテンプレート ```markdown ## 概要 {機能名}の実装完了に伴い、関連ドキュメントを更新する。 ## 親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定義を記述する。
対応タイプ(概要)
| カテゴリ | タイプ例 |
|---|---|
| フォーム系 | , , , |
| 一覧系 | , , , , , |
| 詳細・ダッシュボード | , , , |
| 複合・オーバーレイ | , , , , , , |
| その他 | , , , , |
生成コマンド
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使用、エラーラップ |