spatie-integration

Integrate Spatie Laravel-Permission and Translatable for role-based access and multilingual models.

Updated Feb 4, 2026
One-click install
npx skills add https://github.com/Saidabbos/homemessage-admin --skill spatie-integration
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: spatie-integration
Source: https://github.com/Saidabbos/homemessage-admin/tree/main/.ai/skills/spatie-integration
Command: npx skills add https://github.com/Saidabbos/homemessage-admin --skill spatie-integration

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps Laravel applications implement robust access control and multilingual models using Spatie's permissions package and Translatable models, reducing boilerplate and errors.

Core Features & Use Cases

  • RBAC with roles and permissions: Define and enforce role-based access across controllers, routes, and policies.
  • Translatable models: Build models whose attributes are stored in multiple locales with automatic fallback support.
  • Authorization policies & middleware: Centralize permission checks in policies and protect resources via middleware.

Use Case: A multilingual CMS where editors manage content in several locales while admins control access to admin sections via roles and permissions.

Quick Start

Install the required packages with Composer: composer require spatie/laravel-permission spatie/laravel-translatable. Run migrations: php artisan migrate. Seed initial roles and permissions and attach them to models. Protect routes with middleware 'permission:*' and implement policies to enforce access.

Frequently Asked Questions about spatie-integration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement role-based permissions and multilingual content in Laravel?

You can implement role-based permissions and multilingual content by integrating spatie/laravel-permission and spatie/laravel-translatable. This combination enforces locale-aware access control and stores model attributes across multiple locales with automatic fallback support.

What is the best way to set up Spatie permissions and translatable models in a Laravel application?

The best way to set up Spatie packages is via Composer, followed by running php artisan migrate. You then seed initial roles and permissions, attach them to models, and protect routes using 'permission:*' middleware alongside Laravel policies.

Can I use Spatie translatable models with role-based access control for a multilingual CMS?

Yes, Spatie translatable models work seamlessly with role-based access control for a multilingual CMS. Editors can manage content across various locales while administrators enforce access to specific admin sections using defined roles and permissions.

Do I need standard Laravel authentication to enforce authorization with Spatie permissions?

Yes, you need standard Laravel authentication to enforce authorization with Spatie permissions. The solution relies on native Laravel authentication mechanisms to apply role-based permissions across controllers, routes, and policies.

How do I centralize permission checks for Laravel routes using Spatie?

To centralize permission checks for Laravel routes, implement authorization policies and protect resources using Spatie's 'permission:*' middleware. This approach reduces boilerplate by centralizing access control logic directly within your application's policies.