Astro
SkillDev toolsConstruir e revisar sites Astro com renderização, content collections, ilhas de interatividade, actions, integrações, imagens, SEO e performance. Use quando houver astro.config ou dependência astro e a tarefa tocar páginas, layouts, componentes, endpoints ou conteúdo; use também para decidir a diretiva de hidratação correta de uma ilha; não use para lógica interna do framework de UI hidratado numa ilha React — aí combine com a skill React.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Astro skill
What this skill tells your AI
The instructions your AI receives, as published by promovaweb/specsfy in specialists/specsfy-specialist-astro/SKILL.md and read by ahel’s review.
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-engineeringquando 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/POSTexplí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:visiblepara algo abaixo da dobra,client:idlepara algo de baixa prioridade,client:loadsó quando a interação precisa estar pronta imediatamente; nuncaclient:loadpor 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.astronunca precisa de diretivaclient:*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 quandoclient:visibleouclient:idlebastariam.- 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.
Signals
- GitHub stars
- 79
- Forks
- 37
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
specsfy-specialist-astro- Source
- github.com/promovaweb/specsfy