Laravel Launches an Open Directory of AI Agent Skills for Laravel and PHP

https://picperf.io/https://laravelnews.s3.amazonaws.com/featured-images/laravel-skils.png

The Laravel ecosystem continues to lean into the agent-driven future with the launch of Laravel Skills, an open directory of reusable AI agent skills designed specifically for Laravel and PHP developers.

Available at https://skills.laravel.cloud/, the new site makes it easy to discover, share, and install skills that help AI tools better understand your codebase, workflows, and best practices.

What Is Laravel Skills?

Laravel Skills is described as an open directory of reusable AI agent skills for Laravel and PHP, where developers can browse and install skills with a single command.

These skills are designed to work with popular AI coding environments including Claude Code, Cursor, Windsurf, Copilot, and others, helping agents perform tasks like:

  • Following Laravel conventions
  • Applying PHP best practices
  • Working with Eloquent and queues
  • Running TDD workflows
  • Structuring applications correctly
  • Reviewing code quality

Instead of repeatedly explaining your stack or preferences, you can load a skill that teaches your agent how to behave.


Install Skills with a Single Command

One of the highlights is how lightweight the workflow is. Skills can be installed using a simple command:

npx skills add <owner/repo>

A Growing Library of Community Skills

The directory already includes skills covering areas like:

  • Laravel architecture guidelines
  • Eloquent optimization
  • Modern PHP patterns
  • Testing workflows
  • API design practices
  • Frontend integrations

Because it’s community powered, developers can submit their own skills and contribute patterns that reflect real-world experience.

Laravel News

Bringing GenAI to Every MySQL Instance: ProxySQL v4.0

https://proxysql.com/wp-content/uploads/2026/02/Screenshot-2026-02-24-at-11.09.39%E2%80%AFAM-300×173.png

The Problem with “Just Migrate”

Most organizations are sitting on MySQL deployments they can’t easily change — a mix of community editions, managed cloud services, and legacy versions. Teams want RAG pipelines and natural language querying, but adding AI capabilities typically means schema migrations, new vector database infrastructure, dual-write synchronization headaches, and AI logic sprawled across every application layer. The operational cost is real, and the governance risk is worse.
ProxySQL v4.0 takes a different approach: don’t touch your database at all.

The Transparent AI Layer

The core thesis is elegant — put the intelligence at the proxy layer, not in the database or the application. ProxySQL already sits between every client and every MySQL backend, which makes it a natural choke point for centralized governance, auth, auditing, and now AI capabilities. No connection string changes, no schema migrations, no new infrastructure your DBA team has to babysit.
The comparison with app-layer integration is stark. Where app-layer AI means fragmented governance across every service, schema changes, and multiple network hops, the ProxySQL AI layer provides unified query rules, zero schema changes, and a single enforced access path.

What’s Actually in v4.0

The MCP (Model Context Protocol) server is the centerpiece. Running on port 6071 over HTTPS with bearer token auth, it exposes 30+ tools that any MCP-compatible agent — Claude Code, GitHub Copilot, Cursor, Warp — can discover and call via standard JSON-RPC. Tools span schema discovery (list_schemas, list_tables, list_columns), safe read-only execution (run_sql_readonly, explain_sql), and full RAG search capabilities (rag.search_fts, rag.search_vector, rag.search_hybrid).

All MCP requests pass through MCP Query Rules — analogous to ProxySQL’s existing mysql_query_rules — which can allow, block, rewrite, or timeout requests before they ever reach MySQL. This is where you enforce read-only access, prevent data exfiltration, and audit everything agents are doing.

The Autodiscovery system (discovery.run_static) runs a two-phase process: static schema harvesting followed by LLM-enriched metadata including summaries and domain analysis. Everything lands in a local SQLite catalog (mcp_catalog.db) that agents can then search semantically via llm.search.

The NL2SQL workflow builds on this: agents search the catalog for relevant schemas, synthesize or reuse SQL templates, execute safely via run_sql_readonly, and optionally store successful query patterns as templates for future reuse — a continuous learning loop that improves accuracy over time.

What’s Still Coming

