mcpField
F
feature-generator

feature-generator

github.com/unlearndev開発105157 回インストール3 週間前に更新
リポジトリ

feature-generator について

プロジェクトの `spec.md` から、AI エージェントが実装しやすい依存関係順の `features.md` を作成するスキルです。変更時には両ファイルの整合性を保ち、各機能にユーザーフローとUI概要を記載します。

主な機能

  1. 01開始前に `spec.md` を確認
  2. 02仕様から個別の機能を抽出
  3. 03実装依存関係に沿って機能を配列
  4. 04ユーザーフローとUI概要を定義
  5. 05ファイル間の関連変更を同期

活用シーン

  1. 01プロジェクト仕様から実装計画を作成
  2. 02依存関係に応じて機能を並べ替え
  3. 03仕様変更後に機能文書を更新
  4. 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 エージェントの視点で考えてください。

  1. まず基盤 — データベース、認証、コアモデル
  2. 次に、ほかの機能に依存しない最もシンプルなユーザー向けフロー
  3. その後、それらを土台として構築される機能
  4. 顧客向けの機能に続いて、管理者向け/内部向けの機能
  5. 横断的な関心事(通知、レート制限など)は最後
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 に保存し、両方のファイルを提示します。

コメント