mcpField
L
laravel:prompt-structure

laravel:prompt-structure

github.com/jpcaparasエージェントワークフロー157114 回インストール18 週間前に更新
リポジトリ

laravel:prompt-structure について

laravel:prompt-structureは、明確で実行可能なプロンプトを書くためのLaravel開発者向けガイドです。作業の分割、順序付け、受け入れ条件、リファクタリングの伝え方を扱います。

主な機能

  1. 01依頼ごとに論点を一つに絞る
  2. 02依存関係に沿って作業を順序付け
  3. 03受け入れ条件を定義
  4. 04大きな作業を段階に分割
  5. 05リファクタリングの問題と目標を説明

活用シーン

  1. 01Laravel機能の開発を計画
  2. 02大規模なアプリ要件を分割
  3. 03実装の完了条件を設定
  4. 04コードのリファクタリングを依頼

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jpcaparas/superpowers-laravel --skill laravel:prompt-structure

インストール後、Claude Code で/laravel:prompt-structureを入力して読み込まれたか確認します。

詳細

プロンプトの構成

構成の整ったプロンプトは、完全で実行可能な回答を引き出します。構成が不十分だと、確認のやり取りが何度も必要になり、解決策も不完全になります。

懸念事項を分ける

効果的でない例

「User モデルにメール認証を追加し、パスワードリセット用の API エンドポイントも作成して、プロフィール更新フォームにバリデーションを追加してください」

効果的な例

焦点を絞った依頼に分けます。

  1. 「Laravel の MustVerifyEmail トレイトを使って、User モデルにメール認証を追加してください」
  2. 「POST /api/password/reset にパスワードリセット用の API エンドポイントを作成してください」
  3. 「ProfileUpdateRequest に name、email、bio フィールドのバリデーションを追加してください」

各依頼には明確な目標が1つあります。レビュー、テスト、反復がしやすくなります。

優先順位を付け、順序を決める

効果的でない例

「認証、ユーザーダッシュボード、管理パネル、メール通知が必要です」

効果的な例

「まず認証を構築しましょう。

  1. API 認証用に Sanctum を設定する
  2. ログイン/登録のエンドポイントを作成する
  3. ルートを保護するミドルウェアを追加する

認証が動作したら、ユーザーダッシュボードを追加し、その後に管理機能、最後に通知を追加します。」

順序が重要です。まず土台を構築し、その後、それに依存する機能を追加します。

受け入れ基準を明確にする

曖昧な例

「チェックアウトの処理を動くようにしてください」

具体的な例

「次の要件でチェックアウト処理を実装してください。

  • ユーザーが認証済みであること
  • カートに商品が1つ以上入っていること
  • 税金(8.5%)を含めて合計金額を計算すること
  • 'pending' ステータスの Order レコードを作成すること
  • ProcessOrderJob をキューにディスパッチすること
  • 注文 ID と確認メッセージを返すこと
  • 支払いの失敗を適切に処理すること」

基準が明確であれば、実装も明確になります。

作業を分割する

大きすぎる例

「投稿、コメント、カテゴリー、タグ、検索機能を備えたブログシステム全体を構築してください」

適切な規模の例

「まず投稿の基本機能から始めましょう。

フェーズ1:基本的な投稿

  • Post モデルを作成する(title、content、published_at)
  • CRUD エンドポイントを追加する
  • 作成/読み取り/更新/削除の機能テストを書く

フェーズ2:カテゴリー

  • belongsToMany リレーションシップを持つ Category モデルを追加する
  • カテゴリーを扱えるように投稿エンドポイントを更新する
  • カテゴリーの割り当てをテストする

フェーズ3:コメント(以降同様)

各フェーズはテスト可能で、成果物として提供できます。」

リファクタリングの依頼

不明確な例

「このコードはごちゃごちゃしているので、きれいにしてください」

明確な例

「UserController@store をリファクタリングしてください。

現在の問題:

  • 1つのメソッドが80行ある
  • バリデーション、ビジネスロジック、メール送信が混在している
  • 個々の処理をテストしにくい

望ましい改善:

  • バリデーションを UserStoreRequest に切り出す
  • ユーザー作成ロジックを UserService に移す
  • インラインでのメール送信の代わりに、SendWelcomeEmail ジョブをディスパッチする
  • コントローラーは処理を実装するのではなく、各処理を調整する」

問題と望ましい状態を説明しましょう。

機能の計画

効果的でない例

「ソーシャルログインを追加してください」

効果的な例

「GitHub OAuth ログインを追加してください。

受け入れ基準:

  • ユーザーが「GitHub でログイン」ボタンをクリックする
  • GitHub OAuth にリダイレクトする
  • コールバック時に、github_id でユーザーを作成するか検索する
  • API アクセス用に github_token を保存する
  • セッションを維持したままダッシュボードにリダイレクトする

テスト可能な段階:

  1. GitHub プロバイダーを使って Socialite を設定する
  2. users に github_id と github_token のカラムを追加する
  3. リダイレクトとコールバックのメソッドを備えた OAuth コントローラーを作成する
  4. OAuth の全体的なフローを対象とする機能テストを書く
  5. ログインページに「GitHub でログイン」ボタンを追加する」

細分化しましょう。テスト可能な形にしましょう。

クイックリファレンス

プロンプトを構成する際は、次の点を意識しましょう。

  • 依頼ごとに懸念事項を1つにする - 関連のない変更を混在させない
  • 論理的な順序にする - まず依存関係を構築する
  • 成功の基準を定める - 「完了」とはどのような状態か?
  • 大きな作業を分割する - テスト可能な段階を目指す
  • リファクタリングの内容を説明する - 現在の問題と望ましい状態

構成が明確であれば、結果も明確になります。

コメント