← ClaudeAtlas

sota-phplisted

State-of-the-art PHP engineering (2026 baseline, PHP 8.3+ floor, 8.5 current) for both writing new PHP and auditing existing PHP code. Covers strict_types and modern idioms (enums, readonly, match, fibers, property hooks), OWASP-grade security (SQL injection, XSS, file uploads, LFI/RFI, unserialize/Phar object injection, sessions, password hashing, sodium, SSRF), framework-neutral web hardening, Composer supply chain and static analysis (PHPStan/Psalm levels, baselines), and runtime performance (OPcache, preloading, FPM tuning, JIT, N+1). Use whenever the task involves PHP source, composer.json, php.ini, FPM config, or a PHP framework — building features, scaffolding projects, reviewing PRs, or hunting bugs and vulnerabilities. Trigger keywords: PHP, composer, Laravel, Symfony, WordPress, PHPStan, Psalm, PHPUnit, Pest, PDO, php-fpm, OPcache, strict_types, phar, unserialize, htmlspecialchars.
martinholovsky/SOTA-skills · ★ 8 · AI & Automation · score 75
Install: claude install-skill martinholovsky/SOTA-skills
# SOTA PHP (2026) ## Purpose This skill encodes the 2026 state of the art for PHP: a supported-version baseline (PHP 8.3+ floor; 8.5 is the latest annual line — verify current, see `rules/01`), `strict_types` everywhere, typed object-oriented design, security-by-default at every trust boundary, a locked and audited Composer supply chain, and measured runtime performance. It serves two modes: - **BUILD** — writing new code or modifying existing code to this standard. - **AUDIT** — reviewing existing code against this standard and reporting findings. The detailed rules live in `rules/*.md`. Read SKILL.md fully; load rules files on demand per the index table below. ## BUILD mode When creating or modifying PHP code: 1. **Establish context first.** Check `composer.json` (`require.php`, `config.platform`), `composer.lock`, the framework in use, PHPStan/Psalm config, and CS ruleset. Match the project's PHP floor — no enums on a project that still supports 8.0. For a *new* project, scaffold per `rules/05`: PHP ≥ 8.3 floor, committed lockfile, PHPStan at max level (baseline only for legacy), PER-CS formatting, CI gates from day one. 2. **Default style:** `declare(strict_types=1)` in every file, full parameter/return/ property types, constructor promotion, `readonly` where state shouldn't mutate, enums over class constants, `match` over `switch`, exceptions over error codes, no `@` suppression. (`rules/01`) 3. **Security posture is non-optional** even when u