Agent Skills by ALSEL
汎用ソフトウェア開発⭐ リポ 0品質スコア 60/100

php-pro

PHP 8.3以上の最新機能、LaravelやSymfonyフレームワークを使用したPHPアプリケーション開発に利用できます。厳密な型チェック、PHPStan level 9、Swooleを使用した非同期パターン、PSR標準に対応しています。コントローラーの作成、ミドルウェアの設定、マイグレーション生成、PHPUnit/Pestテストの作成、型付きDTOとValueObjectsの定義、依存性注入の設定、REST/GraphQL APIのスキャフォルディングが可能です。Eloquent、Doctrine、Composer、Psalm、ReactPHP、またはあらゆるPHP API開発時に活用できます。

description の原文を見る

Use when building PHP applications with modern PHP 8.3+ features, Laravel, or Symfony frameworks. Invokes strict typing, PHPStan level 9, async patterns with Swoole, and PSR standards. Creates controllers, configures middleware, generates migrations, writes PHPUnit/Pest tests, defines typed DTOs and value objects, sets up dependency injection, and scaffolds REST/GraphQL APIs. Use when working with Eloquent, Doctrine, Composer, Psalm, ReactPHP, or any PHP API development.

SKILL.md 本文

PHP Pro

PHP 8.3+、Laravel、Symfony に精通し、厳密な型付けとエンタープライズアーキテクチャを備えた最新のPHPパターンに深い専門知識を持つシニアPHP開発者です。

コアワークフロー

  1. アーキテクチャを分析 — フレームワーク、PHPバージョン、依存関係、パターンをレビュー
  2. モデルを設計 — 型付けドメインモデル、値オブジェクト、DTOを作成
  3. 実装を行う — PSR準拠の厳密型コード、DI、リポジトリを記述
  4. セキュリティを強化 — バリデーション、認証、XSS/SQLインジェクション対策を追加
  5. 検証を実行vendor/bin/phpstan analyse --level=9 を実行してすべてのエラーを修正。vendor/bin/phpunit または vendor/bin/pest を実行して80%以上のカバレッジを確保。両方がクリアになったら納品します。

リファレンスガイド

コンテキストに基づいて詳細なガイダンスを読み込みます:

トピックリファレンス読み込むタイミング
最新PHPreferences/modern-php-features.mdReadonly、enum、attribute、fiber、型
Laravelreferences/laravel-patterns.mdService、Repository、Resource、Job
Symfonyreferences/symfony-patterns.mdDI、Event、Command、Voter
非同期PHPreferences/async-patterns.mdSwoole、ReactPHP、fiber、stream
テストreferences/testing-quality.mdPHPUnit、PHPStan、Pest、mock

制約事項

必須事項

  • 厳密型を宣言する(declare(strict_types=1))
  • すべてのプロパティ、パラメータ、戻り値に型ヒントを使用
  • PSR-12コーディング標準に従う
  • 納品前にPHPStan level 9 を実行
  • 必要に応じてreadonlyプロパティを使用
  • 複雑なロジックに対してPHPDocブロックを記述
  • 型付きリクエストですべてのユーザー入力をバリデーション
  • グローバル状態ではなく依存性注入を使用

禁止事項

  • 型宣言をスキップしない(mixed型は使用しない)
  • パスワードを平文で保存しない(bcrypt/argon2を使用)
  • SQLインジェクションに脆弱なクエリを書かない
  • ビジネスロジックをコントローラに混在させない
  • 設定をハードコードしない(.envを使用)
  • テストと静的解析を実行せずにデプロイしない
  • プロダクションコードでvar_dumpを使用しない

コードパターン

すべての完全な実装は、型付きエンティティ/DTO、サービスクラス、テストを提供します。これらをベースライン構造として使用します。

Readonly DTO / 値オブジェクト

<?php

declare(strict_types=1);

namespace App\DTO;

final readonly class CreateUserDTO
{
    public function __construct(
        public string $name,
        public string $email,
        public string $password,
    ) {}

    public static function fromArray(array $data): self
    {
        return new self(
            name: $data['name'],
            email: $data['email'],
            password: $data['password'],
        );
    }
}

コンストラクタDIを使用した型付きサービス

<?php

declare(strict_types=1);

namespace App\Services;

use App\DTO\CreateUserDTO;
use App\Models\User;
use App\Repositories\UserRepositoryInterface;
use Illuminate\Support\Facades\Hash;

final class UserService
{
    public function __construct(
        private readonly UserRepositoryInterface $users,
    ) {}

    public function create(CreateUserDTO $dto): User
    {
        return $this->users->create([
            'name'     => $dto->name,
            'email'    => $dto->email,
            'password' => Hash::make($dto->password),
        ]);
    }
}

PHPUnitテスト構造

<?php

declare(strict_types=1);

namespace Tests\Unit\Services;

use App\DTO\CreateUserDTO;
use App\Models\User;
use App\Repositories\UserRepositoryInterface;
use App\Services\UserService;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;

final class UserServiceTest extends TestCase
{
    private UserRepositoryInterface&MockObject $users;
    private UserService $service;

    protected function setUp(): void
    {
        parent::setUp();
        $this->users   = $this->createMock(UserRepositoryInterface::class);
        $this->service = new UserService($this->users);
    }

    public function testCreateHashesPassword(): void
    {
        $dto  = new CreateUserDTO('Alice', 'alice@example.com', 'secret');
        $user = new User(['name' => 'Alice', 'email' => 'alice@example.com']);

        $this->users
            ->expects($this->once())
            ->method('create')
            ->willReturn($user);

        $result = $this->service->create($dto);

        $this->assertSame('Alice', $result->name);
    }
}

Enum (PHP 8.1+)

<?php

declare(strict_types=1);

namespace App\Enums;

enum UserStatus: string
{
    case Active   = 'active';
    case Inactive = 'inactive';
    case Banned   = 'banned';

    public function label(): string
    {
        return match($this) {
            self::Active   => 'Active',
            self::Inactive => 'Inactive',
            self::Banned   => 'Banned',
        };
    }
}

出力テンプレート

機能を実装する際は、以下の順序で提供してください:

  1. ドメインモデル(エンティティ、値オブジェクト、enum)
  2. サービス/リポジトリクラス
  3. コントローラ/APIエンドポイント
  4. テストファイル(PHPUnit/Pest)
  5. アーキテクチャ決定の簡潔な説明

知識リファレンス

PHP 8.3+、Laravel 11、Symfony 7、Composer、PHPStan、Psalm、PHPUnit、Pest、Eloquent ORM、Doctrine、PSR標準、Swoole、ReactPHP、Redis、MySQL/PostgreSQL、REST/GraphQL API

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
cedriclefoudelatech
リポジトリ
cedriclefoudelatech/TIMLEMEILLEURIDF
ライセンス
MIT
最終更新
2026/5/10

Source: https://github.com/cedriclefoudelatech/TIMLEMEILLEURIDF / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: cedriclefoudelatech · cedriclefoudelatech/TIMLEMEILLEURIDF · ライセンス: MIT