Create FilamentPHP v4 tables with columns, filters, sorting, search, and bulk actions
View on GitHubmwguerra/claude-code-plugins
filament-specialist
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/mwguerra/claude-code-plugins/blob/main/filament-specialist/skills/filament-tables/SKILL.md -a claude-code --skill filament-tablesInstallation paths:
.claude/skills/filament-tables/# FilamentPHP Tables Generation Skill
## Overview
This skill generates FilamentPHP v4 table configurations with columns, filters, actions, and bulk operations following official documentation patterns.
## Documentation Reference
**CRITICAL:** Before generating tables, read:
- `/home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/filament-docs/references/tables/`
- `/home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/filament-docs/references/tables/02-columns/`
- `/home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/filament-docs/references/tables/03-filters/`
## Workflow
### Step 1: Analyze Requirements
Identify:
- Columns to display
- Searchable fields
- Sortable fields
- Filter requirements
- Row actions
- Bulk actions
- Relationships to display
### Step 2: Read Documentation
Navigate to table documentation and extract:
- Column class names and options
- Filter configurations
- Action patterns
- Performance considerations
### Step 3: Generate Table
Build table configuration:
```php
use Filament\Tables;
use Filament\Tables\Table;
public static function table(Table $table): Table
{
return $table
->columns([
// Columns
])
->filters([
// Filters
])
->actions([
// Row actions
])
->bulkActions([
// Bulk actions
]);
}
```
## Column Types Reference
### Text Column
```php
// Basic text
Tables\Columns\TextColumn::make('name')
->searchable()
->sortable();
// With limit and tooltip
Tables\Columns\TextColumn::make('description')
->limit(50)
->tooltip(fn ($record): string => $record->description);
// Formatted
Tables\Columns\TextColumn::make('price')
->money('usd')
->sortable();
// Date formatting
Tables\Columns\TextColumn::make('created_at')
->dateTime('M j, Y H:i')
->sortable()
->since(); // Shows "2 hours ago"
// Copyable
Ta