ワンクリックで
filament-expert
Motor de regras arquiteturais para projetos Filament PHP v3+ — anti-patterns e mandatos técnicos derivados de bugs reais
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Motor de regras arquiteturais para projetos Filament PHP v3+ — anti-patterns e mandatos técnicos derivados de bugs reais
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Explorar ideias antes de criar plano formal
Revisão de código antes de merge
Documentar aprendizados para evitar recorrência
Validação de schema/enums/tipos antes de implementar código de domínio
Checklist obrigatório antes de qualquer commit
Validar estrutura de banco antes de operações de dados
| name | filament-expert |
| description | Motor de regras arquiteturais para projetos Filament PHP v3+ — anti-patterns e mandatos técnicos derivados de bugs reais |
| triggers | ["filament","filament-expert","admin panel","filament resource"] |
| globs | ["**/*.php"] |
Esta skill complementa o agente
filament/. O agente define o modo de operação. Esta skill define o que é proibido e o que é obrigatório.
OBRIGATÓRIO para qualquer projeto Filament v3+ quando:
Proibido:
window.confirm() em código Filament/Livewireonclick JS direto em elementos de açãoObrigatório:
HasActions + trait InteractsWithActions em Pages customizadasgetActions() ou traitMotivo: Estado do modal gerenciado pelo servidor (Livewire) permite validações complexas impossíveis com JS puro. O window.confirm é anti-padrão em aplicações Livewire modernas.
Referência: Filament Docs > Actions > Custom Pages
Proibido:
$this->getPreviousUrl() em botões de retorno customizadosObrigatório:
url()->previous() (helper Laravel nativo)Motivo: getPreviousUrl() falha em deep links e navegações diretas. Gera BadMethodCallException e navegação para null em contextos específicos.
Referência: Laravel Docs > URL Generation > previous()
Proibido:
Split e Stack na raiz de tabelas horizontais (layout desktop)Obrigatório:
Split/Stack apenas dentro de transformações Mobile-First (->visibleFrom('md') ou similar)table-layout: auto para visualização desktopMotivo: Componentes de Layout na raiz de tabelas corrompe table-layout: auto e quebra visualização desktop legível.
Referência: Filament Docs > Tables > Layout
| Pattern | Problema | Solução |
|---|---|---|
window.confirm('Tem certeza?') | Bloqueio JS síncrono, não valida no servidor | Usar Action com modal de confirmação Filament |
$this->getPreviousUrl() | Falha em deep links | url()->previous() |
Split na raiz de table | Quebra layout desktop | Usar só em visibleFrom('md') |
Stack como column | Componente de layout usado como dado | Remover da definição de columns |
Preferido: Tradução via Enums com HasLabel interface
enum Status: string
{
use HasLabel;
case ACTIVE = 'active';
case INACTIVE = 'inactive';
public function getLabel(): string
{
return match($this) {
self::ACTIVE => 'Ativo',
self::INACTIVE => 'Inativo',
};
}
}
Evitar: Arrays de tradução dispersos em múltiplos arquivos JSON para enums.
Antes de任何 código Filament ser commitado, verificar:
window.confirm() encontrado em arquivos Filament$this->getPreviousUrl() encontradoSplit/Stack só aparecem com visibleFrom() ou similarHasActions ou InteractsWithActionsurl()->previous() para botões de voltar customizados