The presentation is upfront that this is a prototype showcase. Still on the roadmap: automatic embedding generation (with local or external model options), real-time indexing via MySQL replication/binlog without touching source tables, DISTANCE() SQL semantics for vector search on AI-blind MySQL backends, and additional MCP endpoints for config management, cache inspection, and observability.

The Bottom Line

The proxy layer argument is compelling: it’s operationally mature, protocol-aware, already deployed in front of critical databases, and has a battle-tested policy engine. Adding AI there rather than in application code means one place to enforce rules, one place to audit, and zero changes to the workloads that depend on MySQL stability.

The Code is on the v4.0 branch at github.com/sysown/proxysql, and the Generative AI documentation section at sysown.github.io/proxysql covers the new features.

Download the Bringing GenAI to every MySQL Instance Presentation given by
René Cannaò at preFOSDEM MySQL Belgian Days 2026 in Brussels.

Bringing GenAI to every MySQL Instance Title Page

The post Bringing GenAI to Every MySQL Instance: ProxySQL v4.0 appeared first on ProxySQL.

Planet MySQL

LA County lawsuit accuses Roblox of exposing children to ‘grooming and exploitation’

Los Angeles County has sued Roblox for "unfair and deceptive business practices," claiming the platform’s moderation and age-verification systems are inadequate. "Roblox portrays its platform as a safe and appropriate place for children to play," the complaint states. "In reality, and as Roblox well knows, the design of its platform makes children easy prey for pedophiles." 

Representatives accused Roblox of failing to implement adequate platform safety features to prevent child endangerment. "Specifically, Roblox has not effectively moderated game content or enforced age-appropriate restrictions and warnings established by the creators, allowing the predatory and inappropriate language and interactions between users to persist," the County stated. It also said the platform failed to disclose any danger to children, including sexual content and the risk of predators. 

Roblox rejected the allegations, saying the platform was built around safety. "We have advanced safeguards that monitor our platform for harmful content and communications, and users cannot send or receive images via chat, avoiding one of the most prevalent opportunities for misuse seen elsewhere online," the company told the AFP

The LA county complaint is the latest in a string of lawsuits from US regions including Florida, Texas and Kentucky. The Attorney General in Louisiana also accused the company of having a "lack of safety protocols" that endanger the safety of children in favor of "growth, revenue and profits." That state’s lawsuit cited a specific example of a subject arrested last year that used voice-altering tech to mimic a younger feminine voice to lure and sexually exploit young players.

Roblox has said that it has about 144 million daily active users around the world, with over 40 percent of them under the age of 13. However, it has faced repeated accusations that it doesn’t do enough to protect young players. In 2024, Roblox banned players under 13 from accessing some types of in-game content and restricted their ability to message with other players outside of specific games. Last year, the company also began asking tens of millions of children to verify their age with a selfie. 

This article originally appeared on Engadget at https://www.engadget.com/gaming/la-county-lawsuit-accuses-roblox-of-exposing-children-to-grooming-and-exploitation-124523028.html?src=rssEngadget

Roblox Is a Cesspit for Assassination Fantasies and Predators

https://img.patriotpost.us/01KHMR0QXRBSHRF0BZ5WK1TH47.jpeg?w=1200&h=630

Roblox — a popular online gaming platform specifically targeted at children but available to players of all ages — has repeatedly been criticized by parents and concerned players for inappropriate content. And thanks to the recent mass shooting in Canada, those growing concerns have once again come to the forefront.

The gaming site has hundreds of millions of subscribers, 40% of whom are 13 or younger. Users can create virtual worlds and games within those worlds to share with others. The gender-confused man who killed eight last week in Tumbler Ridge, British Columbia, was a Roblox player, and he even created a first-person shooter in which players go through a shopping mall and mow down shoppers as they try to flee.

Despicable.

The simulator was taken down after users brought the “virtual experience” to the attention of Roblox officials. It seems pretty clear that this so-called game was intended to be a practice round of sorts for the public atrocity that the young man ultimately committed.

This isn’t the first time Roblox has gotten into trouble for virtual games like this. After Charlie Kirk’s assassination, a user made his own simulator of the assassination for people to participate in.

Having these killing simulators is bad enough, but there are even worse things on Roblox for your kids.

