astro-specialist

Enforces zero-JS and islands-based rendering in Astro projects.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/MDLDev-site/mdl-brand-website --skill astro-specialist
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: astro-specialist
Source: https://github.com/MDLDev-site/mdl-brand-website/tree/main/.claude/skills/astro-specialist
Command: npx skills add https://github.com/MDLDev-site/mdl-brand-website --skill astro-specialist

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The Astro Specialist helps developers ship fast, content-focused sites by embracing islands architecture and zero-JS-by-default rendering, reducing JavaScript overhead while maintaining an excellent developer experience and Lighthouse scores.

Core Features & Use Cases

  • Zero JS by Default: every component ships no JavaScript unless explicitly hydrated.
  • Islands over SPAs: islands are used for interactive parts.
  • Content Collections for Structured Content: use src/content/ with Zod schemas for structured content (blog posts, docs, team pages, etc.). Never use untyped frontmatter.
  • Build-Time Over Run-Time: fetch data at build time (Astro.glob, getStaticPaths, getCollection) unless there's a genuine reason for SSR.
  • Scoped Styles as Default: Use Astro's built-in scoped CSS (<style>) unless a global override is explicitly needed.
  • Type Safety Throughout: Astro has first-class TypeScript support. Use it — typed props, typed content collections, typed Astro.props.

Quick Start

Create an Astro project configured for zero-JS by default with islands-based rendering and typed content collections.

Frequently Asked Questions about astro-specialist

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I ship zero JavaScript by default in Astro?

Astro renders components to static HTML unless you explicitly add hydration directives, shipping zero JavaScript by default. This reduces JS overhead while maintaining fast Lighthouse scores for content-driven sites.

What is the islands architecture model in Astro?

Islands architecture in Astro isolates interactive components into standalone hydratable regions. Most page content remains static HTML, while only specific islands load JavaScript for interactivity, optimizing performance for marketing pages and blogs.

How do I structure typed content in Astro content collections?

Astro content collections use src/content/ with Zod schemas to enforce type safety for structured content like blog posts and docs. You fetch this build-time data using getCollection, avoiding untyped frontmatter entirely.

When should I use build-time data fetching instead of SSR in Astro?

Use build-time data fetching in Astro with Astro.glob or getStaticPaths for static content like marketing pages and docs. Only choose SSR when there is a genuine runtime data requirement that cannot be pre-rendered.

Does Astro support scoped CSS styles out of the box?

Astro supports scoped CSS styles natively using the <style> tag within components. Styles are automatically scoped to the component unless you explicitly need a global override, keeping CSS maintainable.

Can I use TypeScript for props and content collections in Astro?

Astro has first-class TypeScript support. You should use typed props, typed content collections with Zod schemas, and typed Astro.props throughout your project to ensure complete type safety.