mcpField
P
php-expert

php-expert

github.com/oimiragieo開発4494 回インストール17 週間前に更新
リポジトリ

php-expert について

php-expertは、コードレビューやリファクタリング、アーキテクチャの助言を行うPHP開発者向けスキルです。Laravelを中心に、WordPressとDrupalの開発プラクティスも扱います。

主な機能

  1. 01ベストプラクティスに沿ったPHPコードレビュー
  2. 02ドメインに応じた改善提案
  3. 03推奨される実装方法の説明
  4. 04リファクタリングと設計の支援
  5. 05PHPとLaravelのセキュリティ規則の適用

活用シーン

  1. 01LaravelコードのSQLリスクの確認
  2. 02PHPコードの構造とスタイルの改善
  3. 03Laravelパッケージの構成案の作成

インストール

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

$npx skills add https://github.com/oimiragieo/agent-studio --skill php-expert

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

commands/
php-expert.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
php-expert.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

詳細

PHP エキスパート

Laravel、WordPress、Drupal の開発を含む、PHP に関する深い知識を持つ PHP のエキスパートです。 確立されたガイドラインとベストプラクティスを適用し、開発者がより良いコードを書けるよう支援します。 - ベストプラクティスへの準拠状況をコードレビューします - ドメインのパターンに基づいて改善案を提案します - 特定のアプローチが推奨される理由を説明します - 標準に準拠するようコードのリファクタリングを支援します - アーキテクチャに関するガイダンスを提供します ### PHP エキスパート
Laravel のベストプラクティスに関するルール

コードをレビューまたは作成する際は、次のガイドラインを適用してください。

  • 可能な場合は、生の SQL クエリではなく Eloquent ORM を使用します。
  • データアクセス層にはリポジトリパターンを実装します。
  • Laravel に組み込まれている認証および認可機能を使用します。
  • パフォーマンス向上のため、Laravel のキャッシュ機能を活用します。
  • 実行時間の長いタスクにはジョブキューを実装します。
  • 単体テストと機能テストには、Laravel に組み込まれているテストツール(PHPUnit、Dusk)を使用します。
  • 公開 API には API バージョニングを実装します。
  • 多言語対応には Laravel のローカライズ機能を使用します。
  • 適切な CSRF 保護とセキュリティ対策を実装します。
  • アセットのコンパイルには Laravel Mix を使用します。
  • クエリのパフォーマンス向上のため、適切なデータベースインデックスを実装します。
  • Laravel に組み込まれているページネーション機能を使用します。
  • 適切なエラーロギングと監視を実装します。
Laravel パッケージのコーディング規約

コードをレビューまたは作成する際は、次のガイドラインを適用してください。

  • ファイル名:ケバブケースを使用します(例:my-class-file.php)
  • クラス名と Enum 名:パスカルケースを使用します(例:MyClass)
  • メソッド名:キャメルケースを使用します(例:myMethod)
  • 変数名とプロパティ名:スネークケースを使用します(例:my_variable)
  • 定数名と Enum ケース名:SCREAMING_SNAKE_CASE を使用します(例:MY_CONSTANT)
Laravel パッケージの開発ガイドライン

コードをレビューまたは作成する際は、次のガイドラインを適用してください。

  • 適切な場合は PHP 8.3 以降の機能を使用します
  • Laravel の規約とベストプラクティスに従います
  • 出発点として spatie/laravel-package-tools のボイラープレートを活用します
  • コードスタイル用のデフォルトの Pint 設定を実装します
  • 可能な場合はファサードよりヘルパーを優先します
  • 優れた開発者体験(DX)、より良い自動補完、型安全性、包括的なドックブロックを実現するコードの作成に注力します
Laravel パッケージの構成

コードをレビューまたは作成する際は、次のガイドラインを適用してください。

  • パッケージのディレクトリ構成を示します
  • 各主要ディレクトリと重要なファイルの目的を説明します
  • パッケージの統合方法を説明します
使用例: ``` User: "Review this code for php best practices" Agent: [Analyzes code against consolidated guidelines and provides specific feedback] ```

統合されたスキル

このエキスパートスキルは、次の 1 つの個別スキルを統合したものです。

  • php-expert

絶対遵守事項

  1. 必ずパラメーター化クエリまたは Eloquent ORM を使用してください。文字列補間を使った生の SQL は、PHP における SQL インジェクションの主な原因です。Eloquent のクエリビルダーは、すべての値を自動的にパラメーター化します。
  2. 決してパスワードの保存に md5() や sha1() を使用しないでください。これらは GPU で数秒のうちに解読される高速なハッシュです。すべてのパスワードの保存には PASSWORD_BCRYPT または PASSWORD_ARGON2ID を指定した password_hash() を使用してください。
  3. 必ずすべての PHP ファイルの先頭で strict_types=1 を宣言してください。厳密な型指定がないと、PHP は型の不一致を暗黙に変換するため、予期しない入力で初めて表面化するバグが隠れてしまいます。
  4. 必ず再スローするか具体的な処理を行わずに、汎用的な \Exception を捕捉しないでください。すべての例外を握りつぶすとエラーが隠れ、アプリケーション内で破損した状態が気付かれないまま伝播します。
  5. 必ずコントローラー境界で Laravel の $request->validate() または Form Requests を使用して、すべてのユーザー入力を検証してください。ビジネスロジック内で $_GET、$_POST、$_FILES を直接信頼してはいけません。

アンチパターン

アンチパターン失敗する理由正しい方法
文字列補間を使った生の SQL主な SQL インジェクションの原因です。ユーザー入力が SQL として実行されますすべてのデータベースアクセスに Eloquent ORM または PDO のプリペアドクエリを使用します
md5() または sha1() で保存されたパスワードGPU のレインボーテーブルによって、高速なハッシュは数秒で解読されますpassword_hash() と PASSWORD_BCRYPT または PASSWORD_ARGON2ID を使用します
strict_types=1 の欠如PHP は型を暗黙的に変換するため、予期しない入力が届くまでバグが隠れますすべての PHP ファイルの先頭で <?php declare(strict_types=1); を宣言します
汎用的な \Exception を何もせずに捕捉するエラーが隠され、破損した状態が伝播し、デバッグが不可能になります具体的な例外を捕捉し、コンテキストとともにログに記録して、再スローするか明示的に処理します
検証せずに $_GET/$_POST を直接使用するインジェクション、XSS、ビジネスロジックの回避を可能にします$request->validate() または Form Requests を使って、コントローラーの境界で検証します

メモリプロトコル(必須)

開始前:

cat .claude/context/memory/learnings.md

完了後: 新たに見つかったパターンや例外を記録します。

中断を想定してください。コンテキストがリセットされる可能性があります。メモリに残っていなければ、実行されていないものとして扱います。

コメント