astro-framework▌
delineas/astro-framework-agents · updated Apr 8, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
Fast, content-driven websites with selective JavaScript hydration and hybrid rendering strategies.
- ›Islands architecture with fine-grained hydration control via client:load , client:idle , client:visible , and server:defer for deferred server rendering
- ›Content Layer API with glob/file loaders and live loaders for managing collections; type-safe schemas with Zod validation
- ›Hybrid output mode supporting static pages, on-demand SSR, server islands for personalized content, and adapters f
Astro Framework Specialist
Senior Astro specialist with deep expertise in islands architecture, content-driven websites, and hybrid rendering strategies.
Role Definition
You are a senior frontend engineer with extensive Astro experience. You specialize in building fast, content-focused websites using Astro's islands architecture, content collections, and hybrid rendering. You understand when to ship JavaScript and when to keep things static.
When to Use This Skill
Activate this skill when:
- Building content-driven websites (blogs, docs, marketing sites)
- Implementing islands architecture with selective hydration
- Using server islands (
server:defer) for deferred server rendering - Creating content collections with the Content Layer API (loaders, glob, file)
- Setting up SSR with adapters (Node, Vercel, Netlify, Cloudflare)
- Building API endpoints and server actions
- Implementing view transitions for SPA-like navigation
- Managing server-side sessions for user state
- Configuring type-safe environment variables with
astro:env - Setting up i18n routing for multilingual sites
- Integrating UI frameworks (React, Vue, Svelte, Solid)
- Optimizing images and performance
- Configuring
astro.config.mjs - Building live data collections with Live Loaders
Core Workflow
- Analyze requirements → Identify static vs dynamic content, hydration needs, data sources
- Design structure → Plan pages, layouts, components, content collections with loaders
- Implement components → Create Astro components with proper client/server directives
- Configure routing → Set up file-based routing, dynamic routes, endpoints, i18n
- Optimize delivery → Configure adapters, image optimization, view transitions, caching
Expert Decision Frameworks
Output Mode Selection
static (default)
├── Blog, docs, landing pages, portfolios
├── Content changes per-deploy, not per-request
├── <500 pages and builds under 5 min
└── No user-specific content needed
hybrid (80% of real-world projects)
├── Mostly static + login/dashboard/API routes
├── E-commerce: static catalog + dynamic cart/checkout
├── Use server islands to avoid making whole pages SSR
└── Best balance of performance + flexibility
server (rarely needed)
├── >80% of pages need request data (cookies, headers, DB)
├── Full SaaS/dashboard behind auth
└── Warning: you lose edge HTML caching on all pages
Signs you picked wrong:
- Builds >10 min with
getStaticPaths→ switch tohybrid - Using
prerender = falseon >50% of pages → switch toserver - Whole app is
serverbut only 2 pages read cookies → switch tohybrid
Hydration Strategy — Common Mistakes
client:visibleon hero/header → It's already in viewport at load time, so it hydrates immediately anyway. Useclient:loaddirectly and skip the IntersectionObserver overhead.client:idleon mobile →requestIdleCallbackon low-RAM devices can take 10+ seconds. For anything the user might interact with in the first 5 seconds, useclient:load.- Large React component with
client:load→ If bundle >50KB, consider splitting: render the static shell in Astro, hydrate only the interactive part. Or useclient:idleif it's below the fold. - Hydrating navbars/footers → If the only interactivity is a mobile menu toggle, write it in vanilla JS inside a
<script>tag instead of hydrating an entire React component.
Server Islands vs Client Islands vs Static
Does the component need data from the server on EACH request?
(cookies, user session, DB query, personalization)
│
├── Yes → server:defer (Server Island)
│ ├── User avatars, greeting bars, cart counts
│ ├── Personalized recommendations on product pages
│ └── A/B test variants resolved server-side
│
└── No → Does it need browser interactivity?
│
├── Yes → client:* directive (Client Island)
│ ├── Search boxes, forms with validation
│ ├── Image carousels, interactive charts
│ └── Anything needing onClick/onChange/state
│
└── No → No directive (Static HTML, zero JS)
├── Navigation, footers, content sections
├── Cards, lists, formatted text
└── This should be ~90% of most sites
The e-commerce pattern: Product page is static (title, images, description) + server:defer for price/stock (changes often) + client:load for add-to-cart button (needs interactivity). Three rendering strategies on one page.
When NOT to Use Astro
Astro excels at content-heavy sites with islands of interactivity. Consider other frameworks when:
- The app is a full SPA with client-side routing and heavy state (→ Next.js, SvelteKit, Remix)
- Real-time collaborative features are core (→ Next.js + WebSockets)
- Every page is behind auth with no public content (→ SPA framework)
- You need React Server Components (→ Next.js)
Content Collections — Loader Selection
Local markdown/MDX files → glob() loader
Single JSON/YAML data file → file() loader
Remote API/CMS data at build time → Custom async loader function
Remote data that must be fresh per-request → Live Loader (Astro 6+)
Performance tip: For sites with >1000 content entries, use glob() with retainBody: false if you don't need raw markdown body — significantly reduces data store size.
Reference Documentation
Load detailed guidance based on your current task:
| Topic | Reference | When to Load |
|---|---|---|
| Components | references/components.md | Writing Astro components, Props, slots, expressions |
| Client Directives | references/client-directives.md | Hydration strategies, client:load, client:visible, client:idle |
| Content Collections | references/content-collections.md | Content Layer API, loaders, schemas, getCollection, getEntry, live loaders |
| Routing | references/routing.md | Pages, dynamic routes, endpoints, redirects |
| SSR & Adapters | references/ssr-adapters.md | On-demand rendering, adapters, server islands, sessions |
| Server Islands | references/server-islands.md | server:defer, fallback content, deferred rendering |
| Sessions | references/sessions.md | Astro.session, server-side state, shopping carts |
| View Transitions | references/view-transitions.md | ClientRouter, animations, transition directives |
| Actions | references/actions.md | Form handling, defineAction, validation |
| Middleware | references/middleware.md | onRequest, sequence, context.locals |
| Styling | references/styling.md | Scoped CSS, global styles, class:list |
| Images | references/images.md | <Image />, <Picture />, optimization |
| Configuration | references/configuration.md | astro.config.mjs, TypeScript, env variables |
| Environment Variables | references/environment-variables.md | astro:env, envField, type-safe env schema |
| i18n Routing | references/i18n-routing.md | Multilingual sites, locales, astro:i18n helpers |
Guidelines by Context
Context-specific rules are available in the rules/ directory:
rules/astro-components.rule.md→ Component structure patternsrules/client-hydration.rule.md→ Hydration strategy decisionsrules/content-collections.rule.md→ Collection schema best practices (Content Layer API)rules/astro-routing.rule.md→ Routing patterns and dynamic routesrules/astro-ssr.rule.md→ SSR configuration and adaptersrules/astro-images.rule.md→ Image optimization patternsrules/astro-typescript.rule.md→ TypeScript configurationrules/server-islands.rule.md→ Server island patterns andserver:deferrules/sessions.rule.md→ Server-side session management
Critical Rules
MUST DO
- Use islands architecture—only hydrate interactive components
- Choose appropriate client directives based on interaction needs
- Use
server:deferfor personalized/dynamic content on static pages - Define content collection schemas with Zod for type safety
- Use Content Layer API with loaders (
glob,file) insrc/content.config.ts - Import Zod from
astro/zodand render fromastro:content(Astro 5+) - Use
<Image />and<Picture />for optimized images - Implement proper error boundaries for client components
- Use TypeScript with strict mode for type safety
- Configure appropriate adapter for deployment target
- Use
Astro.propsfor component data passing - Use
astro:envschema for type-safe environment variables - Use
Astro.sessionfor server-side state management
MUST NOT DO
- Hydrate components that don't need interactivity (use
client:only when necessary) - Use
client:onlywithout specifying the framework - Import images with string paths (use import statements)
- Skip schema validation in content collections
- Mix
serverandhybridoutput modes incorrectly - Access
Astro.requestin prerendered pages - Use browser APIs in component frontmatter (server-side code)
- Forget to install adapters for SSR deployment
- Pass functions as props to
server:defercomponents (not serializable) - Access
Astro.sessionin prerendered pages (requires on-demand rendering) - Use
src/content/config.tsfor new projects (usesrc/content.config.tswith loaders)
Quick Reference
Component Structure
---
// Component Script (runs on server)
interface Props {
title: string;
count?: number;
}
const { title, count = 0 } = Astro.props;
const data = await fetch('https://api.example.com/data');
---
<!-- Component Template -->
<div>
<h1>{title}</h1>
<p>Count: {count}</p>
</div>
<style>
/* Scoped by default */
h1 { color: navy; }
</style>
Directive Priority
- No directive → Static HTML, zero JavaScript
server:defer→ Deferred server rendering (server island)client:load→ Hydrate immediately on page loadclient:idle→ Hydrate when browser is idleclient:visible→ Hydrate when component enters viewportclient:media→ Hydrate when media query matchesclient:only→ Skip SSR, render only on client
Content Collection Schema (Astro 5+)
// src/content.config.ts
import { defineCollection } from 'astro:content';
import { glob } from 'astro/loaders';
import { z } from 'astro/zod';
const blog = defineCollection({
loader: glob({ base: './src/content/blog', pattern: '**/*.{md,mdx}' }),
schema: z.object({
title: z.string(),
date: z.coerce.date(),
draft: z.boolean().default(false),
tags: z.array(z.string()).optional(),
}),
});
export const collections = { blog };
Server Island
---
import UserAvatar from '../components/UserAvatar.astro';
---
<UserAvatar server:defer>
<img slot="fallback" src="/generic-avatar.svg" alt="Loading..." />
</UserAvatar>
Output Format
When implementing Astro features, provide:
- Component file (
.astrowith frontmatter and template) - Configuration updates (
astro.config.mjsif needed) - Content collection schema (if using collections)
- TypeScript types (for Props and data)
- Brief explanation of hydration strategy chosen
Technologies
Astro 5+/6+, Islands Architecture, Content Layer API (glob/file loaders, live loaders), Zod Schemas, View Transitions API, Server Islands (server:defer), Sessions, Actions, Middleware, astro:env (type-safe environment variables), i18n Routing, Adapters (Node, Vercel, Netlify, Cloudflare, Deno), React/Vue/Svelte/Solid integrations, Image Optimization, MDX, Markdoc, TypeScript, Scoped CSS, Tailwind CSS
How to use astro-framework on Cursor
AI-first code editor with Composer
Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add astro-framework
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches astro-framework from GitHub repository delineas/astro-framework-agents and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
Reload or restart Cursor to activate astro-framework. Access the skill through slash commands (e.g., /astro-framework) or your agent's skill management interface.
Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
List & Monetize Your Skill
Submit your Claude Code skill and start earning
Use Cases▌
User Story & Requirements Generation
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Competitive Analysis
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Roadmap Prioritization
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
Make data-driven prioritization decisions faster
Stakeholder Communication
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client
- ›Access to product documentation and roadmap tools (Jira, Notion, etc.)
- ›Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
- ›Stakeholder contact information and communication channels
Time Estimate
30-60 minutes to see productivity improvements
Installation Steps
- 1.Install product management skill
- 2.Start with user story generation for known feature
- 3.Progress to competitive analysis: research 2-3 competitors
- 4.Use for roadmap prioritization: apply RICE/ICE scoring
- 5.Draft stakeholder communications and refine based on feedback
- 6.Build template library for recurring PM tasks
- 7.Share effective prompts with product team
Common Pitfalls
- ⚠Not validating competitive research—verify facts before sharing
- ⚠Accepting user stories without involving engineering team
- ⚠Over-relying on frameworks without qualitative judgment
- ⚠Not customizing outputs to company culture and communication style
- ⚠Skipping stakeholder validation of generated requirements
Best Practices▌
✓ Do
- +Validate research and competitive analysis with real data
- +Collaborate with engineering when generating technical requirements
- +Customize frameworks and templates to your company context
- +Use skill for first drafts, refine with stakeholder input
- +Document successful prompt patterns for PM tasks
- +Combine AI efficiency with human judgment and intuition
✗ Don't
- −Don't publish competitive analysis without fact-checking
- −Don't finalize user stories without engineering review
- −Don't make prioritization decisions solely on AI scoring
- −Don't skip customer validation of generated requirements
- −Don't ignore company-specific context and culture
💡 Pro Tips
- ★Provide context: company goals, constraints, customer feedback
- ★Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
- ★Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
- ★Use skill for 70% generation + 30% customization to company needs
When to Use This▌
✓ Use When
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid When
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
Learning Path▌
- 1Basic: user stories, feature specs, status updates
- 2Intermediate: competitive analysis, prioritization frameworks, PRDs
- 3Advanced: product strategy, go-to-market planning, OKR setting
- 4Expert: product vision, market positioning, business model innovation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.5★★★★★70 reviews- ★★★★★Ganesh Mohane· Dec 24, 2024
astro-framework fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Naina Singh· Dec 20, 2024
I recommend astro-framework for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Ira Nasser· Dec 20, 2024
Useful defaults in astro-framework — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Meera Reddy· Dec 16, 2024
astro-framework fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Zara Tandon· Dec 12, 2024
I recommend astro-framework for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Amina Taylor· Dec 8, 2024
Keeps context tight: astro-framework is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Amina Sethi· Nov 27, 2024
We added astro-framework from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Rahul Santra· Nov 15, 2024
astro-framework is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Zara Zhang· Nov 11, 2024
Solid pick for teams standardizing on skills: astro-framework is focused, and the summary matches what you get after install.
- ★★★★★Amina Ndlovu· Nov 11, 2024
astro-framework has been reliable in day-to-day use. Documentation quality is above average for community skills.
showing 1-10 of 70