What problem does it solve? LLMs frequently write PHP in a pre-8.0 style β using docblock annotations instead of native attributes, class constants instead of enums, and hand-written getters/setters instead of property hooks. This Skill ensures generated PHP uses the correct modern language features for the project's actual PHP version. ## Core Features & Use Cases - Version-aware feature selection: Covers PHP 8.1 through 8.5 features (enums, readonly, first-class callables, property hooks, asymmetric visibility, lazy objects, pipe operator, clone() with $withProperties, #[\NoDiscard]) and mandates checking composer.json require.php before emitting syntax. - Attributes over docblocks: Dedicated reference for replacing legacy @Route, @ORM\Column, and @deprecated annotations with native #[Attribute] syntax β the most common modern-PHP mistake. - Copy-paste templates: Complete working examples of backed enums with interfaces, readonly value objects, and entities using property hooks and asymmetric visibility. - Use Case: You are adding a User entity to a non-framework PHP 8.4 project. The Skill guides the agent to verify the version, then produce a class using public private(set) properties, a validating set hook for email, and a virtual displayName property instead of magic __get. ## Quick Start Write a modern PHP User entity with property hooks and a backed Status enum for my PHP 8.4 project, using attributes instead of docblock annotations.