filament-plugin-scaffold

Filament Plugin Scaffold Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "filament-plugin-scaffold" with this command: npx skills add mwguerra/claude-code-plugins/mwguerra-claude-code-plugins-filament-plugin-scaffold

Filament Plugin Scaffold Skill

Creates a complete Filament plugin skeleton (panel or standalone) following Filament's official plugin development guidelines.

Usage

When the user wants to create a Filament plugin, use the scaffold script:

python3 ${SKILL_DIR}/scripts/scaffold_filament_plugin.py <vendor/plugin-name> [options]

Options

  • --with-resource <name>

  • Include a sample Resource

  • --with-page

  • Include a sample custom Page

  • --with-widget

  • Include a sample Widget

  • --with-livewire

  • Include Livewire component structure

  • --with-pest

  • Include PestPHP testing (default: yes)

  • --no-pest

  • Exclude PestPHP testing

Examples

Basic Filament plugin

python3 ${SKILL_DIR}/scripts/scaffold_filament_plugin.py mwguerra/filament-blog

Plugin with Resource

python3 ${SKILL_DIR}/scripts/scaffold_filament_plugin.py mwguerra/filament-blog --with-resource Post

Full-featured plugin

python3 ${SKILL_DIR}/scripts/scaffold_filament_plugin.py mwguerra/filament-blog --with-resource Post --with-page --with-widget

What Gets Created

Directory Structure

packages/ └── vendor/ └── filament-plugin-name/ ├── composer.json ├── README.md ├── LICENSE ├── .gitignore ├── phpunit.xml ├── config/ │ └── filament-plugin-name.php ├── database/ │ └── migrations/ │ └── .gitkeep ├── resources/ │ ├── lang/ │ │ └── en/ │ │ └── messages.php │ └── views/ │ └── .gitkeep ├── src/ │ ├── PluginNamePlugin.php │ ├── PluginNameServiceProvider.php │ ├── Facades/ │ │ └── PluginName.php │ ├── Resources/ │ │ └── .gitkeep (or generated Resource) │ ├── Pages/ │ │ └── .gitkeep (or generated Page) │ ├── Widgets/ │ │ └── .gitkeep (or generated Widget) │ ├── Livewire/ │ │ └── .gitkeep │ └── Commands/ │ └── .gitkeep └── tests/ ├── Pest.php ├── TestCase.php ├── Unit/ │ └── ExampleTest.php └── Feature/ └── .gitkeep

Generated Files

composer.json

  • Filament ^3.3 (latest)

  • Livewire ^3.6 (latest)

  • Laravel ^11.0|^12.0 support

  • Orchestra Testbench ^10.0 (latest)

  • PestPHP ^3.8 (latest)

  • PSR-4 autoloading

  • Laravel auto-discovery

Plugin Class (PluginNamePlugin.php )

  • Implements Filament\Contracts\Plugin

  • Resource, Page, Widget registration

  • Panel configuration hooks

ServiceProvider

  • View namespace registration

  • Translation loading

  • Migration publishing

  • Config merging

Resource (if --with-resource )

  • Form schema

  • Table configuration

  • Resource pages (List, Create, Edit)

Page (if --with-page )

  • Custom Filament page

  • View and logic

Widget (if --with-widget )

  • Dashboard widget

  • Stats or chart example

Testing Setup

  • PestPHP configuration

  • Orchestra Testbench

  • Livewire testing utilities

After Running

Install dependencies:

composer update

Register plugin in Panel Provider:

use Vendor\PluginName\PluginNamePlugin;

public function panel(Panel $panel): Panel { return $panel ->plugins([ PluginNamePlugin::make(), ]); }

Publish assets (if needed):

php artisan vendor:publish --tag=filament-plugin-name-config php artisan vendor:publish --tag=filament-plugin-name-migrations

Run tests:

cd packages/vendor/filament-plugin-name composer install ./vendor/bin/pest

Filament Plugin Best Practices

  • Use the Plugin Contract: Always implement Filament\Contracts\Plugin

  • Register in boot(): Register resources/pages/widgets in boot() method

  • Support Panel Configuration: Allow users to customize via ->plugin()

  • Translations: Use translation keys for all user-facing strings

  • Views: Use namespaced views (filament-plugin-name::view-name )

  • Testing: Test Livewire components with Livewire::test()

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

filament-resource

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

resource

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

forms

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

widgets

No summary provided by upstream source.

Repository SourceNeeds Review