Pular para o conteúdo
Skillpedia
Sites e telas (frontend)48 mil · #2214

astro

Permite que seu agente crie sites focados em conteúdo. Ele usa uma tecnologia que carrega rápido e funciona bem em diferentes partes. Ideal para blogs e sites informativos.

O que ela faz

Astro é uma ferramenta para criar sites rápidos e focados em conteúdo. Ele envia o mínimo de código JavaScript para o navegador, tornando as páginas mais leves e rápidas. Você pode usar diferentes tecnologias de programação juntas.

Quando usar

  • ✓Criar um blog, site de documentação ou portfólio.
  • ✓Priorizar a velocidade e o bom desempenho do site.
  • ✓Trabalhar com muitos textos e arquivos de conteúdo.

Exemplo do que pedir para a IA

“Como criar um site de blog com Astro?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/astro/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/astro/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você escreve o conteúdo e a estrutura do site em arquivos `.astro`. Astro compila tudo em HTML puro, enviando JavaScript apenas para partes interativas quando necessário. Ele organiza o conteúdo e as páginas de forma automática.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill astro

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/astro/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Framework Web Astro

Visão Geral

Astro é um framework web projetado para sites ricos em conteúdo — blogs, documentações, portfólios, sites de marketing e e-commerce. Sua inovação principal é a Arquitetura de Ilhas: por padrão, o Astro envia zero JavaScript para o navegador. Componentes interativos são hidratados seletivamente como "ilhas" isoladas. O Astro suporta React, Vue, Svelte, Solid e outros frameworks de UI simultaneamente no mesmo projeto, permitindo que você escolha a ferramenta certa por componente.

Quando Usar Esta Habilidade

  • Use ao construir um blog, site de documentação, página de marketing ou portfólio
  • Use quando performance e Core Web Vitals são a prioridade máxima
  • Use quando o projeto é rico em conteúdo com arquivos Markdown ou MDX
  • Use quando você quer saída SSG (estática) com SSR opcional para rotas dinâmicas
  • Use quando o usuário perguntar sobre arquivos .astro, Astro.props, coleções de conteúdo ou diretivas client:

Como Funciona

Passo 1: Configuração do Projeto

npm create astro@latest my-site
cd my-site
npm install
npm run dev

Adicione integrações conforme necessário:

npx astro add tailwind        # Tailwind CSS
npx astro add react           # React component support
npx astro add mdx             # MDX support
npx astro add sitemap         # Auto sitemap.xml
npx astro add vercel          # Vercel SSR adapter

Estrutura do projeto:

src/
  pages/          ← File-based routing (.astro, .md, .mdx)
  layouts/        ← Reusable page shells
  components/     ← UI components (.astro, .tsx, .vue, etc.)
  content/        ← Type-safe content collections (Markdown/MDX)
  styles/         ← Global CSS
public/           ← Static assets (copied as-is)
astro.config.mjs  ← Framework config

Passo 2: Sintaxe de Componentes Astro

Arquivos .astro têm uma cerca de código no topo (apenas para servidor) e um template abaixo:

---
// src/components/Card.astro
// This block runs on the server ONLY — never in the browser
interface Props {
  title: string;
  href: string;
  description: string;
}

const { title, href, description } = Astro.props;
---

<article class="card">
  <h2><a href={href}>{title}</a></h2>
  <p>{description}</p>
</article>

<style>
  /* Scoped to this component automatically */
  .card { border: 1px solid #eee; padding: 1rem; }
</style>

Passo 3: Páginas e Roteamento Baseados em Arquivos

src/pages/index.astro          → /
src/pages/about.astro          → /about
src/pages/blog/[slug].astro    → /blog/:slug (dynamic)
src/pages/blog/[...path].astro → /blog/* (catch-all)

Rota dinâmica com getStaticPaths:

---
// src/pages/blog/[slug].astro
export async function getStaticPaths() {
  const posts = await getCollection('blog');
  return posts.map(post => ({
    params: { slug: post.slug },
    props: { post },
  }));
}

const { post } = Astro.props;
const { Content } = await post.render();
---

<h1>{post.data.title}</h1>
<Content />

Passo 4: Coleções de Conteúdo

Coleções de conteúdo oferecem acesso type-safe a arquivos Markdown e MDX:

// src/content/config.ts
import { z, defineCollection } from 'astro:content';

const blog = defineCollection({
  type: 'content',
  schema: z.object({
    title: z.string(),
    date: z.coerce.date(),
    tags: z.array(z.string()).default([]),
    draft: z.boolean().default(false),
  }),
});

export const collections = { blog };
---
// src/pages/blog/index.astro
import { getCollection } from 'astro:content';

const posts = (await getCollection('blog'))
  .filter(p => !p.data.draft)
  .sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf());
---

<ul>
  {posts.map(post => (
    <li>
      <a href={`/blog/${post.slug}`}>{post.data.title}</a>
      <time>{post.data.date.toLocaleDateString()}</time>
    </li>
  ))}
</ul>

Passo 5: Ilhas — Hidratação Seletiva

Por padrão, componentes de frameworks de UI renderizam HTML estático sem JS. Use diretivas client: para hidratar:

---
import Counter from '../components/Counter.tsx';  // React component
import VideoPlayer from '../components/VideoPlayer.svelte';
---

<!-- Static HTML — no JavaScript sent to browser -->
<Counter initialCount={0} />

<!-- Hydrate immediately on page load -->
<Counter initialCount={0} client:load />

<!-- Hydrate when the component scrolls into view -->
<VideoPlayer src="/demo.mp4" client:visible />

<!-- Hydrate only when browser is idle -->
<Analytics client:idle />

<!-- Hydrate only on a specific media query -->
<MobileMenu client:media="(max-width: 768px)" />

…

Perguntas frequentes

O que são 'ilhas' no Astro?

Ilhas são componentes interativos que carregam seu JavaScript de forma independente, sem afetar o resto da página. Isso ajuda a manter o site rápido.

Posso usar React ou Vue com Astro?

Sim, Astro permite usar componentes de diferentes bibliotecas como React, Vue e Svelte no mesmo projeto.

Como o Astro lida com o conteúdo?

Astro tem um sistema chamado 'Content Collections' que organiza e valida seus arquivos de conteúdo (como Markdown e MDX) de forma segura.

Detalhes

Descrição original do autor

Build content-focused websites with Astro — zero JS by default, islands architecture, multi-framework components, and Markdown/MDX support.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2214
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas