<!-- AUTO-GENERATED from SKILL.md frontmatters — do not edit manually -->
# php Skills Index

## File Match (auto-check against the file you are editing)

| Skill | File pattern | Keywords |
| ----- | ------------ | -------- |
| **php-language** | `**/*.php` | declare, readonly, match, constructor, promotion, types |
| php-testing | `tests/**/*.php`, `phpunit.xml` | phpunit, pest, mock, assert, tdd |
| php-tooling | `composer.json` | composer, lock, phpstan, xdebug |

## Keyword Match (only when user's request mentions these)

| Skill | Match when user mentions |
| ----- | ----------------------- |
| php-best-practices | psr-12, camelCase, PascalCase, dry, solid |
| php-concurrency | Fiber, suspend, resume, non-blocking, async |
| **php-error-handling** | try, catch, finally, Throwable, set_exception_handler |
| **php-security** | pdo, password_hash, htmlentities, filter_var, php security, sql injection, xss php, prepared statement, csrf, sanitize input, password storage |

> Load matched skills: `<SKILLS>/php/<skill>/SKILL.md`. Load ALL that match — the tier model already filters irrelevant ones.
