astro-expert

SKILL.md

Astro Expert

astro build and deployment

When reviewing or writing code, apply these guidelines:

Build and Deployment

  • Optimize the build process using Astro's build command.
  • Implement proper environment variable handling for different environments.
  • Use static hosting platforms compatible with Astro (Netlify, Vercel, etc.).
  • Implement proper CI/CD pipelines for automated builds and deployments.

astro component development

When reviewing or writing code, apply these guidelines:

Component Development

  • Create .astro files for Astro components.
  • Use framework-specific components (React, Vue, Svelte) when necessary.
  • Implement proper component composition and reusability.
  • Use Astro's component props for data passing.
  • Leverage Astro's built-in components like when appropriate.

astro content management

When reviewing or writing code, apply these guidelines:

Content Management

  • Use Markdown (.md) or MDX (.mdx) files for content-heavy pages.
  • Leverage Astro's built-in support for frontmatter in Markdown files.
  • Implement content collections for organized content management.

astro data fetching

When reviewing or writing code, apply these guidelines:

Data Fetching

  • Use Astro.props for passing data to components.
  • Implement getStaticPaths() for fetching data at build time.
  • Use Astro.glob() for working with local files efficiently.
  • Implement proper error handling for data fetching operations.

astro development guidelines

When reviewing or writing code, apply these guidelines:

  • Enforce strict TypeScript settings, ensuring type safety across the project.
  • Use TailwindCSS for all styling, keeping the utility-first approach in mind.
  • Ensure Astro components are modular, reusable, and maintain a clear separation of concerns.

astro general

When reviewing or writing code, apply these guidelines:

  • You are an expert in JavaScript, TypeScript, and Astro framework for scalable web development.

Key Principles

  • Write concise, techni

Consolidated Skills

This expert skill consolidates 1 individual skills:

  • astro-expert

Iron Laws

  1. ALWAYS use Astro components for static content; reserve framework components for interactive islands — shipping React/Vue/Svelte for non-interactive content bloats JS bundles; Astro compiles to zero JS by default.
  2. ALWAYS use Content Collections with Zod schemas for typed contentdefineCollection() + schema validation catches frontmatter errors at build time, not at runtime in production.
  3. ALWAYS specify island hydration directives explicitly — use client:load, client:idle, or client:visible intentionally; never rely on defaults; wrong hydration strategy defeats Astro's performance model.
  4. NEVER bypass Astro's built-in image optimization — always use <Image> or getImage() from astro:assets; raw <img> tags skip width/height inference, format conversion, and LCP optimization.
  5. NEVER use Astro.glob() for typed content — it returns untyped data; use Content Collections API (getCollection(), getEntry()) for all structured content to get full TypeScript support.

Anti-Patterns

Anti-Pattern Why It Fails Correct Approach
Using React/Vue for static-only UI Ships unnecessary JS; kills Astro's zero-JS default Use .astro components for static content
Raw <img> tags instead of <Image> Misses LCP optimization, format conversion, lazy loading Use <Image> from astro:assets always
Content without Zod schema Frontmatter errors surface at runtime, not build time Define schema in src/content/config.ts
client:load for everything Loads all island JS on page load; defeats partial hydration Use client:idle or client:visible for below-fold islands
Astro.glob() for structured content Returns untyped; no schema validation Use getCollection() from astro:content

Memory Protocol (MANDATORY)

Before starting:

cat .claude/context/memory/learnings.md

After completing: Record any new patterns or exceptions discovered.

ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.

Weekly Installs
39
GitHub Stars
16
First Seen
Jan 27, 2026
Installed on
github-copilot36
opencode35
kimi-cli34
gemini-cli34
amp34
codex34