Ashley Hindle (Staff Engineer, Laravel) leads Laravel's AI-assisted development initiatives. He created Laravel Boost, announced at Laracon US 2025, and is the primary author of Laravel's official AI tooling. He is also giving a version of this talk at Laracon AU 2026. He has recently stepped down at Laravel in favour of "Fuel", his own AI management tool.
- X: @ashleyhindle
- AI Coding Tips for Laravel Developers - Laravel Blog
- Laravel Podcast - Ashley Hindle episode
Plan, delegate, verify
The core workflow Ashley advocates for working with AI coding agents. Rather than giving an agent an open-ended task and accepting whatever it produces, the developer stays in control at three distinct points.
Plan - design the approach before the agent touches code. The plan needs to be specific enough that there is no ambiguity about what "done" looks like. Ashley has noted that getting the plan right before unleashing an agent is the most important step, and that most failures come from under-specified plans.
Delegate - hand the scoped, well-defined task to the agent to execute. The agent works within the boundaries set in the planning phase.
Verify - check the output against the plan and the quality gates before accepting it. This is where tests, linting, and the other checks described below do their work.
This maps to the broader "evaluator-optimizer" pattern in multi-agent design, where output is scored against criteria and refined until it passes. The Laravel blog post on multi-agent workflows describes this as "generate, evaluate, improve, in a loop."
References:
Digital Twin Universe - StrongDM
Ashley referenced this as an example of where agentic AI development is heading at the more extreme end of the spectrum.
StrongDM is a security and infrastructure access management company whose three-person AI team published a "Software Factory" manifesto in February 2026. Their charter: no human writes code, no human reviews code. Agents write, test, and ship.
The part relevant to the talk is the Digital Twin Universe (DTU), behavioural clones of every third-party service their software depends on. They built twins of Okta, Jira, Slack, Google Docs, Google Drive, and Google Sheets, replicating their APIs, edge cases, and observable behaviours as local standalone services.
The purpose: agents develop and test against the twins rather than production systems. This means no rate limits, no risk of triggering abuse detection, no API costs, and the ability to test failure modes that would be dangerous or impossible to replicate against live services. They run thousands of scenarios per hour.
The economics only became viable with the current generation of models - building a full-fidelity clone of a SaaS API was always technically possible but never cost-effective to do manually. Agents can now produce these clones from API documentation in hours.
Dan Shapiro's five-level taxonomy places this at Level 5 ("Dark Factory"), named after manufacturing facilities that operate in the dark because there are no humans inside.
References:
- The StrongDM Software Factory
- How StrongDM's AI team build serious software without looking at the code - Simon Willison
- strongdm/attractor on GitHub
Quality gates for agents
Rather than reviewing AI output manually after the fact, set up automated checks the agent must pass before the task is considered done. These run as part of the verify phase.
In a Laravel context this includes: Pest tests passing, PHPStan / Larastan analysis at an agreed level, Laravel Pint formatting clean, and Pest architecture tests passing. The agent cannot "complete" a task if these checks fail; it must fix its output until they pass.
This is the same principle Aaron Francis and Yannick Chenot both covered at the same conference from different angles: deterministic, automated enforcement is more reliable than soft constraints.
Symlink AGENTS.md into CLAUDE.md
A practical workflow tip. Rather than maintaining separate instruction files for each AI tool (CLAUDE.md for Claude Code, AGENTS.md for Codex, .cursorrules for Cursor, etc.), keep one source of truth (typically AGENTS.md) and symlink the tool-specific filenames to it.
# Keep AGENTS.md as the source
ln -s AGENTS.md CLAUDE.md
This means updating one file keeps all agents in sync. The skills community has documented a similar pattern at a directory level, using symlinks so that skills installed once appear in multiple agent directories.
References:
- CLAUDE.md, AGENTS.md and AI config files guide - DeployHQ
- Building Shareable AI Agent Skills - DEV Community
Point agents to golden examples
When instructing an agent on how to implement something, provide an existing example from the codebase that represents the correct approach, a "golden example". Rather than describing the pattern in prose, show it.
This maps to how the SKILL.md format works in practice. A skill file includes an Examples section pointing to real project-level examples, not just abstract rules. The agent reads the example and mirrors the pattern.
This is particularly useful for enforcing architectural decisions that are hard to express as lint rules: a specific way of structuring a controller, a particular form of service class, a naming convention for events. Showing a good example is more reliable than describing it.
Skills via skills.sh / skills.laravel.cloud
Laravel Skills is the official community directory of reusable AI agent skills for Laravel and PHP, available at skills.laravel.cloud. Skills are Markdown files encoding context, rules, and examples for a specific domain or package. They load on-demand when the agent encounters a relevant task, rather than all being in context at once.
The skills.sh CLI installs skills into the project:
npx skills add laravel/agent-skills
npx skills add laravel/agent-skills --skill laravel-queues
Laravel Boost installs official skills automatically based on detected packages
in composer.json. The Laravel team maintains official skills at
laravel/agent-skills on GitHub, covering packages like Laravel Cloud and
Nightwatch.
Skills complement CLAUDE.md / AGENTS.md: the config files set project-wide
conventions and are always loaded, while skills are loaded on-demand for specific
tasks to avoid bloating the context window.
Custom project-specific skills can also be created and stored locally in
.claude/skills/ or .cursor/skills/, the same format, just not published.
References:
- Laravel Skills directory - Laravel News
- laravel/agent-skills on GitHub
- skills.laravel.cloud
- Laravel Boost - Laravel News
Laravel Boost (background context)
Ashley's primary product at Laravel. A Composer package that gives AI agents structured access to a Laravel project's context.
composer require laravel/boost --dev
php artisan boost:install
Key features:
- Laravel-specific MCP server with 15+ tools (query DB, run Tinker, retrieve logs, stream browser errors, search docs)
- Version-specific documentation for Laravel and ecosystem packages (Inertia, Livewire, Filament, Flux) ingested and vectorised to reduce hallucinations
- Auto-generated CLAUDE.md, AGENTS.md, .cursorrules and Copilot instructions files with team-curated Laravel guidelines
- Detects your IDE during install and configures the right files
References:
Notes from Laravel Live UK 2026.