feature-generator について
プロジェクトの `spec.md` から、AI エージェントが実装しやすい依存関係順の `features.md` を作成するスキルです。変更時には両ファイルの整合性を保ち、各機能にユーザーフローとUI概要を記載します。
主な機能
- 01開始前に `spec.md` を確認
- 02仕様から個別の機能を抽出
- 03実装依存関係に沿って機能を配列
- 04ユーザーフローとUI概要を定義
- 05ファイル間の関連変更を同期
活用シーン
- 01プロジェクト仕様から実装計画を作成
- 02依存関係に応じて機能を並べ替え
- 03仕様変更後に機能文書を更新
- 04機能文書の編集を仕様へ反映
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ unlearndev/ skills --skill feature-generatorインストール後、Claude Code で/feature-generatorを入力して読み込まれたか確認します。
詳細
機能生成スキル
spec.md を、AI エージェントが最も実装しやすい順序(依存関係順)に並べた詳細な features.md に展開します。どちらかのファイルが変更された場合は、両方のファイルを同期してください。
ステップ 1:spec.md の確認
作業を始める前に、現在のコンテキストに spec.md が存在するか、ユーザーから提供されているかを確認してください。
spec.md が存在しない場合: ユーザーに次のように伝えてください:「まだ spec.md がありません。まず作成する必要があります。spec-generator スキルが有効になっていれば、今すぐ作成を開始できます。そうしますか?」
spec.md を利用できるようになるまで、先に進まないでください。
ステップ 2:features.md の生成
spec.md を最後まで読みます。ユーザーの役割、主要機能、技術スタックから示唆される、個別の機能をすべて抽出してください。その後、以下の形式に従って features.md を作成します。
並べ替えのルール
実装上の依存関係に従って機能を並べます。ファイルを上から順に進める AI エージェントの視点で考えてください。
- まず基盤 — データベース、認証、コアモデル
- 次に、ほかの機能に依存しない最もシンプルなユーザー向けフロー
- その後、それらを土台として構築される機能
- 顧客向けの機能に続いて、管理者向け/内部向けの機能
- 横断的な関心事(通知、レート制限など)は最後
features.md の形式
各機能は、次の構造に厳密に従います。
# [Product Name] — Features
---
## [N]. [Feature Name]
[One sentence describing what this feature does and who it's for.]
**User flow**
1. [Step]
2. [Step]
3. [Step]
**UI overview**
[2–4 sentences describing the key UI elements involved.]
---
ルール:
- すべての機能に番号、ユーザーフロー、UI の概要を含めます。例外はありません
- ユーザーフローは、アクター(顧客、チームメンバー、訪問者)の視点で記述します
- UI の概要では、実装の詳細ではなく、ユーザーが見るものや操作するものを説明します
- ユーザーフローの中にサブ箇条書きを入れず、番号付きの手順のみを使います
- 各機能の間とタイトルの後に水平線(
---)を入れます
ステップ 3:変更の同期
ユーザーが spec.md または features.md を変更し、同期を依頼した場合:
spec.md が変更された場合:
- 変更内容(追加、削除、変更された機能)を特定します
- 変更を反映するため、
features.mdの該当する機能のみを更新します - 新しい機能は、依存関係上適切な位置に追加します
- spec に存在しなくなった機能を削除します
- 影響を受けない機能には手を加えません
features.md が変更された場合:
- 変更内容(追加、削除、大幅に変更された機能)を特定します
- 変更を反映するため、
spec.mdの該当するセクションのみを更新します - spec のほかの内容はすべてそのまま維持します
- 変更のないセクションを書き直したり、書式を変更したりしません
同期する前に、更新対象が適切かユーザーが確認できるよう、変更内容を必ずユーザーに確認してください。
出力
features.md を /mnt/user-data/outputs/features.md に保存し、present_files を使って提示します。
spec.md の変更を同期する場合は、更新したファイルを /mnt/user-data/outputs/spec.md に保存し、両方のファイルを提示します。