| name | generate-steering-docs |
| description | 永続化ドキュメント(Steering Documents)を初期生成します。プロダクトのコードを自動解析し、ユーザーへのヒアリングを組み合わせて6種のドキュメントを生成します。併せて generate-working-docs のテンプレートをプロダクト用にカスタマイズします。「永続化ドキュメントを作成して」「steering docs を作って」などで呼び出されます。 |
永続化ドキュメント生成スキル
概要
このスキルは、プロダクトの「信頼できる情報源(Single Source of Truth)」となる永続化ドキュメント群を docs/steering/ 配下に初期生成します。
生成後、永続化ドキュメントの内容をもとに generate-working-docs のテンプレートをプロダクト用にカスタマイズします。
生成ファイル
| ファイル | 内容 |
|---|
01_product_requirements.md | プロダクト要求定義書 |
02_functional_design.md | 機能設計書 |
03_architecture_specifications.md | 技術仕様書 |
04_repository_structure.md | リポジトリ構造定義書 |
05_development_guidelines.md | 開発ガイドライン |
06_ubiquitous_language.md | ユビキタス言語定義書 |
実行手順
1. プロダクトの自動解析
プロダクトのルートディレクトリを走査し、以下の情報を自動で収集します。
収集する情報:
- 技術スタック: package.json、Cargo.toml、go.mod、requirements.txt、Gemfile 等の依存定義ファイルから言語・フレームワーク・ライブラリを特定
- ディレクトリ構造: プロジェクトのディレクトリ構成と各ディレクトリの役割を推定
- ビルド・実行コマンド: package.json の scripts、Makefile、Dockerfile 等からコマンドを抽出
- テスト環境: テストフレームワーク、テスト設定ファイル、テスト実行コマンドを特定
- lint・フォーマット設定: .eslintrc、.prettierrc、rustfmt.toml 等から規約を抽出
- 既存の型定義・モデル: ドメインモデルの型定義やスキーマからユビキタス言語の候補を収集
2. ユーザーへのヒアリング
コードから判断できない情報をユーザーに質問します。質問は以下の項目に絞ります。
必須の質問(最大5問):
- プロダクト名と一言での説明
- プロダクトの目的(誰のどんな課題を解決するか)
- 主要な機能の一覧(箇条書きで)
- 対象ユーザー(開発者向け、エンドユーザー向け等)
- 現在のスコープ(対象としていないこと)
任意の質問(必要に応じて):
- チーム固有の開発ルールはあるか
- 業務ドメイン特有の用語はあるか
3. ドキュメントの生成
収集した情報とヒアリング結果をもとに、templates/ 配下のテンプレートを使って6種のドキュメントを生成します。
mkdir -p docs/steering
各テンプレートの詳細:
重要: テンプレートの穴埋めではなく、自動解析とヒアリングで得た情報をもとに実際の内容を記載してください。
4. 生成結果の確認
生成したドキュメント一覧をユーザーに報告し、内容の確認・修正を促します。
以下のドキュメントを生成しました:
✅ docs/steering/01_product_requirements.md
✅ docs/steering/02_functional_design.md
✅ docs/steering/03_architecture_specifications.md
✅ docs/steering/04_repository_structure.md
✅ docs/steering/05_development_guidelines.md
✅ docs/steering/06_ubiquitous_language.md
内容を確認して、修正が必要な箇所があればお知らせください。
5. generate-working-docs テンプレートのカスタマイズ
生成した永続化ドキュメントの内容をもとに、.claude/skills/generate-working-docs/templates/ 配下のテンプレートをプロダクト用にカスタマイズします。
カスタマイズの判断基準:
| 永続化ドキュメントの内容 | テンプレートへの反映 |
|---|
| 技術仕様書にAPI(REST/GraphQL等)の記載あり | design.md に「API設計」セクションを具体化(エンドポイント表など) |
| 技術仕様書にDB(RDB/NoSQL等)の記載あり | design.md に「DB設計」セクションを追加(テーブル定義、マイグレーションなど) |
| 技術仕様書にフロントエンドフレームワークの記載あり | design.md に「UI設計」セクションを具体化(コンポーネント構成など) |
| 開発ガイドラインにテストフレームワークの記載あり | testing.md の自動テストセクションに具体的な実行コマンドを記載 |
| 開発ガイドラインにE2Eテストの記載あり | testing.md にE2Eテストセクションを追加 |
| リポジトリ構造に特徴的なディレクトリあり | requirements.md の「実装対象ファイル」にディレクトリ例を記載 |
| ユビキタス言語に主要用語の定義あり | テンプレート内のプレースホルダーに用語例を反映 |
カスタマイズ後の報告:
開発作業ドキュメントのテンプレートをプロダクトに合わせてカスタマイズしました:
✅ requirements.md - 実装対象ファイルの例を追加
✅ design.md - 「API設計(REST)」「DB設計(PostgreSQL)」セクションを追加
✅ tasklist.md - カスタマイズ完了
✅ testing.md - 「ユニットテスト(Jest)」「E2Eテスト(Playwright)」セクションを追加
注意事項
- このスキルはプロダクトへの初回導入時に1回実行することを想定しています
- 生成されたドキュメントは初期版です。開発を進めながら Claude Code に依頼して段階的に充実させてください
- 永続化ドキュメントの更新ルールは CLAUDE.md に記載してください(claude-md-snippets を参照)