MCPInstall

resource

Generate FilamentPHP v4 resources with form, table, relation managers, and actions

Installs
214
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/mwguerra/claude-code-plugins --skill resource
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads resource automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

FilamentPHP Resource Generation Skill

Overview

This skill generates complete FilamentPHP v4 resources including form schemas, table configurations, relation managers, and custom pages. All generated code follows official documentation patterns.

Documentation Reference

CRITICAL: Before generating any resource, read:

  • /home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/docs/references/general/03-resources/
  • /home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/docs/references/forms/
  • /home/mwguerra/projects/mwguerra/claude-code-plugins/filament-specialist/skills/docs/references/tables/

Workflow

Step 1: Gather Requirements

Identify:

  • Model name and namespace
  • Fields to include in form
  • Columns to display in table
  • Relationships to manage
  • Custom actions needed
  • Authorization requirements

Step 2: Generate Base Resource

Use Laravel artisan to create the resource:

# Basic resource
php artisan make:filament-resource ModelName

# With generate flag (creates form/table from model)
php artisan make:filament-resource ModelName --generate

# Soft deletes support
php artisan make:filament-resource ModelName --soft-deletes

# View page only
php artisan make:filament-resource ModelName --view

# Simple resource (modal forms instead of pages)
php artisan make:filament-resource ModelName --simple

Step 3: Customize Form Schema

Read form field documentation and implement:

use Filament\Forms;
use Filament\Forms\Form;

public static function form(Form $form): Form
{
    return $form
        ->schema([
            Forms\Components\Section::make('Basic Information')
                ->schema([
                    Forms\Components\TextInput::make('name')
                        ->required()
                        ->maxLength(255),
                    Forms\Components\Textarea::make('description')
                        ->rows(3)
                        ->columnSpanFull(),
                ]),
            Forms\Components\Section::make('Settings')
                ->schema([
                    Forms\Components\Toggle::make('is_active')
                        ->default(true),
                    Forms\Components\Select::make('status')
                        ->options([
                            'draft' => 'Draft',
                            'published' => 'Published',
                        ]),
                ]),
        ]);
}

Step 4: Customize Table

Read table documentation and implement:

use Filament\Tables;
use Filament\Tables\Table;

public static function table(Table $table): Table
{
    return $table
        ->columns([
            Tables\Columns\TextColumn::make('name')
                ->searchable()
                ->sortable(),
            Tables\Columns\IconColumn::make('is_active')
                ->boolean(),
            Tables\Columns\BadgeColumn::make('status')
                ->colors([
                    'warning' => 'draft',
                    'success' => 'published',
                ]),
            Tables\Columns\TextColumn::make('created_at')
                ->dateTime()
                ->sortable()
                ->toggleable(isToggledHiddenByDefault: true),
        ])
        ->filters([
            Tables\Filters\SelectFilter::make('status')
                ->options([
                    'draft' => 'Draft',
                    'published' => 'Published',
                ]),
            Tables\Filters\TernaryFilter::make('is_active'),
        ])
        ->actions([
            Tables\Actions\ViewAction::make(),
            Tables\Actions\EditAction::make(),
            Tables\Actions\DeleteAction::make(),
        ])
        ->bulkActions([
            Tables\Actions\BulkActionGroup::make([
                Tables\Actions\DeleteBulkAction::make(),
            ]),
        ]);
}

Step 5: Add Relation Managers

For relationships, create relation managers:

php artisan make:filament-relation-manager ResourceName RelationName column_name

Register in resource:

public static function getRelations(): array
{
    return [
        RelationManagers\CommentsRelationManager::class,
        RelationManagers\TagsRelationManager::class,
    ];
}

Step 6: Configure Pages

Define resource pages:

public static function getPages(): array
{
    return [
        'index' => Pages\ListModels::route('/'),
        'create' => Pages\CreateModel::route('/create'),
        'view' => Pages\ViewModel::route('/{record}'),
        'edit' => Pages\EditModel::route('/{record}/edit'),
    ];
}

