specsfy-specialist-astro
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAstro
Astro
Quando usar
适用场景
- Acionar quando o projeto tem ou dependência
astro.confige a tarefa envolve página, layout, componenteastro, content collection, endpoint ou ilha de interatividade..astro - Acionar também para decidir output mode (static/server), escolher a
diretiva certa, ou diagnosticar JS enviado ao cliente maior que o esperado.
client:* - Não acionar para a lógica interna de um componente React/Vue/Svelte
hidratado dentro de uma ilha; usar (ou equivalente) para o comportamento do componente em si, mantendo este especialista para a decisão de quando e como hidratá-lo.
$specsfy-specialist-react - Combinar com para landmarks, headings e navegação por teclado do site, e com
$specsfy-specialist-web-accessibilityquando o sintoma for Core Web Vitals fora do SLO.$specsfy-specialist-performance-engineering
- 当项目包含或
astro.config依赖,且任务涉及页面、布局、astro组件、content collection、端点或交互式孤岛时触发。.astro - 也可用于确定输出模式(static/server)、选择正确的指令,或诊断客户端JS体积超出预期的问题。
client:* - 请勿用于孤岛内部已hydrated的React/Vue/Svelte组件逻辑;组件自身行为请使用(或对应框架的技能),本技能仅用于决定何时及如何进行hydration。
$specsfy-specialist-react - 若涉及网站的地标、标题及键盘导航,请结合技能;若症状为Core Web Vitals未达SLO标准,请结合
$specsfy-specialist-web-accessibility技能。$specsfy-specialist-performance-engineering
Fluxo
流程
- Descobrir versão do Astro, output mode (/
static), adapter, integrações ativas e fontes de conteúdo (Markdown, MDX, CMS remoto) antes de recomendar.server - Classificar cada rota alterada como estática (conhecida no build),
sob demanda (server-rendered por requisição) ou endpoint (contrato HTTP
com /
GETexplícitos).POST - Manter HTML estático e zero-JS por padrão; hidratar apenas o componente
que precisa de interação, com a diretiva mais restritiva possível para o caso.
client:* - 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 () por rota, coerente com o output mode escolhido.
astro:assets - Testar , build de produção, conteúdo inválido no schema e o comportamento hidratado de cada ilha isoladamente.
astro check - Medir payload de JS enviado ao cliente e Core Web Vitals no adapter alvo real, não apenas no dev server.
- 在给出建议前,先了解Astro版本、输出模式(/
static)、适配器、已启用的集成及内容来源(Markdown、MDX、远程CMS)。server - 将每个变更的路由分类为静态(构建时已知)、按需(请求时服务端渲染)或端点(具有明确/
GET的HTTP契约)。POST - 默认保持静态HTML和零JS;仅对需要交互的组件进行hydration,并使用针对场景限制最严格的指令。
client:* - 使用content collections和明确的Zod schema建模内容;将无效的frontmatter视为构建错误,而非可容忍的数据。
- 根据所选输出模式,按路由定义缓存、头部、资源及图片()。
astro:assets - 测试、生产构建、schema无效内容,以及每个孤岛的独立hydration行为。
astro check - 在实际目标适配器上测量客户端JS负载及Core Web Vitals,而非仅在开发服务器上测试。
Padrões
规范
- Usar a menor diretiva de hidratação compatível com a interação:
para algo abaixo da dobra,
client:visiblepara algo de baixa prioridade,client:idlesó quando a interação precisa estar pronta imediatamente; nuncaclient:loadpor padrão em tudo.client:load - 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 server-first; um componente
.astronunca precisa de diretiva.astroporque ele não hidrata — apenas os componentes de framework (React/Vue/Svelte) embutidos hidratam.client:* - 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 output (SSR) apenas quando personalização por requisição, sessão ou frescor de dado realmente justificar — do contrário,
serveré mais rápido, mais barato e mais simples de cachear.static - Preservar , sitemap e dados estruturados (JSON-LD) coerentes com a URL final de cada página, inclusive em conteúdo gerado dinamicamente.
canonical - Não assumir APIs completas do Node (,
fs) dentro de adapters edge; confirmar o runtime do adapter alvo antes de usar uma dependência server-only.process
- 使用与交互需求兼容的最严格hydration指令:对于首屏下方的内容使用,低优先级内容使用
client:visible,仅当交互需要立即就绪时使用client:idle;切勿默认对所有内容使用client:load。client:load - 不要向孤岛传递超出其渲染所需的数据——孤岛的每个prop都会在HTML中序列化为JSON,并计入负载。
- 保持布局和组件为服务端优先;
.astro组件永远不需要.astro指令,因为它不会被hydrated——只有嵌入的框架组件(React/Vue/Svelte)才会被hydrated。client:* - 使用明确的schema在边界验证所有内容(frontmatter、路由参数、端点请求体);将重复slug或路由冲突视为构建错误,而非静默行为。
- 仅当确实需要基于请求、会话的个性化或数据实时性时,才选择输出(SSR);否则,
server模式更快、成本更低且更易于缓存。static - 确保每个页面的最终URL对应的、站点地图和结构化数据(JSON-LD)保持一致,包括动态生成的内容。
canonical - 不要在边缘适配器中假设完整的Node API(如、
fs);在使用服务端专属依赖前,确认目标适配器的运行时环境。process
Antipadrões
反模式
- aplicado "por garantia" em toda ilha da página — infla o JS enviado mesmo quando
client:loadouclient:visiblebastariam.client:idle - 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 output 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.
server - Confundir a responsabilidade desta skill com a do framework hidratado: um
bug de estado dentro de uma ilha React é problema de
, não de configuração de ilha.
$specsfy-specialist-react
- 为页面所有孤岛“保险起见”应用——即使
client:load或client:visible足够,也会增加客户端JS体积。client:idle - 将完整数据对象(如数据库整条记录)作为prop传递给仅显示两个字段的孤岛——额外的每个字节都会被序列化并发送到浏览器。
- 不使用Zod schema的content collection,“信任”frontmatter是正确的——缺失字段只会在生产环境中表现为bug,而非构建时错误。
- 当仅一个路由(如认证后的仪表板)需要SSR时,为整个网站使用输出——会失去无需SSR页面的静态缓存优势。
server - 混淆本技能与hydrated框架的职责:React孤岛内的状态bug属于的问题,而非孤岛配置问题。
$specsfy-specialist-react
Validação
验证
- Rodar , a suíte de testes do projeto e o build de produção completo antes de considerar a mudança pronta.
astro check - 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ó ), medindo payload de JS por rota e Core Web Vitals antes/depois da mudança.
astro dev - Não declarar uma página "estática" ou "zero-JS" sem inspecionar o HTML gerado; linguagem absoluta sem essa evidência é proibida.
- 在确认变更完成前,运行、项目测试套件及完整生产构建。
astro check - 在禁用JavaScript的情况下检查提供的HTML(应仍可浏览和阅读),然后单独验证每个孤岛的hydration情况。
- 遍历内部链接、错误页面(404/500)、优化后的图片,以及网站提供的RSS/站点地图/元数据是否存在。
- 在适配器的真实运行时环境中预览(而非仅),测量变更前后每个路由的JS负载及Core Web Vitals。
astro dev - 未检查生成的HTML时,请勿宣称页面为“静态”或“零JS”;无此证据的绝对表述是禁止的。
Skills relacionadas
相关技能
- fornece referências TSX para ilhas React; esta skill decide onde a ilha existe e como ela hidrata no Astro.
$specsfy-specialist-react-ui-components - (ou o framework de UI equivalente) para a lógica interna do componente hidratado dentro de uma ilha.
$specsfy-specialist-react - para landmarks, headings e ordem de foco do site publicado.
$specsfy-specialist-web-accessibility - para investigar Core Web Vitals com metodologia de medição própria.
$specsfy-specialist-performance-engineering - quando um endpoint Astro expõe um contrato HTTP consumido por outro cliente além do próprio site.
$specsfy-specialist-web-api-design - para o schema de content collections, props de componente e tipos de endpoint.
$specsfy-specialist-typescript - e
$specsfy-specialist-tailwind-csspara a camada de estilo e os componentes visuais usados em layouts e ilhas.$specsfy-specialist-shadcn-ui - Não use para 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.
$specsfy-specialist-nextjs
Leia references/standards.md para modos de
renderização, ilhas, content collections, actions, imagens e deploy, com
fontes oficiais.
- 提供React孤岛的TSX参考;本技能决定孤岛在Astro中的位置及hydration方式。
$specsfy-specialist-react-ui-components - (或对应UI框架技能)用于孤岛内部已hydrated组件的逻辑。
$specsfy-specialist-react - 用于已发布网站的地标、标题及焦点顺序。
$specsfy-specialist-web-accessibility - 用于采用专属测量方法调查Core Web Vitals。
$specsfy-specialist-performance-engineering - 当Astro端点暴露供网站以外其他客户端使用的HTTP契约时,使用。
$specsfy-specialist-web-api-design - 用于content collections的schema、组件props及端点类型。
$specsfy-specialist-typescript - 和
$specsfy-specialist-tailwind-css用于布局和孤岛中使用的样式层及视觉组件。$specsfy-specialist-shadcn-ui - 请勿使用进行本项目的决策:二者是不同的框架,服务端/客户端边界及缓存机制不同;未经对应技能检查就将一个框架的模式迁移到另一个,通常会破坏缓存语义。
$specsfy-specialist-nextjs
请阅读references/standards.md获取渲染模式、孤岛、content collections、actions、图片及部署的官方来源信息。