Roblox is a magnet for pedophiles to connect with children. The virtual worlds and virtual characters allow players to disguise their age and intent. The chat feature is how the predators initiate contact with young players. An Iowa family found this out in the worst way possible, as their child was groomed and kidnapped, trafficked, and raped by an online predator on Roblox. They are suing the company for allowing adult grooming of children. Some 250 other similar lawsuits are now on the docket against the gaming platform.

The tricky thing about going after a company like Roblox is that it is protected by Section 230 of the Communications Decency Act. Like social media platforms, Roblox is shielded from liability for user-created content. However, it is not protected if management demonstrably failed to make the platform safe or failed to stop known risks.

In truth, Roblox has done very little to mitigate risks and protect children. Louisiana Attorney General Liz Murrill accurately stated that Roblox “prioritizes user growth, revenue and profits over child safety.”

Other states are also suing Roblox for its blatant disregard for children’s safety, including Texas and Florida. Lawmakers are urging the federal government to take action against platforms that are marketed for children.

In a show of “good faith” in the face of litigation heading its way, Roblox made a half-hearted effort to keep children away from mature content. In July, it announced that it was testing an age-verification simulator. According to The Washington Times, though, the only age verification is entering a date of birth.

Roblox is not appropriate for children. Frankly, no gaming app that allows your child to have unfettered communication with strangers is appropriate or safe. Roblox, however, refuses to choose: is it a platform just for children, or for both children and adults? If it’s for children, management needs to do a significantly better job of keeping pedophiles and other monsters off the platform. If it’s for adults, they need to stop marketing to children and do a better job of keeping kids away. Any 13-year-old can outsmart a birth date verification.

Parents also share some of the blame. They are the dictators of their children’s screen time and access to the internet, cellphones, and online gaming. They need to be aware of what their child is doing and not allow them to use platforms on which strangers can chat with them or create virtual worlds.

As it stands, Roblox is disregarding the safety of its user base, and parents need to be aware that this platform is not a good place for their children. It is, in fact, a cesspit from which they should be kept far away.

The Patriot Post — Current Articles

So much for billable hours!

 

Artificial intelligence (AI) is having some unexpected consequences, and they’re still shaking themselves out as the impact spreads.  Jeff Childers reports:

The Financial Times reported that KPMG— one of the world’s Big Four accounting firms— bullied its own auditor into a 14% fee cut. Their argument was elegant in its simplicity: if your AI is doing the work, your people shouldn’t be billing for it. KPMG’s hapless auditor, Grant Thornton, tried to kick but quickly folded like a WalMart lawn chair, dropping its auditing fee from $416,000 to $357,000.

And now every CFO on Earth is reaching for a calculator.

Here’s the dark comedy. Grant Thornton’s UK audit leader bragged in a December blog post that AI was making their work “faster and smarter.” KPMG took note, and immediately asked why it was still paying the slower-and-dumber price. This is why lawyers tell their clients to stop posting on social media. The marketing department just became the billing department’s worst enemy.

As a lawyer who bills by the hour —and I suspect many of you work in professions that do the same— I can assure everyone that this story sent a terrifying chill racing through the spines of every white-collar professional who’s been out there cheerfully babbling about AI adoption at industry conferences.

The billable hour has survived the fax machine, personal computers, email, electronic filing, spreadsheets, and the entire internet. The billable hour has the survival instincts of a post-apocalyptic cockroach and the institutional momentum of a Senate tradition. But AI might finally be the dinosaur killer, and KPMG just showed everyone exactly how the asteroid hits: your client reads your own press release and demands a discount.

. . .

The billable hour won’t die overnight. But it just got a terminal diagnosis. Every professional services firm that’s spent the last two years bragging about AI efficiency is now staring at the same problem: you can’t brag to your clients you’re faster and also charge them for the same number of hours. As they say at KPMG, it doesn’t add up. Somewhere in a law firm right now, a partner is quietly deleting a LinkedIn post about how AI is “transforming their practice.” Smart move.

There’s more at the link.

It’s not just company-to-company billing, either.  How many professional services do we, as consumers, use, and get charged by the hour?

  • Service your car – hourly charge for the mechanic.
  • File your taxes – hourly charge by the tax preparer.
  • Domestic services such as plumber, electrician, etc. – hourly rate for labor, plus parts, etc.

