O que boost-skills faz?
Catálogo pessoal de Sander Muller, distribuído via Composer, de habilidades para agentes de IA para projetos PHP e pacotes Composer. Adote-o se suas preferências estiverem alinhadas com as de Sander, ou use-o como modelo para o seu próprio catálogo.
sandermuller/boost-skills é um exemplo de catálogo de habilidades de IA distribuído via Composer. Ele fornece uma mistura curada de habilidades genéricas de fluxo de trabalho (revisão de código, correção de bugs, implementação orientada por especificações, checklists de release, workflows Jira, deploy e mais), extras específicas de frameworks controladas por tags e diretrizes sempre ativas — veja os inventários completos de Habilidades e Diretrizes abaixo.
O pacote não contém código em tempo de execução; é puramente Markdown. Um mecanismo de sincronização (sandermuller/boost-core ou laravel/boost) lê essas habilidades e as escreve em cada diretório de agente de IA que você configurou (Claude Code, Cursor, Copilot, Codex, Gemini e outros).
De onde vêm as habilidades?
De onde você quiser. As fontes de habilidades são empilháveis — misture e combine livremente:
- Sua própria pasta
.ai/skills/, escrita manualmente junto com o resto do projeto. Segue a mesma convenção quelaravel/boosteboost-corereconhecem automaticamente. - Um catálogo instalado via Composer. Qualquer pacote que forneça
resources/boost/skills/funciona. Sander publica seu catálogo pessoal emsandermuller/boost-skills(este repositório) — adote-o se suas preferências estiverem alinhadas com as de Sander, ou use-o como modelo para seu próprio catálogo privado/público. - Fontes externas, não-Composer através de
withRemoteSkills()doboost-core. Baixe pacotes.skillpublicados no GitHub ou repositórios de habilidade única diretamente de uma URL. - Habilidades Laravel incluídas no
laravel/boost— habilidades específicas do Laravel fornecidas pelo Laravel vialaravel/boost(apenas para aplicações Laravel).
withAllowedVendors() controla apenas os fornecedores escaneados via Composer (fonte 2). withTags() filtra as fontes 2, 3 e 4 (fornecedores Composer, habilidades remotas, pacote laravel/boost). A pasta .ai/skills/ (fonte 1) ignora ambos os controles — seu projeto criou essas habilidades, então o mecanismo as trata como canônicas e não aplica nenhum filtro.
A família boost
Se você adotar o sandermuller/boost-skills (ou qualquer catálogo distribuído via Composer), emparelhe-o com o mecanismo de sincronização que corresponde ao seu papel:
sandermuller/package-boost-phpse você escreve pacotes Composer independentes de frameworksandermuller/package-boost-laravelse você escreve pacotes Laravelsandermuller/project-boost-phpse você constrói uma aplicação PHPsandermuller/project-boost-laravelse você constrói uma aplicação Laravel (coexiste comlaravel/boost— adiciona distribuição para nove agentes, filtro de tags, lista de permissão de fornecedores, habilidades remotas)
Os quatro pacotes sandermuller/* incluem o mecanismo de sincronização sandermuller/boost-core, então você raramente precisará instalar o boost-core diretamente. laravel/boost (próprio mecanismo do Laravel, servidor MCP e API de documentação) coexiste com project-boost-laravel em aplicações Laravel — o pacote da família adiciona a distribuição para nove agentes e filtros em cima. Se você preferir pular os controles da família e usar o laravel/boost sozinho, ele lê qualquer catálogo distribuído via Composer (incluindo este) da mesma forma; siga a configuração dele para isso. Os slots de convenção de projeto que o boost-core inline ainda são lidos corretamente pelo laravel/boost — as habilidades carregam valores padrão visíveis (veja esquema de Convenções de Projeto), então você obtém uma redação padrão sensata mesmo que o laravel/boost não resolva os slots. Se nenhum desses se encaixar (por exemplo, um pacote não-PHP), instale o boost-core diretamente.
Instalação
Se você adotar o sandermuller/boost-skills como seu catálogo, instale-o junto com o pacote da família para o seu papel de mecanismo. Para um autor de pacote independente de framework, esse é o package-boost-php:
composer require --dev sandermuller/boost-skills sandermuller/package-boost-php
Substitua package-boost-php por package-boost-laravel ou project-boost para corresponder ao seu papel. Os passos abaixo usam os comandos do mecanismo boost-core; no laravel/boost, siga a própria configuração dele e certifique-se de que sandermuller/boost-skills está entre os pacotes que ele sincroniza.
O boost-core, trazido pelo pacote da família, fornece um comando de configuração interativo:
vendor/bin/boost install
boost install gera um boost.php na raiz do seu projeto e permite que você escolha os agentes de destino e os fornecedores permitidos. As habilidades são sincronizadas apenas de fornecedores permitidos, portanto, certifique-se de que sandermuller/boost-skills esteja selecionado. O resultado se parece com:
return BoostConfig::configure()
->withAgents([
Agent::CLAUDE_CODE,
Agent::COPILOT,
Agent::CODEX,
])
->withAllowedVendors([
'sandermuller/boost-skills',
'sandermuller/package-boost-php',
])
->withTags(['php', 'github']);
Declare as capacidades do seu projeto em ->withTags(...) — habilidades e diretrizes marcadas são sincronizadas apenas para projetos que optam por elas. Começos comuns são 'php' e 'github'; veja o registro de Tags para o vocabulário completo. Após uma sincronização, vendor/bin/boost tags mostra qual conteúdo marcado está atualmente filtrado vs. sincronizado — útil para identificar capacidades que você pode querer declarar.
Em seguida, distribua as habilidades:
vendor/bin/boost sync
Re-sincronize após edições executando vendor/bin/boost sync, ou conecte o callback BoostAutoSync ao post-install-cmd / post-update-cmd do seu composer.json para re-sincronizar automaticamente a cada composer install / composer update. Os diretórios de agente gerados (.claude/skills/, .github/skills/ e outros) ficam fora do controle de versão; o boost-core gerencia esse bloco .gitignore.
Habilidades
| Habilidade (Skill) | O que faz | Tags |
|---|---|---|
ai-guidelines | Criar e manter arquivos de habilidades e diretrizes de IA (.ai/, CLAUDE.md, AGENTS.md). | — |
autoresearch | Loop de desempenho autônomo: comparar, alterar código e, em seguida, manter ou reverter com base no resultado medido. | php |
backend-quality | Portão de qualidade PHP em duas camadas: Pint + testes relacionados a cada alteração, PHPStan + suíte completa na conclusão. | php |
bug-fixing | Fluxo de trabalho de bugs orientado a testes: reproduzir com um teste com falha e, em seguida, corrigir. | — |
code-review | Revisar alterações recentes em funcionalidade, qualidade de código, segurança e testes. | — |
codex-review | Solicitar uma revisão independente do OpenAI Codex CLI, aplicar as correções necessárias, re-revisar até ficar limpo. | — |
deploying-laravel-cloud | Implantar e gerenciar aplicações Laravel no Laravel Cloud através da CLI cloud — ambientes, bancos de dados, domínios, faturamento. | laravel-cloud hosting |
eloquent-models | Criar e manter modelos Eloquent com constantes de coluna/relacionamento, docblocks abrangentes e constantes de chave estrangeira. | laravel |
evaluate | Auto-revisar uma implementação completa e corrigir os problemas que surgirem. | — |
final-verification-review | Veredito final: executar o loop de avaliação completo, simular a verificação pré-lançamento (fluxo de PR ou commit/release sem PR), relatar PRONTO / NÃO PRONTO. | github |
frontend-quality | Portão de qualidade frontend: verificação de tipos, linting e a suíte de testes JS; verificação visual opcional para alterações de UI. | frontend |
github-issue-updates | Anexar uma descrição voltada ao usuário e testáveis de QA a uma issue do GitHub depois que uma funcionalidade for lançada. | github-issues |
humanizer | Remover sinais de escrita gerada por IA para que o texto pareça natural e humano. | — |
implement-spec | Implementar um arquivo de especificação fase por fase com acompanhamento de progresso. | — |
interview | Extrair de forma adversarial os requisitos de uma funcionalidade complexa — código em primeiro lugar, auditoria de suposições — antes de escrever sua especificação. | — |
jira-create | Criar uma issue no Jira com uma descrição bem formada e voltada ao usuário. | jira |
jira-rework | Pesquisar uma issue do Jira enviada para retrabalho e, em seguida, propor opções de correção. | jira github |
jira-updates | Atualizar uma issue do Jira após seu PR ser criado; postar comentários de Bloqueado-por-Pergunta. | jira github |
migration-squash | Criar ou revisar um squach de migração do Laravel com segurança — pré-verificar o dump e, em seguida, um checklist para capturar baselines incompletas, contaminadas ou com perda de dados. | laravel |
pr-review-feedback | Aplicar comentários de revisão de PR, avaliando cada um criticamente antes de agir. | github |
pre-release | Desafio pré-envio: Rector, Pint, suíte de testes completa, PHPStan e uma auditoria de desatualização de documentação. | php github |
pull-requests | Criar e gerenciar seus próprios PRs do GitHub via gh: escrever a descrição, verificar, rotear por risco. | github |
readme | Escrever e manter um README de alta qualidade para um pacote Composer — forma stub vs. abrangente, tom, auditoria de desatualização. | release-automation |
release-notes | Rascunhar corpos de release do GitHub para pacotes Composer — estrutura, tom, chamadas de quebra de compatibilidade, o que omitir. | release-automation |
resolve-conflicts | Resolver conflitos de merge do git sem perder funcionalidade de nenhum dos lados. | — |
test-writing | Escrever testes específicos, com nomes descritivos, que sigam Arrange-Act-Assert. | — |
upgrading | Estrutura canônica para UPGRADING.md em um pacote Composer — quando manter um, o que colocar nele. | release-automation |
ux-review | Avaliar opções de UX/UI para uma nova funcionalidade, recomendar uma abordagem e documentar a decisão. | — |
write-spec | Escrever arquivos de especificação prontos para implementação com fases acompanháveis de progresso. | — |
Tags
A maioria das habilidades e diretrizes são universais — elas são sincronizadas para todos os projetos. Algumas carregam tags de capacidade nomeando o que o projeto precisa (ou aceitou) para que o conteúdo seja útil. Um projeto declara suas capacidades no boost.php através de ->withTags(...), e apenas o conteúdo correspondente é sincronizado.
O mecanismo de tags (correspondência subset-AND, declaração withTags() no boost.php, metadata.boost-tags no frontmatter da habilidade, o manifesto lateral .boost-tags.yaml para diretrizes) é canônico da família — definido pelo boost-core e se aplica a qualquer catálogo distribuído via Composer. O vocabulário de tags abaixo é uma escolha de um catálogo — a mistura de capacidades de Sander que as habilidades e diretrizes do boost-skills fornecem. Outros catálogos podem organizar de forma diferente. O Proprietário nomeia qual pacote da família boost fornece o conteúdo que usa cada tag.
O boost-core fornece um enum Tag mais amplo (SanderMuller\BoostCore\Enums\Tag) com casos não vinculados a nenhuma habilidade neste catálogo — Tag::Filament, Tag::Livewire, Tag::Volt, Tag::Inertia, Tag::Flux, Tag::Pest, Tag::Tailwind e outros. Estes são slots compatíveis com versões futuras no vocabulário da família. Declará-los no seu withTags(...) é inofensivo hoje (nenhuma habilidade fornecida ainda os tem como alvo) e sobrevive a reexecuções do seletor boost install de acordo com a regra de preservação declarada-mas-não-descoberta do boost-core. A tabela abaixo cobre apenas as tags sob as quais o próprio boost-skills atualmente fornece conteúdo; veja Tag::* no boost-core para o vocabulário completo do enum.
| Tag | Significado | Proprietário |
|---|---|---|
boost-extension | opt-in — estendendo boost-core (habilidades personalizadas + FileEmitters) | package-boost-php |
database | projeto tem um banco de dados | boost-skills |
frontend | conjunto de ferramentas frontend — verificação de tipos, linting, testes JS | boost-skills |
github | hospedado no GitHub | boost-skills |
github-issues | rastreamento de issues no GitHub Issues | boost-skills |
hosting | projeto implanta em uma plataforma hospedada (pai de tags específicas de plataforma) | boost-skills |
jira | rastreamento de issues no Jira | boost-skills |
laravel | ... |
[...truncado para tradução]