Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
oakoss avatar

Astro

  • 67 installs
  • 14 repo stars
  • Updated March 2, 2026
  • oakoss/agent-skills

Helps with ai & agent building tasks during AI-assisted development.

About

astro is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • astro
  • AI & Agent Building
  • AI-coding skill

Astro by the numbers

  • 67 all-time installs (skills.sh)
  • +1 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #5,935 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/oakoss/agent-skills --skill astro

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs67
repo stars14
Last updatedMarch 2, 2026
Repositoryoakoss/agent-skills

What it does

Helps with ai & agent building tasks during AI-assisted development.

Files

SKILL.mdMarkdownGitHub ↗

Astro

Overview

Astro is an all-in-one web framework for building fast, content-focused websites. It uses an islands architecture that ships zero JavaScript by default, hydrating only interactive components on demand. Components from React, Svelte, Vue, Solid, and Preact can coexist in a single project.

When to use: Content-driven sites (blogs, docs, marketing), portfolios, e-commerce storefronts, any site where most pages are primarily static with isolated interactive regions.

When NOT to use: Highly interactive single-page applications (dashboards, real-time collaboration tools), apps requiring full client-side routing with shared global state across all components.

Quick Reference

PatternAPI / DirectiveKey Points
Content collectiondefineCollection({ loader, schema })Zod schemas, glob/file loaders, type-safe queries
Query collectiongetCollection('blog')Returns typed array, supports filter callback
Single entrygetEntry('blog', 'my-post')Fetch by collection name and entry ID
Island (load)<Component client:load />Hydrate immediately on page load
Island (idle)<Component client:idle />Hydrate when browser is idle
Island (visible)<Component client:visible />Hydrate when component enters viewport
Island (media)<Component client:media="(max-width: 768px)" />Hydrate on media query match
Island (client-only)<Component client:only="react" />Skip SSR, render only on client
View transitions<ClientRouter />Add to <head>, enables SPA-like navigation
Persist statetransition:persistMaintain island state across navigations
Programmatic navigatenavigate(href)Client-side navigation from scripts
Static outputoutput: 'static'Pre-render all pages at build time (default)
Server outputoutput: 'server'Server-render all pages on demand
Hybrid (opt-in SSR)output: 'static' + per-page prerender = falseStatic by default, opt individual pages into SSR
Hybrid (opt-in static)output: 'server' + per-page prerender = trueSSR by default, opt individual pages into static
Server islands<Component server:defer />Defer server rendering for dynamic content in static
MiddlewareonRequest(context, next)Runs before every route, chain with sequence()
Astro DB tabledefineTable({ columns })Type-safe SQL with column definitions
Framework componentImport .jsx / .svelte / .vueAuto-detected by file extension
Integrationastro add reactCLI to add framework adapters and tools
Render contentconst { Content } = await entry.render()Compile Markdown/MDX to component
Dynamic routesgetStaticPaths() + collection queryGenerate pages from collection entries
API endpointexport const GET: APIRouteServer-rendered REST endpoints
Shared island statenanostoresReactive state across framework boundaries
Environment variablesimport.meta.env.PUBLIC_*PUBLIC_ prefix for client-accessible vars
Transition animationtransition:animate="slide"initial, fade, slide, none
Prefetch linksdata-astro-prefetchhover, viewport, load, or false
Collection referencereference('authors')Type-safe cross-collection relations
Script re-executiondata-astro-rerunRe-run <script> on every view transition navigation
Redirectcontext.redirect(url, status)Redirect from middleware or server pages

Common Mistakes

MistakeCorrect Pattern
Adding client: directive to .astro componentsOnly UI framework components (React, Svelte, Vue) accept client:
Using client:load everywhereDefault to client:idle or client:visible; use client:load sparingly
Forgetting framework string with client:onlyMust specify framework: client:only="react"
Mixing framework components in non-Astro filesOnly .astro files can compose components from multiple frameworks
Using output: 'server' for mostly static sitesUse output: 'static' with per-page prerender = false for hybrid
Omitting <ClientRouter /> for view transitionsMust be in <head> of every page (use shared layout)
Content config not at src/content.config.tsFile must be named content.config.ts in src/ root
Not awaiting getCollection() callsAlways await collection queries in frontmatter
Importing from astro:content in client scriptsContent APIs are server-only; pass data as props to client components
Placing middleware outside src/middleware.tsMiddleware must be at src/middleware.ts or src/middleware/index.ts
Passing functions as props to islandsOnly serializable data crosses the server/client boundary
Using transition:persist without matching pagesComponent must appear on both old and new page with same persist value
Missing adapter for server/hybrid modeInstall an adapter: npx astro add vercel (or node, netlify, etc.)

Delegation

  • Pattern discovery: Use Explore agent
  • Build configuration: Use Task agent
  • Code review: Delegate to code-reviewer agent
If the tailwind skill is available, delegate styling and Tailwind CSS configuration to it.
If the vitest skill is available, delegate unit testing patterns to it.
If the playwright skill is available, delegate end-to-end testing patterns to it.
If the vite skill is available, delegate build configuration and Vite plugin setup to it.
If the drizzle skill is available, delegate advanced database query patterns to it.
If the sentry skill is available, delegate error monitoring and observability setup to it.
If the pino-logging skill is available, delegate server-side logging configuration to it.
If the tanstack-query skill is available, delegate client-side data fetching and caching to it.

References

  • Content collections, schemas, loaders, and querying
  • Island architecture and hydration directives
  • View transitions and client-side navigation
  • Rendering modes: static, server, and hybrid
  • Middleware patterns and request handling
  • Framework component integration (React, Svelte, Vue)
  • Astro DB schema, seeding, and queries

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.