前提条件

  • 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 を作成してください。