create-speclisted
Install: claude install-skill suzuki3jp/PlaylistWizard
# create-spec: 機能仕様策定 & Notion ドキュメント化スキル
引数として渡された機能名・概要を��とに、ユーザーへのインタビューを通じて仕様を深堀りし、最終的に Notion にドキュメントとして保存する。
## フェーズ概要
1. **準備**: CLAUDE.md を読み込み、プロジェクトパターンを把握する
2. **インタビュー**: AskUserQuestion ツールで仕様を詰める (dig:dig スタイル)
3. **一貫性・セキュリティ検証**: ユーザーの指示に疑いを持ち、矛盾・セキュリティリスクを指摘する
4. **Notion 書き出し**: 完成した仕様を Notion ページとして保存する
---
## フェーズ 1: 準備
- CLAUDE.md を読み込み、既存のアーキテクチャパターン・技術スタックを把握する
- 引数 (`ARGUMENTS`) から機能名と概要を取得する
- 引数がない場合は、最初の質問で「何の仕様を作りますか?」から始める
---
## フェーズ 2: インタビュー (dig:dig スタイル)
AskUserQuestion ツールを使ってインタビューを繰り返す。**必ず AskUserQuestion ツールを使うこと。会話文での質問は禁止。**
### ルール
- **質問数**: 1 ラウンドにつき **2〜4 問** (曖昧さの度合いに応じて調整)
- **選択肢**: 各質問に **2〜4 個の具体的な選択肢**
- **各選択肢**: 簡潔な Pros/Cons を含む
- **オープンエンド禁止**: 自由記述ではなく選択式。"Other" は自動追加されるので書かない
- **CLAUDE.md のパターンに合わせる**: 既存の技術スタック・アーキテクチャパターンを選択肢に反映する
- 不明な点・曖昧な点が解消されるまでインタビューを繰り返す
### 各ラウンド後の出力フォーマット
```
## Decisions
| 項目 | 選択 | 理由 | 備考 |
|------|------|------|------|
| ... | ... | ... | ... |
```
その後、未決事項・曖昧な点があれば次のラウンドへ進む。
### インタビューで必ず確認すること
- **機能の目的・背景**: なぜこの機能が必要か
- **ユーザー体験**: どんな操作フローか
- **技術的な実現方法**: 既存パターン (v2 リポジトリ / BetterAuth / Drizzle など) との統合方法
- **エラーハンドリング**: 失敗時の挙動
- **セキュリティ境界**: 認証・認可が必要か
---
## フェーズ 3: 一貫性・セキュリティ検証
インタビュー結果をまとめる前に、**以下の観点で必ず検証する**。ユーザーが指示した内容であっても疑いを持ち、問題があれば AskUserQuestion で確認を取ること。
### 整合性チェック
- 既存の v2 リポジトリ層 (native fetch + Zod) / BetterAuth / Drizzle スキーマとの整合性はあるか?
- 既存の API・型定義との矛盾はないか?
- Feature Flag 戦略と整合しているか?
- neverthrow の Result 型パターンで統一されているか?
### セキュリティチェック