pennant-development
Integrates Laravel Pennant for managing feature flags and gradual rollouts.
Install
mkdir -p .claude/skills/pennant-development && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2322" && unzip -o skill.zip -d .claude/skills/pennant-development && rm skill.zipInstalls to .claude/skills/pennant-development
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use when working with Laravel Pennant the official Laravel feature flag package. Trigger whenever the query mentions Pennant by name or involves feature flags or feature toggles in a Laravel project. Tasks include defining feature flags checking whether features are active creating class based features in `app/Features` using Blade `@feature` directives scoping flags to users or teams building custom Pennant storage drivers protecting routes with feature flags testing feature flags with Pest or PHPUnit and implementing A B testing or gradual rollouts with feature flags. Do not trigger for generic Laravel configuration authorization policies authentication or non Pennant feature management systems.Key capabilities
- →Define feature flags with class-based logic
- →Implement Blade directives for conditional UI
- →Apply scoped feature rollouts by user or team
- →Build custom storage drivers for feature flags
How it works
Uses a provider-based registry to store and evaluate feature state for specific entities defined in the application.
Inputs & outputs
When to use pennant-development
- →Define new feature flags
- →Implement A/B testing
- →Toggle feature availability
- →Protect routes with features
About this skill
Pennant Features
Documentation
Use search-docs for detailed Pennant patterns and documentation.
Basic Usage
Defining Features
<!-- Defining Features -->use Laravel\Pennant\Feature;
Feature::define('new-dashboard', function (User $user) {
return $user->isAdmin();
});
Checking Features
<!-- 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
<!-- Blade Directive -->@feature('new-dashboard')
<x-new-dashboard />
@else
<x-old-dashboard />
@endfeature
Activating / Deactivating
<!-- Activating Features -->Feature::activate('new-dashboard');
Feature::for($user)->activate('new-dashboard');
Verification
- Check feature flag is defined
- Test with different scopes/users
Common Pitfalls
- Forgetting to scope features for specific users/entities
- Not following existing naming conventions
When not to use it
- →Complex authorization policies
- →Non-Laravel projects
- →Standard authentication handling
Prerequisites
Limitations
- →Requires explicit scoping logic
- →Naming conventions must be strictly maintained
- →Dependent on Laravel's service container
How it compares
It moves feature toggling from hard-coded conditionals to a managed, scoped service layer.
Compared to similar skills
pennant-development side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| pennant-development (this skill) | 2 | 4mo | No flags | Intermediate |
| extending-shopper | 1 | 4mo | No flags | Intermediate |
| controller | 1 | 6mo | No flags | Beginner |
| filament-5-resources | 0 | 3mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
extending-shopper
shopperlabs
Provides patterns for extending Laravel Shopper with custom sidebar items, component overrides, event listeners, and domain features like stock, pricing, and media. Use when customizing Shopper behavior.
controller
JaguarJack
Generate CRUD controller for CatchAdmin module.
filament-5-resources
kooda-ai
Use when: working with Filament 5 Resources, Resource classes, make:filament-resource, simple resources, form(), infolist(), table(), getPages(), resource pages, ViewRecord pages, page routes, ListRecords, CreateRecord, EditRecord, ViewRecord, relation managers, relation pages, getRelations(), getRe
laravel-pdf
spatie
Generate PDFs from Blade views or HTML using spatie/laravel-pdf. Covers creating, formatting, saving, downloading, and testing PDFs with the Browsershot, Cloudflare, or DOMPDF driver.
laravel-specialist
Jeffallan
Use when building Laravel 10+ applications requiring Eloquent ORM, API resources, or queue systems. Invoke for Laravel models, Livewire components, Sanctum authentication, Horizon queues.
developing-shopper
shopperlabs
Provides coding standards and patterns for Laravel Shopper development. Use when creating or modifying Models, Actions, Enums, Livewire components, migrations, or tests in any Shopper package.