セットアップガイド
プロジェクトで Plan Feature スキルを使えるようにします。1分もかかりません。
前提条件
- Claude Code がインストール済みで動作していること(インストールガイド)
- スキルを使いたいプロジェクトディレクトリ
インストール
ステップ 1: スキルディレクトリを作成
プロジェクトルートで、スキルフォルダ構造を作成します:
mkdir -p .claude/skills/plan-feature
ステップ 2: SKILL.md ファイルを作成
.claude/skills/plan-feature/SKILL.md を以下の内容で作成します:
# Plan Feature Skill
## Description
新機能の実装や複雑な改修を行うための計画策定ワークフローを開始します。
ユーザーへのヒアリングを行い、仕様を明確にした上で `docs/plans/` に計画ファイルを作成します。
実装は行いません。
## Steps
1. **ヒアリング (Interview Phase)**
* ユーザーに「どのような機能を実装したいですか?」と尋ねる。
* 要件が曖昧な場合、実装に必要な情報が揃うまでユーザーに質問を行う。
* *重要:* ユーザーが「Go」と言うまで、計画の作成には進まないこと。
2. **リサーチ (Research Phase)**
* 必要であれば、現在のコードベース(`grep` や `ls` など)を調査し、影響範囲や既存の仕様を確認する。
3. **計画作成 (Plan Phase)**
* ヒアリングとリサーチの結果を基に、`docs/plans/YYYYMMDD_feature_name.md` 形式でファイルを新規作成する。
* 例: `docs/plans/20260121_user_authentication.md`
* **フォーマット:**
```markdown
# 機能名: {Title}
## 目的 (Context & Objective)
* なぜこの変更が必要か
* ユーザーが得られるメリット
## 仕様・要件 (Requirements)
* [ ] 要件1
* [ ] 要件2
## 設計・変更点 (Architecture & Changes)
* **ファイルA:** このメソッドを追加
* **ファイルB:** このロジックを変更
* **DB:** マイグレーションの有無
## 手順 (Step-by-Step Plan)
1. ...
2. ...
```
4. **完了確認**
* 作成した計画ファイルをユーザーに提示する。
* 「この計画で実装フェーズに進んで良いですか?」と確認する。
## Rules
* このスキルでは **コードの書き換え(実装)は絶対に行わない** こと。
* 計画ファイルは常に具体的かつ、実装者が迷わないレベルまで詳細化すること。
* 過去の計画は `docs/plans/` を参照し、類似実装があれば参考にすること。
ステップ 3: 計画ディレクトリを作成
計画ファイルの保存場所を確保します:
mkdir -p docs/plans
以上です! スキルを使う準備ができました。
使い方
Claude Code でスラッシュコマンドを使ってスキルを呼び出します:
/plan-feature
Claude がヒアリングフェーズを開始し、ワークフローをガイドします。
セッション例
あなた: /plan-feature
Claude: どのような機能を実装したいですか?
あなた: アプリにユーザー認証を追加したい。
Claude: いくつか確認させてください:
1. 認証方法は?(メール/パスワード、OAuth、マジックリンク?)
2. ロールベースのアクセス制御は必要ですか?
3. セッションはブラウザ再起動後も保持しますか?
あなた: メール/パスワード、ロールは不要、セッションは保持。
Claude: わかりました。他に要件はありますか?
あなた: Go
Claude: [コードベースを調査し、docs/plans/20260121_user_authentication.md を作成]
計画を作成しました。この内容で良さそうですか?
カスタマイズ
SKILL.md ファイルはただのプロンプトです。ワークフローに合わせて自由に変更できます。
計画フォーマットを変更する
SKILL.md の「フォーマット」セクションを、チームのドキュメントスタイルに合わせて編集します。
カスタムフェーズを追加する
「セキュリティレビュー」フェーズが欲しい場合は、Steps セクションに追加します:
2.5 **セキュリティレビュー (Security Review Phase)**
* 潜在的なセキュリティの影響を特定する
* 必要なバリデーションとサニタイズをリストアップする
* 認証・認可の要件を記載する
出力場所を変更する
計画を別のディレクトリに出力したい場合は、SKILL.md のステップ 3 のパスを更新します:
* 新しいファイルを作成する: `planning/features/YYYYMMDD_feature_name.md`
計画ファイルの例
実際の計画ファイルはこのようになります:
# 機能名: ユーザー認証
## 目的 (Context & Objective)
* 現在アプリには認証機能がない
* ユーザーがデータを保存するためにアカウントが必要
* これにより共有やコラボレーションなどの将来機能が可能になる
## 仕様・要件 (Requirements)
* [ ] メール/パスワードでの登録
* [ ] メール/パスワードでのログイン
* [ ] ブラウザ再起動後もセッションを保持
* [ ] メールでのパスワードリセット
* [ ] 安全なパスワード保存(bcrypt)
## 設計・変更点 (Architecture & Changes)
* **データベース:** email, password_hash, created_at を持つ `users` テーブルを追加
* **API:** `/auth/register`, `/auth/login`, `/auth/logout`, `/auth/reset-password` エンドポイントを追加
* **フロントエンド:** ログイン/登録フォーム、認証状態管理を追加
* **ミドルウェア:** セッション検証ミドルウェアを追加
## 手順 (Step-by-Step Plan)
1. users テーブルのデータベースマイグレーションを作成
2. パスワードハッシュ化を含むユーザーモデルを実装
3. 認証 API エンドポイントを作成
4. セッションミドルウェアを追加
5. フロントエンド認証フォームを構築
6. 保護ルートラッパーを追加
7. パスワードリセットフローを実装
8. 認証フローのテストを書く
ユースケース
- 新機能: コードを書く前に実装を計画する
- リファクタリング: 何を変更するか、なぜ変更するかを文書化する
- バグ調査: 調査・修正方法の計画を作成する
- チーム引き継ぎ: 他の人が実装できる計画を作成する
質問がありますか?
メインドキュメントを確認するか、GitHub で Issue を作成してください。