What problem does it solve? Managing authorization in Laravel applications becomes error-prone when roles and permissions are scattered across controllers, routes, and views. This Skill provides structured guidance for implementing role-based access control with the spatie/laravel-permission package, covering setup through production patterns. ## Core Features & Use Cases - Role and Permission Management: Create, assign, sync, and revoke roles and permissions using package methods, enums, and idempotent seeders. - Access Control Enforcement: Apply middleware aliases on routes, check authorization with $user->can(), and render conditional UI with Blade directives like @can and @role. - Advanced Patterns: Configure Super Admin via Gate::before, write permission-aware policies, enable teams for multi-tenancy, and manage the permission cache. - Use Case: When building a multi-user admin panel, use this Skill to seed roles like 'admin' and 'writer', protect routes with role: middleware, and hide edit buttons from unauthorized users in Blade templates. ## Quick Start Ask the AI to set up Spatie Laravel Permission with an admin role, an edit-articles permission, route middleware protection, and a seeder that flushes the permission cache.