Step 7: Add Authorization

Implement policy methods:

public static function canViewAny(): bool
{
    return auth()->user()->can('view_any_model');
}

public static function canCreate(): bool
{
    return auth()->user()->can('create_model');
}

Form Field Reference

Text Fields

  • TextInput::make() - Single line text
  • Textarea::make() - Multi-line text
  • RichEditor::make() - WYSIWYG editor
  • MarkdownEditor::make() - Markdown editor

Selection Fields

  • Select::make() - Dropdown select
  • Radio::make() - Radio buttons
  • Checkbox::make() - Single checkbox
  • CheckboxList::make() - Multiple checkboxes
  • Toggle::make() - Toggle switch

Date/Time Fields

  • DatePicker::make() - Date only
  • DateTimePicker::make() - Date and time
  • TimePicker::make() - Time only

File Fields

  • FileUpload::make() - File upload
  • SpatieMediaLibraryFileUpload::make() - Media library

Relationship Fields

  • Select::make()->relationship() - BelongsTo select
  • CheckboxList::make()->relationship() - BelongsToMany
  • Repeater::make()->relationship() - HasMany inline

Layout Components

  • Section::make() - Card section
  • Fieldset::make() - Fieldset grouping
  • Tabs::make() - Tabbed sections
  • Grid::make() - Grid layout
  • Split::make() - Split layout

Table Column Reference

Text Columns

  • TextColumn::make() - Basic text
  • IconColumn::make() - Boolean icon
  • ImageColumn::make() - Image thumbnail
  • BadgeColumn::make() - Badge styling
  • ColorColumn::make() - Color swatch

Column Modifiers

  • ->searchable() - Enable search
  • ->sortable() - Enable sort
  • ->toggleable() - Can hide/show
  • ->wrap() - Wrap text
  • ->limit() - Truncate text

Output

For each resource, generate:

  1. Resource class - app/Filament/Resources/ModelResource.php
  2. Pages - app/Filament/Resources/ModelResource/Pages/
  3. Relation Managers - app/Filament/Resources/ModelResource/RelationManagers/
  4. Test file - tests/Feature/Filament/ModelResourceTest.php

FAQ

What does the resource skill do?

Generate FilamentPHP v4 resources with form, table, relation managers, and actions

How do I install resource?

Run npx skills add https://github.com/mwguerra/claude-code-plugins --skill resource in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/resource/ (personal) or .claude/skills/resource/ (project).

Which AI agents can use resource?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is resource safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains resource?

It is published by mwguerra in mwguerra/claude-code-plugins. It has 214 recorded installs.

More from mwguerra/claude-code-plugins

View all →

filament-resource

mwguerra/claude-code-plugins

Generate FilamentPHP v4 resources with form, table, relation managers, and actions

1.2K installs

forms

mwguerra/claude-code-plugins

Create FilamentPHP v4 forms with fields, validation, sections, tabs, and relationships

95 installs

tables

mwguerra/claude-code-plugins

Open the skill to read its SKILL.md instructions.

88 installs

actions

mwguerra/claude-code-plugins

Open the skill to read its SKILL.md instructions.

76 installs

widgets

mwguerra/claude-code-plugins

Create FilamentPHP v4 dashboard widgets - stats overviews, charts, and custom components

Data & Databases75 installs

dashboard

mwguerra/claude-code-plugins

Open the skill to read its SKILL.md instructions.

Data & Databases71 installs

Popular other skills

View category →

hyperframes-cli

heygen-com/hyperframes

The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.

1.3M installs

triage

mattpocock/skills

Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.

1M installs

ask-matt

mattpocock/skills

Ask which skill or flow fits your situation. A router over the skills in this repo.

778.4K installs

to-questionnaire

mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

508.9K installs

wait-what

mattpocock/skills

Stop. That last message did not land: re-pitch it.

459.7K installs

loop-me

mattpocock/skills

Grill me about specs for the workflows I want to build, within this workspace.

447.9K installs