filament-specialist
Expert FilamentPHP v4 assistant with complete official documentation. Generates resources, forms, tables, actions, widgets, infolists, and Pest tests following v4 patterns. Includes diagnosis and troubleshooting.
View on GitHubTable of content
Expert FilamentPHP v4 assistant with complete official documentation. Generates resources, forms, tables, actions, widgets, infolists, and Pest tests following v4 patterns. Includes diagnosis and troubleshooting.
Installation
npx claude-plugins install @mwguerra/mwguerra-marketplace/filament-specialist
Contents
Folders: agents, commands, skills
Files: README.md
Documentation
Ultra-specialized Claude Code plugin for FilamentPHP v4 development. This plugin provides comprehensive tools for generating resources, forms, tables, actions, widgets, infolists, and tests following official documentation patterns.
Features
- Complete FilamentPHP v4 Documentation: All official documentation is bundled with the plugin for accurate code generation
- Resource Generation: Create complete CRUD resources with forms, tables, relations, and tests
- Form Builder: Generate form schemas with all field types and validation
- Table Configuration: Build tables with columns, filters, and actions
- Action Creation: Generate modal actions, bulk actions, and page actions
- Widget Development: Create stats, charts, table, and custom widgets
- Infolist Builder: Design read-only data displays for view pages
- Test Generation: Comprehensive Pest tests for all components
- Issue Diagnosis: Troubleshoot FilamentPHP issues with documentation reference
Commands
| Command | Description |
|---|---|
/filament:resource <Model> | Generate a complete resource with form, table, and tests |
/filament:form <description> | Create a form schema with fields and validation |
/filament:table <description> | Build a table configuration with columns and filters |
/filament:action <description> | Generate actions (row, bulk, header, page) |
/filament:widget <description> | Create dashboard widgets (stats, chart, table, custom) |
/filament:infolist <description> | Design infolists for view pages |
/filament:test <Resource> | Generate Pest tests for a resource |
/filament:diagnose <error> | Diagnose and fix FilamentPHP issues |
/filament:docs <topic> | Search official documentation |
Usage Examples
Generate a Resource
/filament:resource Post --generate
Creates:
PostResource.phpwith form and table- List, Create, Edit, View pages
- Relation managers for relationships
- Pest tests for all operations
Create a Form
/filament:form "product with name, price, description, category, and images"
Generates a complete form schema with:
- TextInput for name
- Numeric input with currency prefix for price
- RichEditor for description
- Select with relationship for category
- FileUpload for images
Build a Table
/filament:table "orders with customer, items count, total, status badge"
Creates table configuration with:
- Relationship columns
- Aggregate counts
- Money formatting
- Badge colors for status
- Search, sort, and filters
Generate Actions
/filament:action "send email with subject and body" --modal
Creates an action with:
- Modal form with fields
- Validation
- Action handler
- Success notification
Create Widgets
/filament:widget "monthly revenue chart" --type chart
Generates:
- ChartWidget with data fetching
- Filter options (week, month, year)
- Styling configuration
Diagnose Issues
/filament:diagnose "form fields not saving to database"
- Analyzes the issue
- Consults documentation
- Provides solution with code
- Logs to solved-errors.md
Agent
The plugin includes a specialized agent (filament-specialist-agent) that can be used for complex FilamentPHP tasks:
- Autonomous resource creation
- Multi-component implementations
- Issue diagnosis and fixing
- Documentation-driven development
Documentation Structure
All FilamentPHP v4 documentation is stored in:
skills/filament-docs/references/
├── actions/ # Action buttons and modals
├── forms/ # Form field types
├── general/
│ ├── 01-introduction/
│ ├── 03-resources/
│ ├── 06-navigation/
│ ├── 07-users/
│ ├── 08-styling/
│ ├── 09-advanced/
│ ├── 10-testing/
│ ├── 11-plugins/
│ └── 12-components/
├── infolists/ # Info display entries
├── notifications/ # Toast notifications
├── schemas/ # Schema validation
├── tables/
│ ├── 02-columns/
│ └── 03-filters/
└── widgets/ # Dashboard widgets
Skills
The plugin provides specialized skills that can be invoked:
filament-docs- Search and reference documentationfilament-resource- Resource generation workflowfilament-forms- Form schema creationfilament-tables- Table configurationfilament-actions- Action generationfilament-widgets- Widget creationfilament-infolists- Infolist designfilament-testing- Test generation
Best Practices
- Documentation-First: Always consults official docs before generating code
- Artisan Integration: Uses
php artisan make:filament-*commands when available - Type Safety: All generated code uses strict types and proper type hints
- Testing: Generates comprehensive Pest tests alongside components
- Error Logging: Logs solved errors to
~/claude-docs/solved-errors.mdfor future reference
Requirements
- Laravel 10+
- FilamentPHP v4
- PHP
…(truncated)
Included Skills
This plugin includes 5 skill definitions:
filament-actions
Create FilamentPHP v4 actions with modals, confirmation, forms, and bulk operations
View skill definition
FilamentPHP Actions Generation Skill
Overview
This skill generates FilamentPHP v4 actions for resources, pages, and tables including modal actions, form actions, bulk operations, and custom workflows.
Documentation Reference
CRITICAL: Before generating actions, read:
/home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/filament-docs/references/actions/
Action Types
Standard CRUD Actions
use Filament\Actions;
// Create action
Actions\CreateAction::make()
->label('New Post')
->icon('heroicon-o-plus');
// Edit action
Actions\EditAction::make()
->label('Edit')
->icon('heroicon-o-pencil');
// View action
Actions\ViewAction::make()
->label('View Details')
->icon('heroicon-o-eye');
// Delete action
Actions\DeleteAction::make()
->requiresConfirmation()
->modalHeading('Delete post')
->modalDescription('Are you sure you want to delete this post? This action cannot be undone.')
->modalSubmitActionLabel('Yes, delete');
// Force delete (soft deletes)
Actions\ForceDeleteAction::make()
->requiresConfirmation();
// Restore (soft deletes)
Actions\RestoreAction::make();
Custom Actions with Modals
// Simple confirmation action
Actions\Action::make('publish')
->label('Publish')
->icon('heroicon-o-check-circle')
->color('success')
->requiresConfirmation()
->modalHeading('Publish Post')
->modalDescription('Are you sure you want to publish this p
...(truncated)
</details>
### filament-dashboard
> Create FilamentPHP v4 dashboard pages with single-tab or multi-tab layouts, message callouts, and widget integration
<details>
<summary>View skill definition</summary>
# FilamentPHP Dashboard Page Generation Skill
## Overview
This skill generates FilamentPHP v4 dashboard pages that follow a consistent pattern:
- Extends `Filament\Pages\Page`
- Supports single-tab (no tabs UI) or multi-tab layouts
- Includes optional color-coded message callouts
- Renders widgets using the standard Filament widgets component
- Uses Livewire reactive tabs with `$activeTab` state
## Documentation Reference
**CRITICAL:** Before generating dashboard pages, read:
- `/home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/filament-docs/references/general/06-navigation/`
- `/home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/filament-docs/references/widgets/`
## Pattern Architecture
A dashboard page in this style has 3 pieces:
1. **Filament Page class** (PHP)
- Extends `Filament\Pages\Page`
- Sets `$view`
- Declares navigation metadata (icon/label/group/sort)
- Stores Livewire public state: `$activeTab`
- Provides `getTabs(): array` and `getActiveTabData(): ?array`
2. **Blade view** (`resources/views/filament/{panel}/pages/{slug}.blade.php`)
- Renders tabs navigation (optional, for multi-tab)
- Renders optional message callout (color-coded)
- Renders widgets using: `<x-filament-widgets::widgets :widgets="$activeTabData['widgets']" />`
3. **Widgets** (Filament Widgets)
- Each tab is basically "a widget list"
- Widgets are referenced as `::class` strings
## Tab Schema Contract
...(truncated)
</details>
### filament-docs
> Reference FilamentPHP v4 documentation for patterns, methods, and implementation examples
<details>
<summary>View skill definition</summary>
# FilamentPHP Documentation Reference Skill
## Overview
This skill provides access to the complete FilamentPHP v4 official documentation. Use this skill to look up exact implementations, method signatures, and patterns before generating any Filament code.
## Documentation Location
All documentation is stored in:
`/home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/filament-docs/references/`
## Directory Structure
references/ ├── actions/ # Action buttons and modals │ └── *.md # Action types and configurations ├── forms/ # Form components │ └── *.md # All form field types ├── general/ │ ├── 01-introduction/ # Getting started, installation │ ├── 03-resources/ # CRUD resources │ ├── 06-navigation/ # Menu and navigation │ ├── 07-users/ # Auth and permissions │ ├── 08-styling/ # Themes and CSS │ ├── 09-advanced/ # Advanced patterns │ ├── 10-testing/ # Testing guide │ ├── 11-plugins/ # Plugin development │ └── 12-components/ # UI components ├── infolists/ # Infolist entries │ └── *.md # Display components ├── notifications/ # Notification system │ └── *.md # Toast and DB notifications ├── schemas/ # Schema validation │ └── *.md # Schema patte
…(truncated)
filament-forms
Create FilamentPHP v4 forms with fields, validation, sections, tabs, and relationships
View skill definition
FilamentPHP Forms Generation Skill
Overview
This skill generates FilamentPHP v4 form schemas with proper field configurations, validation rules, relationships, and layout components.
Documentation Reference
CRITICAL: Before generating forms, read:
/home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/filament-docs/references/forms//home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/filament-docs/references/schemas/
Workflow
Step 1: Analyze Requirements
Identify:
- Field types needed
- Validation rules
- Relationships (belongsTo, hasMany, etc.)
- Layout preferences (sections, tabs, columns)
- Conditional visibility
- Custom formatting
Step 2: Read Documentation
Navigate to forms documentation and extract:
- Exact field class names
- Available methods and options
- Validation integration patterns
- Relationship handling
Step 3: Generate Schema
Build the form schema with proper structure:
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Fieldset;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Select;
public static function form(Form $form): Form
{
return $form
->schema([
// Fields organized in sections/fieldsets
]);
}
Schema Organization Requirement
CRITICAL: All form schemas MUST be organized using layo
…(truncated)
filament-infolists
Create FilamentPHP v4 infolists with entries, sections, and layouts for view pages
View skill definition
FilamentPHP Infolists Generation Skill
Overview
This skill generates FilamentPHP v4 infolists for displaying read-only data in view pages and modals.
Documentation Reference
CRITICAL: Before generating infolists, read:
/home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/filament-docs/references/infolists/
Basic Infolist Structure
use Filament\Infolists;
use Filament\Infolists\Infolist;
public static function infolist(Infolist $infolist): Infolist
{
return $infolist
->schema([
// Entries here
]);
}
Entry Types
Text Entry
// Basic text
Infolists\Components\TextEntry::make('name')
->label('Name');
// With formatting
Infolists\Components\TextEntry::make('price')
->money('usd');
// Date formatting
Infolists\Components\TextEntry::make('created_at')
->dateTime('F j, Y H:i');
// Relative date
Infolists\Components\TextEntry::make('updated_at')
->since();
// With limit
Infolists\Components\TextEntry::make('description')
->limit(100)
->tooltip(fn ($record) => $record->description);
// HTML content
Infolists\Components\TextEntry::make('content')
->html()
->prose();
// Markdown content
Infolists\Components\TextEntry::make('readme')
->markdown();
// Copyable
Infolists\Components\TextEntry::make('uuid')
->copyable()
->copyMessage('Copied!')
->copyMessageDuration(1500);
// With color
Infolists\Components\TextEntry::make('sta
...(truncated)
</details>
## Source
[View on GitHub](https://github.com/mwguerra/claude-code-plugins)