| name | generate-spec |
| description | 04-behavior/ のビヘイビア定義から人間・クライアント向け仕様書 (spec.md) を自動生成する |
| argument-hint | <idea-name> (例: ai-code-review-tool) |
| user-invocable | true |
アイデア $ARGUMENTS のビヘイビア定義(ideas/$ARGUMENTS/04-behavior/)から、人間・クライアント向けの仕様書 ideas/$ARGUMENTS/spec.md を自動生成する。
04-behavior/ が振る舞いの唯一の正(SSOT)であり、spec.md はその派生物である。仕様変更はまず 04-behavior/ を修正し、本スキルで再生成する。
手順
-
前提確認:
- 引数が空の場合はユーザーにアイデア名を聞く
- 引数の検証: アイデア名は kebab-case(正規表現
^[a-z0-9]+(-[a-z0-9]+)*$)に一致する単一の名前のみ許可する。/・..・空白・絶対パスなどパス区切りを含む引数は不正としてエラーで停止する(ideas/ 外への読み書きを防ぐ)
- 検証済みの名前を用いた
ideas/<name>/ が既存ディレクトリであることを確認する。読み書きは ideas/<name>/04-behavior/(読み取り)と ideas/<name>/spec.md(書き込み)のみに限定し、それ以外のパスには一切書き込まない
ideas/<name>/04-behavior/ が存在しない場合はエラーとして案内する(レガシー形式 04-requirements.md のみのアイデアは非対応。移行が必要な旨を伝える)
-
ideas/$ARGUMENTS/04-behavior/README.md と配下の全項目ファイル(screen-*.md / api-*.md / 横断 md)を読み込む。
-
既存の ideas/$ARGUMENTS/spec.md の上書き可否を判定する:
- 存在しない → そのまま生成する
- 存在し、冒頭に自動生成ヘッダがある → 無条件で全上書きする(SSOT は
04-behavior/)
- 存在するが自動生成ヘッダがない(手動作成・編集された形跡)→ 警告を表示し、ユーザーの確認を得てから上書きする
-
ideas/$ARGUMENTS/spec.md を以下の構成で生成する:
<!-- このファイルは /generate-spec により ideas/<name>/04-behavior/ から自動生成されます。直接編集せず、04-behavior/ を修正して再生成してください。生成日: YYYY-MM-DD -->
# 仕様書: <アイデア名>
## 概要
<!-- 04-behavior/README.md の概要・前提条件から -->
## 画面仕様
<!-- screen-*.md ごとに節を立てる。画面概要・画面遷移・振る舞い(ビヘイビア ID を併記) -->
## API 仕様
<!-- api-*.md ごとに節を立てる。エンドポイント一覧・振る舞い・エラーハンドリング・レスポンススキーマ(ビヘイビア ID を併記) -->
## 横断仕様
<!-- 横断ファイルごとに節を立てる(ビヘイビア ID を併記) -->
## 非機能要件・制約
<!-- 04-behavior/README.md の非機能要件・データ要件・制約事項から -->
## 除外事項
<!-- 04-behavior/README.md の除外事項から -->
-
生成時のルール:
- 各項目にビヘイビア ID(例:
LOGIN-1)を併記し、04-behavior/ へのトレーサビリティを保つ
- ステータス「検討中」の項目も含めるが、末尾に「(検討中)」と注記する(除外したい場合はユーザーに確認する)
- 表の「前提/操作/期待」は、読みやすい文章(ですます調)に整えてよい。ただし数値・条件は変えない
- 文体・表記は
.claude/rules/japanese.md に従う
-
生成結果(ファイルパス・節構成・項目数)をユーザーに報告する。
注意事項
spec.md を手動編集しない・させない。差分が必要ならまず 04-behavior/ を直す(.claude/rules/document-quality.md のビヘイビア SSOT 原則)。
04-behavior/ の内容以外を推測で補わない。未確定事項は「検討中」注記のまま出す。