--- name: pennant-development description: >- Manages feature flags with Laravel Pennant. Activates when creating, checking, or toggling feature flags; showing or hiding features conditionally; implementing A/B testing; working with @feature directive; or when the user mentions feature flags, feature toggles, Pennant, conditional features, rollouts, or gradually enabling features. --- # Pennant Features ## When to Apply Activate this skill when: - Creating or checking feature flags - Managing feature rollouts - Implementing A/B testing ## Documentation Use `search-docs` for detailed Pennant patterns and documentation. ## Basic Usage ### Defining Features use Laravel\Pennant\Feature; Feature::define('new-dashboard', function (User $user) { return $user->isAdmin(); }); ### Checking Features if (Feature::active('new-dashboard')) { // Feature is active } // With scope if (Feature::for($user)->active('new-dashboard')) { // Feature is active for this user } ### Blade Directive @feature('new-dashboard') @else @endfeature ### Activating / Deactivating Feature::activate('new-dashboard'); Feature::for($user)->activate('new-dashboard'); ## Verification 1. Check feature flag is defined 2. Test with different scopes/users ## Common Pitfalls - Forgetting to scope features for specific users/entities - Not following existing naming conventions