install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/noartem/skills/laravel-policies-and-authorization" ~/.claude/skills/comeonoliver-skillshub-laravel-policies-and-authorization && rm -rf "$T"
manifest:
skills/noartem/skills/laravel-policies-and-authorization/SKILL.mdsource content
Policies and Authorization
Use Policies for per-model actions; use Gates for cross-cutting checks.
Commands
# Generate a policy sail artisan make:policy PostPolicy --model=Post # or: php artisan make:policy PostPolicy --model=Post # Apply in routes (resource controllers) Route::resource('posts', PostController::class); // In controller constructor $this->authorizeResource(Post::class, 'post'); # One-off checks $this->authorize('update', $post); // in controller Gate::allows('manage-billing', $user); // ad-hoc gate
Patterns
- Use resource policy methods:
viewAny, view, create, update, delete, restore, forceDelete - Prefer policy methods over inline checks; keeps controllers clean
- Register policies in
AuthServiceProvider - Use
middleware for quick route protection:can->middleware('can:update,post') - In tests, assert
for denied casesactingAs($user)->get(...)->assertForbidden()