astrolisted
Install: claude install-skill svyatov/agent-toolkit
# Astro
Astro is the web framework for content-driven websites: server-first, static HTML by default, with opt-in interactive islands.
**Always consult the official docs for the latest API details.** Fetch `https://docs.astro.build/llms-small.txt` for an abridged reference, or `https://docs.astro.build/llms-full.txt` for the complete documentation.
You already know Astro fundamentals — `.astro` component syntax, `client:*` directives, file-based routing, middleware, scoped styles. This skill covers what changed in v5/v6 and the newer APIs you may know imperfectly. When unsure, fetch the docs above instead of guessing.
## Astro v6 Key Changes
- **Node.js 22.12.0+** required (Node 18 and 20 dropped; odd-numbered versions not supported)
- **Vite 7** and **Zod 4** — Zod string validators moved to top-level: `z.email()` instead of `z.string().email()`; error messages use `error:` instead of `message:`
- **`import.meta.env`** values always inlined, never coerced — use `process.env` for server-only secrets
- **Images**: cropping by default when both `width` and `height` set; never upscales
- **Endpoints with file extensions** no longer accessible with trailing slash
- **Shiki 4** for syntax highlighting
- Upgrade with `npx @astrojs/upgrade`
## Rendering Model
All pages are pre-rendered (static) by default. On-demand rendering requires an adapter (`npx astro add node|vercel|netlify|cloudflare`) plus per-page opt-out:
```astro
---
export const prerender = false;
---
```
Or se