Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add wakqasahmed/skills --skill laravel-conventionsgit clone --depth 1 https://github.com/wakqasahmed/skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/wakqasahmed/skills/laravel-conventions)<a href="https://agentmods.dev/skills/wakqasahmed/skills/laravel-conventions"><img src="https://agentmods.dev/badge/skills/wakqasahmed/skills/laravel-conventions/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/wakqasahmed/skills/laravel-conventions"><img src="https://agentmods.dev/badge/skills/wakqasahmed/skills/laravel-conventions.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00031 | $0.01266 |
| Opus 5 | $0.00015 | $0.00633 |
| Sonnet 5 | $0.00006 | $0.00253 |
| Haiku 4.5 | $0.00003 | $0.00127 |
Grade A, and why
laravel-conventions scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Laravel Conventions
Use this when writing or changing Laravel application code.
Defaults
- Inspect existing routes, models, config, tests, and installed Laravel version before choosing a pattern; match established project conventions where they are sound.
- Eloquent over raw SQL unless the query is too complex for the ORM.
- Form Request classes for all validation; never inline validate in controllers.
config('key')instead ofenv('KEY')outside config files.- Queue jobs (
ShouldQueue) for anything slow, external, or async. - Keep controllers thin; introduce service classes only when the project's existing structure or real complexity warrants them.
- Use named routes and route helpers for application links and redirects.
- Check the installed Laravel major version before applying framework structure or API guidance; Laravel 10, 11, and 12 are not interchangeable.
Models
- Use explicit fillable or guarded declarations.
- Define relationships, casts, and scopes on the model.
- Avoid N+1 queries; eager load relationships in resources and controllers.
- Use database transactions when modifying multiple related records.
Foreign Keys And Migrations
- Match the foreign key column's type exactly to the referenced table's primary key type (
foreignIdforbigIncrements/id(), not a mismatchedunsignedInteger). - Set an explicit
onDelete/onUpdatepolicy (cascade,restrict,nullOnDelete) — don't leave it at the database default. - Index every foreign key column and any column used in a frequent
WHERE/JOIN/ORDER BY; verify withphp artisan schema:dumpor by reviewing the migration diff against the referenced table before merge. - Idempotent job handling on retry is covered in Background Work above — apply it to anything a migration or FK change feeds into a queue.
Production Migration Safety
- Take a database backup immediately before running any migration that drops a column/table, renames a column, or transforms data in place. A destructive migration with no preceding backup is not deployable — document the backup step in the PR or deploy runbook, not just in your head.
php artisan migraterefuses to run against an environment whereapp.envisproductionunless you pass--force. Treat that prompt as a guardrail, not friction to script around — never bake--forceinto a deploy step that isn't gated by its own review/approval (CI job, deploy script) that a human or protected pipeline controls.- For any migration with meaningful table-lock time (adding an index or column to a large table, an unbounded
UPDATEinside a migration) or any downtime-sensitive change, put the app in maintenance mode first:php artisan down --secret=...before,php artisan upafter. Preferphp artisan down --render="errors::503"(or a custom view) over a bare 503, and confirm the app supports zero-downtime alternatives (online DDL tools, additive-then-backfill-then-cleanup migrations) before assumingdownis required. - MySQL DDL (
ALTER TABLE,CREATE TABLE,DROP TABLE) is not transactional — unlike PostgreSQL, a failed statement partway through a multi-statement migration can leave the schema partially applied, and Laravel's migration wrapping transaction will not roll back the already-committed DDL. Keep migrations small and single-purpose (one schema change per migration) so a failure is easy to diagnose and the blast radius is one operation, not five. - Test the migration's
down()locally (php artisan migrate:rollback) before merging, not justup(). Do not ship a migration you can't cleanly reverse; if a migration is genuinely irreversible (e.g. it drops a column with data that isn't recoverable from the backup taken above), leavedown()throwing\RuntimeExceptionwith a one-line explanation instead of a silent no-op, so a future rollback attempt fails loud instead of pretending to succeed. - Never let a migration silently truncate or drop data as a side effect of a schema change (e.g. changing a column type in a way that MySQL will truncate on conversion) without an explicit backup step called out in the PR description or deploy checklist.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 80 lines · 31 tokens per session scan A 28056a10f1ec
laravel-conventions is a skill published in the GitHub repository wakqasahmed/skills (2 stars, last pushed 17d ago), licensed MIT. It adds 31 tokens to every session and 1,266 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
laravel-specialist
Build and configure Laravel 10+ applications, including creating Eloquent models and relationships, implementing Sanctum authentication, configuring Horizon queues, designing RESTful APIs with API resources, and building reactive interfaces with Livewire. Use when creating Laravel models, setting up queue workers…
create-powergrid-plugin
Create a complete PowerGrid plugin from scratch, including PHP class, Column macro, Blade view, Alpine.js component, and registration.
owl-admin-devtools-generator
A development guide for Owl Admin, a Laravel-based administration system, covering its code generator, API templates, relationships, and visual pages.
llamaindex-development
Expert guidance for LlamaIndex development including RAG applications, vector stores, document processing, query engines, and building production AI applications.
craftcms
Craft CMS 5 plugin and module development — extending Craft with PHP. Covers elements, element queries, services, models, records, controllers, migrations, queue jobs, console commands, field types, native fields, events, behaviors, Twig extensions, widgets, filesystems, permissions, project config, GraphQL, testing…
laravel-expert
Laravel & PHP Development Instructions for GitHub Copilot.