laravel:data-chunking-large-datasets
Process large datasets efficiently using chunk(), chunkById(), lazy(), and cursor() to reduce memory consumption and improve performance
Skill by jpcaparas
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jpcaparas-laravel-data-chunking-large-datasets
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/laravel-data-chunking-large-datasets
What's inside
- Skill name
laravel:data-chunking-large-datasets- Description
- Process large datasets efficiently using chunk(), chunkById(), lazy(), and cursor() to reduce memory consumption and improve performance
- License
- MIT
- Instructions
- 390 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: only lowercase letters, digits and single hyphens allowed
- name: "laravel:data-chunking-large-datasets" does not match folder "data-chunking-large-datasets"
Files (1)
- SKILL.md
SKILL.md (first lines)
# Data Chunking for Large Datasets
Process large datasets efficiently by breaking them into manageable chunks to reduce memory consumption and improve performance.
## The Problem: Memory Exhaustion
```php
// BAD: Loading all records into memory
$users = User::all(); // Could be millions of records!
foreach ($users as $user) {
$user->sendNewsletter();
}
// BAD: Even with select, still loads everything
$emails = User::pluck('email'); // Array of millions of emails
foreach ($emails as $email) {
Mail::to($email)->send(new Newsletter());
}
```
## Solution: Chunking Methods
### 1. Basic Chunking with `chunk()`
```php
// Process 100 records at a time
User::chunk(100, function ($users) {
foreach ($users as $user) {
$user->calculateStatistics();
$user->save();
}
});
// With conditions
User::where('active', true)
->chunk(200, function ($users) {
foreach ($users as $user) {
ProcessUserJob::dispatch($user);
}
});
```
### 2. Chunk By ID for Safer Updates
```php
// Prevents issues when modifying records during iteration
User::where('newsletter_sent', false)
->chunkById(100, function ($users) {
foreach ($users as $user) {
$user->update(['newsletter_sent' => true]);
Mail::to($user)->send(new Newsletter());
}
});
// With custom column
Payment::where('processed', false)
->chunkById(100, function ($payments) {
foreach ($payments as $payment) {
$payment->process();
}
}, 'payment_id'); // Custom ID column
```
### 3. Lazy Collections for Memory Efficiency
```php
// Uses PHP generators, minimal memory footprint
User::where('created_at', '>=', now()->subDays(30))
->lazy()
->each(function ($user) {
$user->recalculateScore();
});
// With chunking size control
User::lazy(100)->each(function ($user) {
ProcessRecentUser::dispatch($user);
});
// Filter and map with lazy collections
$results = User::lazy()
->filter(fn($user) => $user->hasActiveSubscription())
->map(fn($user) => [
'id' => $user->id,
'revenue' => $user->calculateRevenue(),
])
->take(1000);
```
### 4. Cursor for Forward-Only Iteration
```php
// Most memory-efficient for simple forward iteration
foreach (User::where('active', true)->cursor() as $user) {
$user->updateLastSeen();
}
// With lazy() for additional collection methods
User::where('verified', true)
->cursor()
->filter(fn($user) => $user->hasCompletedProfile())
->each(fn($user) => SendWelcomeEmail::dispatch($user));
```
## Real-World Examples
### Export Large CSV
```php
class ExportUsersCommand extends Command
{
public function handle()
{
$file = fopen('users.csv', 'w');
// Write headers
fputcsv($file, ['ID', 'Name', 'Email', 'Created At']);From jpcaparas/superpowers-laravel, MIT.
More from jpcaparas/superpowers-laravel
- 0.597score
laravel:performance-caching
jpcaparas
Use framework caches and value/query caching to reduce work; add tags, locks, and explicit invalidation strategies for correctness
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:php-attributes
jpcaparas
Use first-party PHP attributes (Laravel 13+) for controllers, authorization, queue jobs, and models; declarative configuration colocated with code
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:form-requests
jpcaparas
Move validation and authorization into Form Requests; use rule objects, custom messages, and nested data handling to keep controllers slim
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:migrations-and-factories
jpcaparas
Safe database change patterns; when to modify vs add migrations; always pair models with migrations and factories; seeding guidance
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:request-forgery-protection
jpcaparas
Configure CSRF and origin-aware request forgery protection; PreventRequestForgery middleware (Laravel 13+) with token fallback and exclusions
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:debugging-prompts
jpcaparas
Create effective debugging prompts—include error messages, stack traces, expected vs actual behavior, logs, and attempted solutions
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:effective-context
jpcaparas
Provide comprehensive context in prompts—files, errors, Laravel version, dependencies, and monorepo details—for accurate AI responses
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:eloquent-relationships
jpcaparas
Define clear relationships and load data efficiently; prevent N+1, use constraints, counts/sums, and pivot syncing safely
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:ai-sdk
jpcaparas
Build AI features with the first-party Laravel AI SDK (Laravel 13+); agents, embeddings, images, audio, and tool calling with provider-agnostic APIs
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:laravel-prompting-patterns
jpcaparas
Use Laravel-specific vocabulary—Eloquent patterns, Form Requests, API resources, jobs/queues—to get idiomatic framework code
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:code-review-requests
jpcaparas
Request effective code reviews—specify focus areas, provide context, ask for architectural feedback, reference Laravel conventions
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:specifying-constraints
jpcaparas
Define clear constraints—performance, security, testing, architecture, dependencies—so AI generates code that meets your project standards
SkillCFreshness: C★ 157Claude Code +9
Signals
- Stars
- 157
- Forks
- 3
- Open issues
- 0
- Last commit (this folder)
- Nov 10, 2025 (11 months ago)
- Last release
- Nov 4, 2025 (11 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jpcaparas/superpowers-laravel
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from jpcaparas
- 0.597score
laravel:request-forgery-protection
jpcaparas
Configure CSRF and origin-aware request forgery protection; PreventRequestForgery middleware (Laravel 13+) with token fallback and exclusions
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:code-review-requests
jpcaparas
Request effective code reviews—specify focus areas, provide context, ask for architectural feedback, reference Laravel conventions
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:debugging-prompts
jpcaparas
Create effective debugging prompts—include error messages, stack traces, expected vs actual behavior, logs, and attempted solutions
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:effective-context
jpcaparas
Provide comprehensive context in prompts—files, errors, Laravel version, dependencies, and monorepo details—for accurate AI responses
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:ai-sdk
jpcaparas
Build AI features with the first-party Laravel AI SDK (Laravel 13+); agents, embeddings, images, audio, and tool calling with provider-agnostic APIs
SkillCFreshness: C★ 157Claude Code +9 - 0.597score
laravel:eloquent-relationships
jpcaparas
Define clear relationships and load data efficiently; prevent N+1, use constraints, counts/sums, and pivot syncing safely
SkillCFreshness: C★ 157Claude Code +9
Cite this page
laravel:data-chunking-large-datasets skill. Agent Mart. https://agentmart.dev/skills/jpcaparas-laravel-data-chunking-large-datasets (last updated 2026-10-24)