> laravel-security
Security standards for hardening Laravel applications. Use when securing authentication, authorization, input validation, or CSRF in Laravel. (triggers: app/Policies/**/*.php, config/*.php, policy, gate, authorize, env, config)
curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/laravel-security?format=md"Laravel Security
Priority: P0 (CRITICAL)
Structure
app/
├── Policies/ # Model-level permission
└── Http/
└── Middleware/ # Custom security layers
Implementation Guidelines
- Authorization: Always use Policies or Gates (no
$user->role ===). - Environment: Never use
env()outside of config files. Useconfig(). - Validation: Strict validation via Form Requests to prevent injection.
- Auth Guarding: Use
auth()->user()type-shadowing or interfaces. - XSS Safety: Leverage Blade
{{ $var }}automatic escaping. - CSRF: Ensure
@csrfis present in all state-changing forms.
Anti-Patterns
- Raw Env: No env() in code: Access through config to allow caching.
- Manual Auth: No custom auth logic: Use Laravel's built-in system.
- Unvalidated Mass: No unvalidated create: Always use
validated(). - Logic in Blade: No auth logic in View: Pass permissions as data.
References
> related_skills --same-repo
> typescript-tooling
Development tools, linting, and build config for TypeScript. Use when configuring ESLint, Prettier, Jest, Vitest, tsconfig, or any TS build tooling. (triggers: tsconfig.json, .eslintrc.*, jest.config.*, package.json, eslint, prettier, jest, vitest, build, compile, lint)
> typescript-security
Secure coding practices for TypeScript. Use when validating input, handling auth tokens, sanitizing data, or managing secrets and sensitive configuration. (triggers: **/*.ts, **/*.tsx, validate, sanitize, xss, injection, auth, password, secret, token)
> typescript-language
Modern TypeScript standards for type safety and maintainability. Use when working with types, interfaces, generics, enums, unions, or tsconfig settings. (triggers: **/*.ts, **/*.tsx, tsconfig.json, type, interface, generic, enum, union, intersection, readonly, const, namespace)
> typescript-best-practices
Idiomatic TypeScript patterns for clean, maintainable code. Use when writing or refactoring TypeScript classes, functions, modules, or async logic. (triggers: **/*.ts, **/*.tsx, class, function, module, import, export, async, promise)