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 GitHub
Author Marcelo Guerra
Namespace @mwguerra/mwguerra-marketplace
Category laravel
Version 1.0.0
Stars 13
Downloads 7
self.md verified
Table 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

Commands

CommandDescription
/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:

Create a Form

/filament:form "product with name, price, description, category, and images"

Generates a complete form schema with:

Build a Table

/filament:table "orders with customer, items count, total, status badge"

Creates table configuration with:

Generate Actions

/filament:action "send email with subject and body" --modal

Creates an action with:

Create Widgets

/filament:widget "monthly revenue chart" --type chart

Generates:

Diagnose Issues

/filament:diagnose "form fields not saving to database"

Agent

The plugin includes a specialized agent (filament-specialist-agent) that can be used for complex FilamentPHP tasks:

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:

Best Practices

  1. Documentation-First: Always consults official docs before generating code
  2. Artisan Integration: Uses php artisan make:filament-* commands when available
  3. Type Safety: All generated code uses strict types and proper type hints
  4. Testing: Generates comprehensive Pest tests alongside components
  5. Error Logging: Logs solved errors to ~/claude-docs/solved-errors.md for future reference

Requirements

…(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:

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:

Workflow

Step 1: Analyze Requirements

Identify:

Step 2: Read Documentation

Navigate to forms documentation and extract:

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:

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)