CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

laravel-security

Laravel security best practices — authentication, authorization, Eloquent safety, CSRF, XSS prevention, API security, and secure deployment configurations. Use when reviewing Laravel auth, Eloquent safety, CSRF, XSS, API security, or deployment configuration.

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/laravel-security/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A thorough, largely concrete security reference whose body is dominated by actionable code and config snippets. Its weaknesses are structural: duplicated coverage across sections, a monolithic single-file layout with no reference files, and topical rather than sequenced organization without explicit validation checkpoints.

Suggestions

Deduplicate overlapping sections: Sanctum token config appears in both "Authentication" and "API Security", and rate limiting in both "API Security" and "Queue Security" — consolidate each into one place and cross-reference.

Move deep-dive material (full PostPolicy example, CORS/filesystems config, queue encryption, logging channel setup) into references/ files (e.g. authorization.md, api-security.md) and keep SKILL.md as an overview plus the Quick Security Checklist.

Add a sequenced production-hardening workflow with verification checkpoints (e.g. 1) set env vars, 2) run `php artisan key:generate`, 3) `composer audit`, 4) verify config boot-check throws nothing, 5) deploy) so the reference also functions as a validated process.

DimensionReasoningScore

Conciseness

The ~950-line body is mostly dense, useful code with inline comments rather than padded prose, but it includes unnecessary repetition — Sanctum token configuration appears in both "Authentication" and "API Authentication — Sanctum vs Passport", rate limiting appears in both "API Security" and "Queue Security", and the mass-assignment section shows BAD/GOOD/BETTER variants that restate one point. This matches "mostly efficient but includes some unnecessary explanation or could be tightened"; not 4 because the duplication and fragment length across the whole document are more than minor.

3 / 5

Actionability

Most guidance is concrete, near-executable code and config: form request rules, Gate::define examples, `composer audit`, CSP header middleware, specific `mimes:`/`max:` validation. Not 5 because several snippets are fragmentary rather than copy-paste ready (the trusted-proxies block is a comment plus a bare config line, the ForceHttps middleware lacks its class wrapper, `protected $routeMiddleware` is pre-Laravel 11 Kernel style, and `$user->wasRecentlyLockedOut()` is not a real Eloquent method) — "mostly executable guidance with minor gaps".

4 / 5

Workflow Clarity

The content is organized as a topical reference with a closing "Quick Security Checklist" rather than a sequenced process — there is no ordered workflow (e.g. a production-hardening sequence) with validation checkpoints and feedback loops. The checklist supplies some verification items (`composer audit` in CI, verify `.gitignore`), but checkpoints are implicit and scattered, matching "steps listed but validation gaps; sequence present but checkpoints missing or implicit". Not 4: no clear sequence exists to hang checkpoints on.

3 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent), so everything — full policy class examples, CORS config, queue security, logging setup — is inlined in a single ~950-line SKILL.md with good headers but no one-level-deep references to split content into. This fits "some structure but could be better organized; content that should be separate is inline"; not 2 because section headers and the checklist keep it navigable.

3 / 5

Total

13

/

20

Passed

Description

83%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description with a clear what/when structure and a correctly scoped, framework-anchored trigger clause in third-person/ imperative voice. The main gaps are that capabilities are expressed as topic areas rather than actions, and a few natural trigger synonyms (mass assignment, SQL injection, permissions, hardening) are absent.

DimensionReasoningScore

Specificity

The description lists several specific capability areas — "authentication, authorization, Eloquent safety, CSRF, XSS prevention, API security, and secure deployment configurations" — which parallels the anchor-4 example of several specific actions with minor gaps. It falls short of 5 because these are named topic areas rather than concrete actions (compare "Extract text and tables from PDF files, fill forms, merge documents"), and "security best practices" is mildly generic.

4 / 5

Completeness

It explicitly answers both what ("Laravel security best practices — authentication, authorization, Eloquent safety, CSRF, XSS prevention, API security, and secure deployment configurations") and when ("Use when reviewing Laravel auth, Eloquent safety, CSRF, XSS, API security, or deployment configuration") with concrete trigger phrases, matching the anchor-5 example structure. Not below 5: both halves are present and specific; it clearly beats the anchor-4 example whose 'when' is generic.

5 / 5

Trigger Term Quality

The "Use when" clause provides good natural keywords users would say: "Laravel auth, Eloquent safety, CSRF, XSS, API security, or deployment configuration". Not a 5 because common variations and synonyms are missing — e.g. "mass assignment", "SQL injection", "permissions", "security review", "hardening" — which a user asking about those would not trigger.

4 / 5

Distinctiveness Conflict Risk

Laravel is named in the first sentence and most triggers are Laravel-anchored ("Eloquent safety" is framework-specific), giving a clear niche. Minor overlap remains: "deployment configuration" and "API security" alone could also match a generic deployment or web-security skill, and the body references a closely related laravel-patterns skill — fits anchor 4 rather than 5.

4 / 5

Total

17

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (951 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

Total

14

/

16

Passed

Repository

affaan-m/ECC

Path

skills/laravel-security/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.