doc-reverse-genlisted
Install: claude install-skill SeckeyJP/j-six
# 設計書逆生成スキル
J-SIX プロセスの Phase 6(ドキュメント生成)で、実装済みコードから設計書を逆生成する。
3層ドキュメント戦略の第3層「逆生成設計書(What/How)」を担当する。
## 概要
コードが Source of Truth であるため、逆生成により設計書⇔コードの乖離が原理的に発生しない。
既存の Spec(第1層)と ADR(第2層)の内容を設計書の該当セクションに自動統合する。
## 引数
- **種別**(第1引数): 生成する設計書の種類
- `basic` — 基本設計書
- `detail` — 詳細設計書
- `if` — IF(インターフェース)設計書
- `db` — DB設計書
- `all` — 上記全て
- **対象パス**(第2引数、省略可): 解析対象のディレクトリまたはファイル。省略時はプロジェクト全体
## 生成手順
### 共通: コードベース解析
1. プロジェクト構造を把握する(ディレクトリ構成、主要ファイル)
2. 技術スタックを特定する(言語、フレームワーク、DB、外部連携)
3. 既存の Spec(`docs/specs/`)を読み込む
4. 既存の ADR(`docs/adr/`)を読み込む
5. CLAUDE.md からプロジェクトのルール・規約を把握する
---
### 基本設計書(basic)
実装コードから以下を抽出・構成する:
```markdown
# 基本設計書 — [システム名]
## 1. システム概要
- 目的(← Spec から引用)
- スコープ(← Spec から引用)
## 2. システム構成
- 全体アーキテクチャ図(コードの依存関係から生成)
- 主要コンポーネント一覧と責務
- 技術スタック
## 3. 機能一覧
- 機能ID、機能名、概要、対応Spec
(ルーティング定義、コントローラ、サービス層から抽出)
## 4. データフロー
- 主要なユースケースのデータフロー
(コードの呼び出し関係から生成)
## 5. 非機能設計
- パフォーマンス(← Spec + 実装から)
- セキュリティ(認証・認可の実装から抽出)
- 可用性・スケーラビリティ
## 6. 設計判断の根拠
(← ADR から自動統合。各判断に ADR 番号を付記)
## 7. 制約・前提条件
(← Spec から引用)
```
**解析対象**:
- エントリポイント(main, index, app)
- ルーティング定義
- ミドルウェア構成
- 設定ファイル(config, env.example)
- package.json / requirements.txt / go.mod 等
---
### 詳細設計書(detail)
モジュール/クラス単位で以下を抽出・構成する:
```markdown
# 詳細設計書 — [モジュール名]
## 1. モジュール概要
- 責務(コード内のコメント、クラス定義から)
- 依存するモジュール
## 2. クラス/関数設計
各クラス・主要関数について:
- 名前、責務
- パラメータ(型、説明)
- 戻り値(型、説明)
- 例外・エラーハンドリング
- 処理フロー(コードロジックから要約)
## 3. 状態遷移(該当する場合)
- 状態遷移図(enum, 状態管理コードから抽出)
## 4. バリデーションルール
- 入力バリデーション