Mode d’emploi
- Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
- Consultez le document original pour les outils, identifiants et environnements requis.
- Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/promovaweb/specsfy --skill specsfy-specialist-astroAvant de commencer
- L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
- Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.
Astro
Quando usar
- Acionar quando o projeto tem
astro.configou dependênciaastroe a
tarefa envolve página, layout, componente .astro, content collection, endpoint ou ilha de interatividade.
- Acionar também para decidir output mode (static/server), escolher a
diretiva client:* certa, ou diagnosticar JS enviado ao cliente maior que o esperado.
- Não acionar para a lógica interna de um componente React/Vue/Svelte
hidratado dentro de uma ilha; usar $specsfy-specialist-react (ou equivalente) para o comportamento do componente em si, mantendo este especialista para a decisão de quando e como hidratá-lo.
- Combinar com
$specsfy-specialist-web-accessibilitypara landmarks,
headings e navegação por teclado do site, e com $specsfy-specialist-performance-engineering quando o sintoma for Core Web Vitals fora do SLO.
Fluxo
- Descobrir versão do Astro, output mode (
static/server), adapter,
integrações ativas e fontes de conteúdo (Markdown, MDX, CMS remoto) antes de recomendar.
- Classificar cada rota alterada como estática (conhecida no build),
sob demanda (server-rendered por requisição) ou endpoint (contrato HTTP com GET/POST explícitos).
- Manter HTML estático e zero-JS por padrão; hidratar apenas o componente
que precisa de interação, com a diretiva client:* mais restritiva possível para o caso.
- Modelar conteúdo com content collections e schema (Zod) explícito; tratar
frontmatter inválido como erro de build, não como dado tolerado.
- Definir caching, headers, assets e imagens (
astro:assets) por rota,
coerente com o output mode escolhido.
- Testar
astro check, build de produção, conteúdo inválido no schema e o
comportamento hidratado de cada ilha isoladamente.
- Medir payload de JS enviado ao cliente e Core Web Vitals no adapter alvo
real, não apenas no dev server.
Padrões
- Usar a menor diretiva de hidratação compatível com a interação:
client:visible para algo abaixo da dobra, client:idle para algo de baixa prioridade, client:load só quando a interação precisa estar pronta imediatamente; nunca client:load por padrão em tudo.
- Não transportar para uma ilha mais dado do que ela usa para renderizar —
cada prop de uma ilha vira JSON serializado no HTML e conta no payload.
- Manter layouts e componentes
.astroserver-first; um componente.astro
nunca precisa de diretiva client:* porque ele não hidrata — apenas os componentes de framework (React/Vue/Svelte) embutidos hidratam.
- Validar todo conteúdo (frontmatter, parâmetros de rota, body de endpoint)
na fronteira com schema explícito; tratar slug duplicado ou rota colidente como erro de build, não como comportamento silencioso.
- Escolher
serveroutput (SSR) apenas quando personalização por
requisição, sessão ou frescor de dado realmente justificar — do contrário, static é mais rápido, mais barato e mais simples de cachear.
- Preservar
canonical, sitemap e dados estruturados (JSON-LD) coerentes com
a URL final de cada página, inclusive em conteúdo gerado dinamicamente.
- Não assumir APIs completas do Node (
fs,process) dentro de adapters
edge; confirmar o runtime do adapter alvo antes de usar uma dependência server-only.
Antipadrões
client:loadaplicado "por garantia" em toda ilha da página — infla o JS
enviado mesmo quando client:visible ou client:idle bastariam.
- Passar o objeto de dado completo (ex.: registro inteiro do banco) como prop
para uma ilha que só exibe dois campos — cada byte extra é serializado e enviado ao navegador.
- Content collection sem schema Zod, "confiando" que o frontmatter está
correto — um campo ausente só aparece como bug em produção, não em build.
- Usar
serveroutput para o site inteiro quando só uma rota (ex.: um
dashboard autenticado) precisa de SSR — perde cache estático nas páginas que não precisavam disso.
- Confundir a responsabilidade desta skill com a do framework hidratado: um
bug de estado dentro de uma ilha React é problema de $specsfy-specialist-react, não de configuração de ilha.
Validação
- Rodar
astro check, a suíte de testes do projeto e o build de produção
completo antes de considerar a mudança pronta.
- Inspecionar o HTML servido com JavaScript desabilitado (deve continuar
navegável e legível) e então validar a hidratação de cada ilha isoladamente.
- Percorrer links internos, páginas de erro (404/500), imagens otimizadas e
a presença de RSS/sitemap/metadados quando o site os expõe.
- Fazer preview no runtime real do adapter (não só
astro dev), medindo
payload de JS por rota e Core Web Vitals antes/depois da mudança.
- Não declarar uma página "estática" ou "zero-JS" sem inspecionar o HTML
gerado; linguagem absoluta sem essa evidência é proibida.
Skills relacionadas
$specsfy-specialist-react-ui-componentsfornece referências TSX para ilhas
React; esta skill decide onde a ilha existe e como ela hidrata no Astro.
$specsfy-specialist-react(ou o framework de UI equivalente) para a
lógica interna do componente hidratado dentro de uma ilha.
$specsfy-specialist-web-accessibilitypara landmarks, headings e ordem de
foco do site publicado.
$specsfy-specialist-performance-engineeringpara investigar Core Web
Vitals com metodologia de medição própria.
$specsfy-specialist-web-api-designquando um endpoint Astro expõe um
contrato HTTP consumido por outro cliente além do próprio site.
$specsfy-specialist-typescriptpara o schema de content collections,
props de componente e tipos de endpoint.
$specsfy-specialist-tailwind-csse$specsfy-specialist-shadcn-uipara a
camada de estilo e os componentes visuais usados em layouts e ilhas.
- Não use
$specsfy-specialist-nextjspara decisões deste projeto: são
frameworks distintos com fronteiras server/client e cache diferentes; migrar um padrão de um para o outro sem checar a skill correspondente costuma quebrar a semântica de cache.
Leia references/standards.md para modos de renderização, ilhas, content collections, actions, imagens e deploy, com fontes oficiais.



