なぜカスタムエージェントが必要か
Laravel Boostは Claude Code、Cursor、Codex、GitHub Copilot(VS Code) など主要なAIコーディングツールを標準でサポートしています。しかし社内ツール、新興のAIエージェント、独自ワークフローへ対応するには、Boostの拡張機能を使ってカスタムエージェントを実装する必要があります。 カスタムエージェントが役立つ場面:- Boostが未対応のIDEやAIツールを使っている
- 社内開発ワークフローや独自CI/CDパイプラインにBoostを統合したい
- エージェント固有の設定ファイル形式やインストール手順がある
Boostの拡張アーキテクチャ
Agent基底クラス
すべてのエージェントはLaravel\Boost\Install\Agents\Agent を継承します。この抽象クラスが提供する機能:
- エージェントの検出(システム全体・プロジェクト単位)
- MCPサーバーのインストール(ファイルベース・シェルコマンドベース)
- ガイドライン変換フック(
transformGuidelines)
3つのコントラクト
Boostの機能を選択的に有効化するために、以下のコントラクトを必要な分だけ実装します。3つのコントラクトはすべて任意です。ガイドラインだけサポートしてMCPは不要、という実装も可能です。
SupportsGuidelinesコントラクト
guidelinesPath() は生成したガイドラインを書き込むファイルパスを返します。Claude Codeなら CLAUDE.md、Cursorなら .cursor/rules/laravel-boost.mdc のように、エージェントが読み込む形式に合わせます。
transformGuidelines() は生成後のMarkdownを加工するフックです。エージェント固有のヘッダーを追加したり、特殊なフォーマットに変換したりできます。Agent 基底クラスに実装済みのデフォルトはそのまま文字列を返します。
SupportsMcpコントラクト
Agent 基底クラスが installMcp() と installHttpMcp() のデフォルト実装を持っているため、多くの場合は mcpInstallationStrategy() と mcpConfigPath() をオーバーライドするだけで済みます。
インストール戦略は2種類あります。
SupportsSkillsコントラクト
.claude/skills、Cursorなら .cursor/skills のようにエージェントの仕様に合わせます。
カスタムエージェントの作成
実際に独自エージェントクラスを実装します。ここでは独自のCI/CDワークフローに組み込まれた仮想エージェント「MyAgent」を例にします。1
エージェントクラスを作成する
app/Boost/MyAgent.php を作成します。systemDetectionConfig() と projectDetectionConfig() はBoostがエージェントをシステム・プロジェクトで自動検出するために使います。boost:install 実行時に対象エージェントを自動的に候補として表示します。2
エージェントを登録する
App\Providers\AppServiceProvider の boot メソッドにカスタムエージェントを登録します。php artisan boost:install を実行するとMyAgentが選択肢に表示されます。3
動作を確認する
MYAGENT.md、.myagent.json、.myagent/skills/ が生成されます。ガイドラインのカスタマイズ
guidelinesPathの設定
エージェントによってガイドラインファイルの読み込み場所は異なります。フロントマターが必要なエージェント
Cursorの.cursor/rules/*.mdc のようにフロントマターが必要なフォーマットには frontmatter() で true を返します。
ガイドラインの後処理
transformGuidelines() を使って生成後のMarkdownを加工できます。
カスタムAIガイドラインの追加
プロジェクト固有のルールをBoostのガイドラインに追加するには、.ai/guidelines/ ディレクトリに Blade ファイルを配置します。
boost:install を実行すると、このガイドラインがBoost組み込みのガイドラインと自動的に結合されて出力されます。
組み込みガイドラインのオーバーライド
Boostの組み込みガイドラインと同じパスにカスタムファイルを置くと、そちらが優先されます。カスタムスキルの追加
SKILL.mdの作成
.ai/skills/{スキル名}/SKILL.md にスキルを定義します。
SKILL.md はYAMLフロントマターとMarkdownの指示で構成します。
請求書のPDF生成
PDFはbarryvdh/laravel-dompdf を使って生成する:
組み込みスキルのオーバーライド
Boostの組み込みスキルと同じ名前でカスタムスキルを作ると上書きされます。サードパーティパッケージへのBoost対応追加
自作パッケージにBoostサポートを追加するには、パッケージのresources/boost/ ディレクトリに設定ファイルを配置します。
ガイドラインの追加
スキルの追加
php artisan boost:install を実行すると、これらのガイドラインとスキルが自動的に検出されてインストール対象として表示されます。
実践例:独自CI/CDエージェント向けカスタムエージェント
社内のCI/CDパイプラインに組み込まれた仮想エージェント「PipelineAgent」の完全な実装例です。このエージェントはガイドラインのみサポートし、MCPとスキルはサポートしません。AppServiceProvider に登録します:
参考リンク
ClaudeCode.php — 公式実装例
Boostに同梱されているClaudeCodeエージェントの完全な実装をソースコードで確認できます。
Agent Skills
SKILL.mdのフォーマット仕様とベストプラクティスを参照できます。
Laravel Boost Custom Agent for GitHub Copilot CLI
Copilot CLI と Testbench 両対応の公開パッケージ実装例
Laravel Boost Custom Agent for PhpStorm with GitHub Copilot
PhpStorm の GitHub Copilot プラグイン向け公開パッケージ実装例