How many of these services will be affected by AI?  Quite a few, I’m guessing.  A mechanic can use AI to finish his repairs more quickly, as the software guides him through the process on an unfamiliar vehicle.  The tax preparer is almost certainly going to use AI to do his job, so the number of hours they spend on the job should go down – and so should your bill.  Even domestic service calls should be quicker and easier if the technician or professional can look up a reference to what he’s doing, possibly on equipment on which he’s never been trained, and do the job faster and better.

I think AI can be considered the monkey wrench that just got tossed into the professional billing pool.  This should be interesting . . .

Peter

Bayou Renaissance Man

Laravel Ingest: A configuration-driven data import framework

https://repository-images.githubusercontent.com/1085312500/6ec13265-eaca-4031-81af-e2b0afc2099d

Laravel Ingest Banner

Latest Version
Total Downloads
Build Status
Documentation
License


Stop writing spaghetti code for imports.

Laravel Ingest is a robust, configuration-driven ETL (Extract, Transform, Load) framework for Laravel. It replaces
fragile, procedural import scripts with elegant, declarative configuration classes.

Whether you are importing 100 rows or 10 million, Laravel Ingest handles the heavy lifting: streaming, chunking,
queueing, validation, relationships, and error reporting.

Most import implementations suffer from the same issues: memory leaks, timeouts, lack of validation, and messy
controllers.

Laravel Ingest solves this by treating imports as a first-class citizen:

  • ♾️ Infinite Scalability: Uses Generators and Queues to process files of any size with flat memory usage.
  • 📝 Declarative Syntax: Define what to import, not how to loop over it.
  • 🧪 Dry Runs: Simulate imports to find validation errors without touching the database.
  • 🔗 Auto-Relations: Automatically resolves BelongsTo and BelongsToMany relationships (e.g., finding IDs by
    names).
  • 🛡️ Robust Error Handling: Tracks every failed row and allows you to download a CSV of only the failures to fix
    and retry.
  • 🔌 API & CLI Ready: Comes with auto-generated API endpoints and Artisan commands.

Full documentation is available at zappzerapp.github.io/laravel-ingest.


composer require zappzerapp/laravel-ingest

# Publish config & migrations
php artisan vendor:publish --provider="LaravelIngest\IngestServiceProvider"

# Create tables
php artisan migrate

Create a class implementing IngestDefinition. This is the only code you need to write.

namespace App\Ingest;

use App\Models\User;
use LaravelIngest\Contracts\IngestDefinition;
use LaravelIngest\IngestConfig;
use LaravelIngest\Enums\SourceType;
use LaravelIngest\Enums\DuplicateStrategy;

class UserImporter implements IngestDefinition
{
    public function getConfig(): IngestConfig
    {
        return IngestConfig::for(User::class)
            ->fromSource(SourceType::UPLOAD)
            ->keyedBy('email') // Identify records by email
            ->onDuplicate(DuplicateStrategy::UPDATE) // Update if exists
            
            // Map CSV columns to DB attributes
            ->map('Full Name', 'name')
            ->map(['E-Mail', 'Email Address'], 'email') // Supports aliases
            
            // Handle Relationships automatically
            ->relate('Role', 'role', Role::class, 'slug', createIfMissing: true)
            
            // Validate rows before processing
            ->validate([
                'email' => 'required|email',
                'Full Name' => 'required|string|min:3'
            ]);
    }
}

In App\Providers\AppServiceProvider:

use LaravelIngest\IngestServiceProvider;

public function register(): void
{
    $this->app->tag([UserImporter::class], IngestServiceProvider::INGEST_DEFINITION_TAG);
}

You can now trigger the import via CLI or API.

Via Artisan (Backend / Cron):

php artisan ingest:run user-importer --file=users.csv

Via API (Frontend / Upload):

curl -X POST \
  -H "Authorization: Bearer <token>" \
  -F "file=@users.csv" \
  https://your-app.com/api/v1/ingest/upload/user-importer

Want to see Laravel Ingest in action? Check out our Laravel Ingest Demo repository for a complete working example.

# Clone the demo
git clone https://github.com/zappzerapp/Laravel-Ingest-Demo.git
cd Laravel-Ingest-Demo

# Start and benchmark
docker compose up -d
docker compose exec app php artisan benchmark:ingest

