ワンクリックで
php
PHP development: code quality, PSR standards, testing with PHPUnit.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
PHP development: code quality, PSR standards, testing with PHPUnit.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Planning lifecycle: specs, requirements, pre-plan ambiguity resolution, file-backed plans, plan validation, pause/resume, session handoff.
Fresh-subagent-per-task execution with two-stage review gates.
Comprehensive 3-wave review of all repo source files, producing a prioritized issue backlog.
Business operations: strategy, technology, growth, competitive intelligence, support, finance, HR, legal, operations, sales, productivity, product management.
Customer support workflows — ticket triage, response drafting, knowledge base articles, escalation handling, customer research. Use when triaging support tickets, drafting customer responses, creating KB articles, managing escalations, or researching customer context.
Finance and accounting: journal entries, reconciliation, variance analysis, financial statements, audit support, month-end close, SOX testing.
| name | php |
| description | PHP development: code quality, PSR standards, testing with PHPUnit. |
| user-invocable | false |
| context | fork |
| agent | php-general-engineer |
| routing | {"triggers":["php quality","php code review","PSR standards","phpstan","php-cs-fixer","php testing","phpunit","pest php","php mock"],"category":"php","pairs_with":["code-linting","test-driven-development"]} |
PHP code quality and testing: strict types, PSR-12 compliance, modern language features, framework idioms, static analysis tooling, and PHPUnit testing patterns.
| Signal | Reference | Size |
|---|---|---|
| union types, intersection types, DNF, enums, readonly, named arguments, match expression, null-safe operator, PHP 8.0, PHP 8.1, PHP 8.2 | references/modern-php-features.md | ~160 lines |
| Laravel, Eloquent, Collections, Service Container, Symfony, DI attributes, Event Dispatcher, framework | references/framework-idioms.md | ~70 lines |
| PHP-CS-Fixer, PHPStan, Psalm, Rector, static analysis, CI, linting, code style, taint analysis | references/quality-tools.md | ~60 lines |
| PHPUnit tests, data providers, mocks, stubs, database testing, HTTP testing, coverage | references/testing-patterns.md | ~120 lines |
| quality review process, phases, PSR-12 enforcement | references/php-quality.md | ~60 lines |
| test writing process, test doubles, Prophecy, database fixtures | references/php-testing.md | ~50 lines |
Load greedily. If the user's question touches any signal keyword, load the matching reference before responding. Multiple signals matching = load all matching references.
Every PHP file must begin with declare(strict_types=1). This enforces scalar type coercion rules, catching type errors at call time instead of silently converting values. Omitting it is a code quality defect.
PSR-12 extends PSR-1 and PSR-2 as the accepted PHP coding style:
use statements after namespace with a blank line before and afterDetermine what kind of PHP work is needed:
| Request type | Load references | Action |
|---|---|---|
| Code review | quality refs + quality-tools | Full quality pass |
| Type system question | modern-php-features | Feature-specific guidance |
| Framework patterns | framework-idioms | Idiomatic pattern review |
| Tooling setup | quality-tools | Config and CI guidance |
| Write tests | testing-patterns + php-testing | PHPUnit test authoring |
| Test review | testing-patterns | Test quality review |
Gate: Request classified and relevant references loaded.
Apply loaded reference knowledge to the user's code or question.
For quality reviews, check:
declare(strict_types=1) presentFor testing work:
TestCase with test prefix or @test annotation@dataProvider for table-driven casescreateStub() for return values, createMock() for interaction assertionsDatabaseTransactions (Laravel) or KernelTestCase (Symfony) for database testsparent::setUp() first in every setUp() methodGate: Specific, reference-backed feedback or code provided.
Run the test suite and confirm:
./vendor/bin/phpunit
# For coverage enforcement:
XDEBUG_MODE=coverage ./vendor/bin/phpunit --coverage-text --coverage-min=80
Gate: All tests pass. Coverage threshold met if configured.