Expert Astro Islands Architecture — client:load, client:idle, client:visible, client:media, client:only, server:defer (Server Islands), fallback slots, transition:persist, prop serialization. Use when adding interactivity to Astro pages or rendering dynamic server content.
From fuse-astronpx claudepluginhub fusengine/agents --plugin fuse-astroThis skill uses the workspace's default tool permissions.
references/client-directives.mdreferences/overview.mdreferences/prop-serialization.mdreferences/server-islands.mdreferences/templates/interactive-island.mdreferences/templates/server-island.mdreferences/transitions.mdreferences/view-transitions.mdGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Partial hydration architecture: zero JS by default, selective interactivity via directives.
Before ANY implementation, use TeamCreate to spawn 3 agents:
After implementation, run fuse-ai-pilot:sniper for validation.
| Concept | Benefit |
|---|---|
| Zero JS by default | Maximum performance, minimal payload |
| Selective hydration | Only interactive components ship JS |
server:defer | Dynamic server content without SSR blocking |
client:visible | Lazy-load below-fold components |
transition:persist | State survives page navigation |
| Directive | When JS Loads | Use Case |
|---|---|---|
client:load | Immediately on page load | Critical interactive UI |
client:idle | After requestIdleCallback | Non-critical UI |
client:visible | When component enters viewport | Below-fold components |
client:media="(query)" | When media query matches | Responsive components |
client:only="framework" | Client-only, no SSR | Components using browser APIs |
server:defer renders the component on the server after the page loads:
slot="fallback" for placeholder content| Need | Reference |
|---|---|
| Architecture overview | overview.md |
| Client directive details | client-directives.md |
| server:defer patterns | server-islands.md |
| transition:persist | transitions.md |
| View Transitions (complete) | view-transitions.md |
| Prop serialization rules | prop-serialization.md |
| Interactive component | templates/interactive-island.md |
| Server island with fallback | templates/server-island.md |
client:visible — Defer below-fold components automaticallyclient:only for browser APIs — localStorage, window, canvasserver:defer for personalized content — Avatars, prices, auth statetransition:persist — Preserve media players or forms during navigation