Ingest runs happen in the background. You can monitor and manage them easily:

Command Description
ingest:list Show all registered importers.
ingest:status {id} Show progress bar, stats, and errors for a run.
ingest:cancel {id} Stop a running import gracefully.
ingest:retry {id} Create a new run containing only the rows that failed previously.

The package automatically exposes endpoints for building UI integrations (e.g., React/Vue progress bars).

  • GET /api/v1/ingest – List recent runs.
  • GET /api/v1/ingest/{id} – Get status and progress.
  • GET /api/v1/ingest/{id}/errors/summary – Get aggregated error stats (e.g., "50x Email invalid").
  • GET /api/v1/ingest/{id}/failed-rows/download – Download a CSV of failed rows to fix & re-upload.

Hook into the lifecycle to send notifications (e.g., Slack) or trigger downstream logic.

  • LaravelIngest\Events\IngestRunStarted
  • LaravelIngest\Events\ChunkProcessed
  • LaravelIngest\Events\RowProcessed
  • LaravelIngest\Events\IngestRunCompleted
  • LaravelIngest\Events\IngestRunFailed

To keep your database clean, logs are prunable. Add this to your scheduler:

$schedule->command('model:prune', [
    '--model' => [LaravelIngest\Models\IngestRow::class],
])->daily();

🧩 Configuration Reference

The IngestConfig fluent API handles complex scenarios with ease.

IngestConfig::for(Product::class)
    // Sources: UPLOAD, FILESYSTEM, URL, FTP, SFTP
    ->fromSource(SourceType::FTP, ['disk' => 'erp', 'path' => 'daily.csv'])
    
    // Performance
    ->setChunkSize(1000)
    ->atomic() // Wrap chunks in transactions
    
    // Logic
    ->keyedBy('sku')
    ->onDuplicate(DuplicateStrategy::UPDATE_IF_NEWER)
    ->compareTimestamp('last_modified_at', 'updated_at')
    
    // Transformation
    ->mapAndTransform('price_cents', 'price', fn($val) => $val / 100)
    ->resolveModelUsing(fn($row) => $row['type'] === 'digital' ? DigitalProduct::class : Product::class);

See the Documentation for all available methods.


We provide a Docker-based test environment to ensure consistency.

# Start Docker
composer docker:up

# Run Tests
composer docker:test

# Check Coverage
composer docker:coverage

We welcome contributions! Please see CONTRIBUTING.md for details.

The MIT License (MIT). Please see License File for more information.

Laravel News Links

Imperial Stormtrooper Once Again Finishes Dead Last In Olympic Biathlon

https://media.babylonbee.com/articles/698a2e47511f3698a2e47511f4.jpg

BOLZANO — The Galactic Empire was met with collective disappointment in its first chance at bringing home a medal at the 2026 Milano-Cortina Winter Olympic Games, as an Imperial stormtrooper once again finished dead last in the qualifying round of the men’s biathlon.

While insiders said that the Empire had high hopes for winning multiple events at the games, the opening days left leadership underwhelmed, as for the 13th consecutive Winter Olympics, the Imperial stormtrooper sent to compete in the biathlon put on a miserable performance.

"He didn’t hit a single target," said NBC commentator and former biathlon competitor Chad Salmela. "I know he spent months training for this event on Hoth, but it was almost like he couldn’t see anything at all with that helmet on. He would ski up to the shooting range, get into position with his blaster, and just not come anywhere near the target. It was embarrassing. I’m not sure why the Empire continues to send stormtroopers to compete in the biathlon. They’ve been trying since the 1980 games, but they finish last every time. They can’t hit anything."

Though other events still offered promise, sources close to the Imperial contingent revealed that stormtrooper biathletes regularly draw the ire of Emperor Palpatine. "We usually never see them again after we get back to Coruscant," said one Imperial athlete. "There’s usually a flash of blueish-purple lightning and some screams of agony, and the stormtrooper is gone. It’s a shame, because they’re actually really good at the cross-country skiing part of the event."

At publishing time, the Imperial ski jumping team had been hit with a cheating scandal alleging that the height and distance of their jumps were artificially aided by the Force abilities of Coach Darth Vader.


Coming soon to a Democrat-controlled city near you!

Babylon Bee