mcpField
L
laravel:effective-context

laravel:effective-context

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

laravel:effective-context について

Laravel プロジェクトに合ったコードを AI アシスタントに生成させるため、関連ファイル、設定、バージョン、既存パターンなどの情報を伝えるスキルです。エラーや依頼を具体的に記述する方法も示します。

主な機能

  1. 01関連ファイルとディレクトリの提示
  2. 02既存コードと設定の共有
  3. 03Laravel のバージョンと依存関係の明記
  4. 04モノレポ内のアプリ情報の指定
  5. 05エラー詳細と再現手順の提示

活用シーン

  1. 01既存の Laravel コードの変更依頼
  2. 02データベースやアプリのエラー調査
  3. 03バリデーション規則と業務要件の明確化

インストール

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

$npx skills add https://github.com/jpcaparas/superpowers-laravel --skill laravel:effective-context

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

詳細

効果的なコンテキスト

正確で関連性の高いコードを生成できるよう、AI アシスタントに適切なコンテキストを伝えましょう。コンテキストが不足すると、プロジェクトに合わない一般的な解決策になってしまいます。

含める内容

ファイルと構成
  • 具体的なファイルを指定する:app/Models/User.php、routes/api.php
  • 関連するディレクトリを示す:「app/Services/Payment で作業しています」
  • 重要な場合はプロジェクト構成を共有する:「app/Contracts にインターフェースがあるリポジトリパターンを使用しています」
現在の状態
  • 変更または拡張する既存のコードを示す
  • 何が機能し、何が機能しないかを説明する
  • 関連する設定を含める:.env の設定、config/ の値
Laravel のコンテキスト
  • バージョン:「Laravel 12.x」または「Laravel 13.x」
  • 依存関係:Sanctum、Horizon、Telescope などのパッケージを記載する
  • 使用中のパターン:「Form Requests を使用」「Horizon でジョブを実行」「API リソースを使用」
  • 実行環境:Sail を使うか、ホストのコマンドを使うかを明記する
モノレポプロジェクト
  • 対象のアプリを指定する:「apps/api で作業しています」または「apps/admin で作業しています」
  • 関連する場合は共有パッケージを記載する:「共有の packages/common を使用しています」

問題の説明

エラー
BAD: "Getting an error with users"

GOOD: "Getting error when creating user:
  Illuminate\Database\QueryException: SQLSTATE[23000]: 
  Integrity constraint violation: 1062 Duplicate entry
  
  In UserController@store, line 45:
  $user = User::create($request->validated());
  
  Using Laravel 13.x with MySQL 8.0"
スタックトレース

スタックトレース全体を含め、特に以下を示します。

  • 例外クラスとメッセージ
  • ファイルパスと行番号
  • エラーに至ったメソッドの呼び出し順序
再現手順
1. POST to /api/users with email that exists
2. Validation passes (should catch this)
3. Database throws constraint violation

あいまいな説明と具体的な説明

あいまいな説明

「ユーザーフォームにバリデーションを追加する」

具体的な説明

「UserStoreRequest にバリデーションを追加する:

  • Email は users テーブル内で一意であること
  • Password は 12 文字以上で、大文字と数字を必須とする
  • Name は必須で、最大 255 文字とする
  • Phone フィールドは任意とし、E.164 形式に一致すること」
あいまいな説明

「支払いに対応する必要があります」

具体的な説明

「Stripe の支払い処理を実装する:

  • charge() メソッドを持つ PaymentService を作成する
  • payments テーブルに支払い記録を保存する(user_id、amount、stripe_id、status)
  • ProcessPaymentJob をキューにディスパッチする
  • payment.succeeded のウェブフックを処理する
  • Laravel 13.x と Cashier を使用する」

簡単なチェックリスト

プロンプトを送る前に、以下を確認してください。

  • Laravel のバージョンと関連パッケージを記載した
  • ファイルパスまたはディレクトリのコンテキストを含めた
  • デバッグの場合、エラーメッセージとスタックトレースを共有した
  • バリデーションルール、リレーションシップ、またはビジネスロジックを指定した
  • Sail を使うか、ホストのコマンドを使うかを明記した
  • モノレポの場合、対象のアプリを特定した

コンテキストが多いほど、より良い結果が得られます。迷ったときは、情報を含めてください。

コメント