Setup rfl laravel skills
Skill rfl-designer/rfl-laravel-skills/skills/setup/setup-rfl-laravel-skills
Claude Code plugin orchestrating the Laravel 12 + Livewire 4 + Tailwind + Alpine + Flux UI development cycle: grill-with-docs, to-prd, to-issues, tdd (Pest), open-pr, simplify, review-branch, organize-docs, update-roadmap.
npx -y skills add rfl-designer/rfl-laravel-skills --skill setup-rfl-laravel-skillsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Bootstrap a Laravel project to use the rfl-laravel-skills plugin — verify prerequisites (gh CLI, Pest, Pint, laravel/boost), create docs/ tree (adr, prd, roadmap, runbooks), seed .claude/<config>.json files for each skill, and add an "Agent skills" block to CLAUDE.md/AGENTS.md. Run ONCE per repo before first use of /grill-with-docs, /to-prd, /to-issues, /open-pr, /organize-docs, or /update-roadmap.
SKILL.md
11.6 KB, as published. Nobody here has run it
Setup rfl-laravel-skills
Configura um projeto Laravel para usar o plugin. Valida pré-requisitos, cria estrutura de docs/, semeia arquivos de configuração que cada skill espera, e adiciona um bloco ## Agent skills em CLAUDE.md ou AGENTS.md.
Roda uma vez por repo. Re-rodar é seguro — vai detectar o que já existe e perguntar antes de sobrescrever.
Esta skill é prompt-driven, não script. Explore, apresente, confirme com o usuário, escreva.
Processo
1. Detectar estado atual
Em paralelo, verificar:
| Item | Como detectar |
|---|---|
| Repo é Laravel? | composer.json tem "laravel/framework"? |
| Versão do Laravel | composer show laravel/framework |
| Boost instalado? | composer show laravel/boost (sem erro) |
| Pest instalado? | vendor/bin/pest --version ou composer show pestphp/pest |
| Pint instalado? | vendor/bin/pint --version ou composer show laravel/pint |
| Livewire versão | composer show livewire/livewire |
| Flux versão | composer show livewire/flux (Free) ou livewire/flux-pro |
gh autenticado? | gh auth status |
| Remote GitHub? | git remote -v |
AGENTS.md ou CLAUDE.md? | ls AGENTS.md CLAUDE.md |
CONTEXT.md? | ls CONTEXT.md |
docs/ tree? | ls docs/ |
.claude/ configs? | ls .claude/*.json |
Plugin instalado via /plugin install? | ls ~/.claude/plugins/ ou config do Claude Code |
Skills em .claude/skills/? | ls .claude/skills/ ~/.claude/skills/ |
Agents em .claude/agents/? | ls .claude/agents/ ~/.claude/agents/ |
Apresentar resumo no formato:
✅ Laravel 12.x detectado
✅ Boost 1.x instalado
✅ Pest 4.x instalado
✅ Pint 1.x instalado
⚠️ Livewire 3.x detectado — plugin assume Livewire 4. Confirmar?
✅ Flux Free 2.x instalado
✅ gh autenticado como rfl-designer
✅ Remote: github.com:rfl-designer/foo.git
❌ AGENTS.md ausente — boost não foi instalado completamente?
❌ CONTEXT.md ausente — vou propor criar
❌ docs/ ausente — vou propor criar tree completa
❌ .claude/ ausente — vou propor criar configs
2. Resolver pré-requisitos faltantes
Para cada ❌ ou ⚠️, perguntar ao usuário antes de continuar:
Pré-requisitos críticos (parar se ausentes):
ghnão autenticado → instruirgh auth logine parar- Não é repo Laravel → parar com mensagem
- Sem remote GitHub → instruir criar remote ou pular skills que dependem (
/open-pr,/to-issues,/to-prd,/update-roadmap,/organize-docs)
Pré-requisitos sugeridos (oferecer ação):
- Boost ausente → propor
composer require laravel/boost --dev && php artisan boost:install - Pest ausente → propor
composer require pestphp/pest --dev --with-all-dependencies - Pint ausente → propor
composer require laravel/pint --dev - AGENTS.md ausente mas boost instalado → propor rodar
php artisan boost:install
NÃO rodar nenhum comando composer/artisan automaticamente — só sugerir e aguardar o usuário rodar.
3. Confirmar configuração — uma seção de cada vez
Apresente cada bloco abaixo separadamente, espere resposta, então passe ao próximo. Não despeje tudo de uma vez.
Seção A — Domain (CONTEXT.md)
O
CONTEXT.mdé um glossário do domínio do seu projeto (não do framework). As skills/grill-with-docs,/tdd,/to-prd,/to-issuesleem ele para usar a terminologia do projeto em vez de nomes genéricos.
Se CONTEXT.md não existe, perguntar:
- Quer criar um esqueleto agora?
- Se sim, perguntar o nome do contexto (geralmente nome do produto/empresa) e 1 frase descrevendo o produto.
- Gerar esqueleto com seções
## Language,## Relationships,## Flagged ambiguitiesvazias para o usuário preencher conforme/grill-with-docsfor rodando.
Se já existe → marcar OK.
Seção B — Conventional Commits
A skill
/open-prderiva o título do PR a partir de Conventional Commits (feat:,fix:,refactor:, etc.). Se seu repo não segue esse padrão, ela vai abortar quando você tentar abrir um PR.
Verificar últimos 10 commits (git log -10 --pretty=%s). Quantos seguem padrão <type>(<scope>): <desc>?
- 100% → "Repo já usa Conventional Commits ✅"
- ≥50% → "Repo parcialmente usa.
/open-prvai assumir que daqui pra frente todos seguem." - <50% → "Repo não usa Conventional Commits. Quer adotar agora? Posso adicionar uma seção a
CLAUDE.mddocumentando o padrão."
Se aceitar adoção, escrever em CLAUDE.md:
## Convenções de commit
Este repo usa Conventional Commits (EN). Tipos válidos:
`feat`, `fix`, `refactor`, `docs`, `test`, `chore`, `style`, `perf`, `build`, `ci`.
Scope opcional, entre parênteses. Exemplo:
`feat(comments): add thread replies`
Seção C — docs/ tree
As skills
/to-prd,/organize-docs,/update-roadmapesperam uma árvoredocs/específica.
Mostrar o que existe vs o que falta. Layout esperado:
docs/
├── adr/ # decisões arquiteturais (criada por /grill-with-docs)
├── prd/
│ ├── active/ # PRDs em andamento
│ └── done/ # PRDs entregues, arquivados por ano
├── roadmap/ # gerado por /update-roadmap
└── runbooks/ # operacional (deploy, restore, oncall)
Perguntar: criar tree completa? Criar só algumas? Pular?
Criar diretórios escolhidos com .gitkeep em cada (para versionar pasta vazia).
Seção D — Configs .claude/<skill>.json
Cada skill aceita configuração opcional em
.claude/<skill>-config.json. Vou semear com defaults sensatos; você pode editar depois.
Apresentar os 3 configs lado a lado (ver templates em configs/):
.claude/open-pr-config.json— base_branch, draft_on_todos, auto_run_pint_fix.claude/organize-docs-config.json— window_days, paths, auto_archive_prds.claude/roadmap-config.json— title (perguntar), subtitle (perguntar), label, theme, wave_names
Para roadmap-config.json, perguntar título e subtítulo — o resto pode ficar default.
Seção E — Instalar o agent em .claude/agents/
O agent
laravel-simplifierprecisa estar em.claude/agents/(project) ou~/.claude/agents/(global) para o Claude Code reconhecer. A CLInpx skills addnão copia agents — esta seção resolve isso automaticamente.
Esta seção EXECUTA a instalação. Não só sugere comandos.
Passo 1 — Verificar se já está instalado
ls .claude/agents/laravel-simplifier.md ~/.claude/agents/laravel-simplifier.md 2>/dev/null
Se o agent já existe em qualquer um dos dois paths:
✅ Agent já está instalado em <path>. Pulando.
e ir para a Seção F.
Passo 2 — Localizar (ou criar) o clone do plugin
Procurar rfl-laravel-skills em locais conhecidos, em ordem:
.claude/plugin-source(se setup foi rodado antes — arquivo registra path)~/.local/share/rfl-laravel-skills~/plugins/rfl-laravel-skills~/Code/rfl-laravel-skillse variantesnpx skillscache (verificar~/.cache/skills/ou similar — não confiável)
Se não encontrar, clonar diretamente num path estável:
mkdir -p ~/.local/share
git clone --depth 1 https://github.com/rfl-designer/rfl-laravel-skills.git ~/.local/share/rfl-laravel-skills
Confirmar com o usuário antes de clonar:
Não encontrei o clone local do plugin. Posso clonar para
~/.local/share/rfl-laravel-skills agora? [s/n/path-customizado]
Passo 3 — Perguntar escopo
Uma única pergunta:
Onde instalar o agent?
[g] Global (~/.claude/agents/) — disponível em todos os projetos. Recomendado.
[p] Project (.claude/agents/) — só este projeto. Versionar no repo se equipe.
Passo 4 — Aplicar
Sem perguntar mais nada — usar symlink (atualizações via git pull no clone refletem automaticamente):
TARGET="${SCOPE_PATH}" # ~/.claude/agents ou .claude/agents
mkdir -p "$TARGET"
ln -sf "${PLUGIN_PATH}/agents/laravel-simplifier.md" "${TARGET}/laravel-simplifier.md"
Se o filesystem não suporta symlinks (raro em macOS/Linux, comum em alguns mounts), cair para cp automaticamente:
cp "${PLUGIN_PATH}/agents/laravel-simplifier.md" "${TARGET}/"
Passo 5 — Confirmar e persistir
test -f "$TARGET/laravel-simplifier.md"
Se o arquivo existe:
✅ Agent instalado em ~/.claude/agents/ (symlinkado de ~/.local/share/rfl-laravel-skills/agents/)
Para atualizar no futuro: cd ~/.local/share/rfl-laravel-skills && git pull
Salvar o path do plugin em .claude/plugin-source para a próxima execução do setup pular o passo 2:
mkdir -p .claude
echo "$PLUGIN_PATH" > .claude/plugin-source
Se o arquivo não foi criado, abortar com erro claro indicando o motivo.
Seção F — .gitignore
Verificar se .gitignore ignora .claude/ (configs locais) ou se a intenção é versionar (compartilhar com time). Perguntar:
- Ignorar
.claude/— cada dev configura o próprio. Default se você trabalha solo. - Versionar
.claude/— time inteiro usa os mesmos configs e agents. Default se equipe >1.
Se versionar, recomendar versionar .claude/agents/ e .claude/skills/ (se project-scope) mas ignorar caches/state como .claude/last-organize-docs, .claude/inferred-deps.json. Sugerir .gitignore:
# Versionar
!.claude/
!.claude/agents/
!.claude/skills/
!.claude/*-config.json
# Mas ignorar state local
.claude/last-organize-docs
.claude/inferred-deps.json
4. Atualizar AGENTS.md ou CLAUDE.md com bloco Agent skills
Arquivo a editar:
- Se
CLAUDE.mdexiste → editar ele. - Senão se
AGENTS.mdexiste → editar ele. - Se nenhum existe → perguntar qual criar (não escolher por conta própria).
Nunca criar AGENTS.md se CLAUDE.md existe (e vice-versa) — boost gerencia AGENTS.md; usuário gerencia CLAUDE.md. Se ambos existem, editar CLAUDE.md — boost regenera AGENTS.md e perderia edits.
Adicionar (ou atualizar in-place se já existir) um bloco ## Agent skills (rfl-laravel-skills). Template em agents-block.md.
5. Mostrar diff e gravar
Para cada arquivo a criar/editar, mostrar diff e pedir confirmação. Após aprovação:
- Criar diretórios
docs/*com.gitkeep - Escrever
.claude/*.json - Escrever
CONTEXT.mdesqueleto se aplicável - Atualizar
CLAUDE.mdouAGENTS.md - Atualizar
.gitignoreconforme escolha da Seção E
6. Mensagem final
✅ Setup completo!
Próximos passos:
1. Edite CONTEXT.md preenchendo os termos do seu domínio
(ou rode /grill-with-docs e deixe ele guiar)
2. Para sua primeira feature: /grill-with-docs → /to-prd → /to-issues
3. Para implementar: /tdd → /simplify → /open-pr → /review-pr
4. Periodicamente: /organize-docs e /update-roadmap
Configs criados em .claude/ — edite à vontade.
Re-rodar /setup-rfl-laravel-skills é seguro: detecta o que já existe.
Notas
- Não força nada. Cada decisão é confirmada. Skill termina sem mudanças se o usuário pular tudo.
- Idempotente. Re-rodar não duplica blocos nem sobrescreve configs sem perguntar.
- Não roda comandos com side effect (
composer require,php artisan boost:install,git commit) — só sugere. Usuário decide quando rodar.