Skip to main content

なぜカスタムエージェントが必要か

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
実装が必須の抽象メソッドは2つです。

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 Codeなら .claude/skills、Cursorなら .cursor/skills のようにエージェントの仕様に合わせます。

カスタムエージェントの作成

実際に独自エージェントクラスを実装します。ここでは独自のCI/CDワークフローに組み込まれた仮想エージェント「MyAgent」を例にします。
1

エージェントクラスを作成する

app/Boost/MyAgent.php を作成します。
systemDetectionConfig()projectDetectionConfig() はBoostがエージェントをシステム・プロジェクトで自動検出するために使います。boost:install 実行時に対象エージェントを自動的に候補として表示します。
2

エージェントを登録する

App\Providers\AppServiceProviderboot メソッドにカスタムエージェントを登録します。
登録後、php artisan boost:install を実行するとMyAgentが選択肢に表示されます。
3

動作を確認する

インストール対象のエージェントを選択する画面でMyAgentが表示されます。選択すると 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 を使って生成する:
スキルは「必要なときだけ読み込む」設計です。常に必要な情報はガイドラインに、タスク固有の詳細なパターンはスキルに分けることで、AIのコンテキスト使用量を最適化できます。

組み込みスキルのオーバーライド

Boostの組み込みスキルと同じ名前でカスタムスキルを作ると上書きされます。

サードパーティパッケージへのBoost対応追加

自作パッケージにBoostサポートを追加するには、パッケージの resources/boost/ ディレクトリに設定ファイルを配置します。

ガイドラインの追加

スキルの追加

パッケージユーザーが php artisan boost:install を実行すると、これらのガイドラインとスキルが自動的に検出されてインストール対象として表示されます。

実践例:独自CI/CDエージェント向けカスタムエージェント

社内のCI/CDパイプラインに組み込まれた仮想エージェント「PipelineAgent」の完全な実装例です。このエージェントはガイドラインのみサポートし、MCPとスキルはサポートしません。
AppServiceProvider に登録します:
CI環境では以下のコマンドでガイドラインのみを生成できます:

参考リンク

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 プラグイン向け公開パッケージ実装例
最終更新日 2026年5月5日