dev-create-island

Create interactive island components with customizable hydration strategies for Astro projects.

20|3|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/HerbertJulio/specialist-agent --skill dev-create-island
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dev-create-island
Source: https://github.com/HerbertJulio/specialist-agent/tree/main/packs/astro/skills/dev-create-island
Command: npx skills add https://github.com/HerbertJulio/specialist-agent --skill dev-create-island

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill guides teams to create interactive UI islands that require client-side JavaScript, enabling controlled hydration within Astro-based projects and framework integrations.

Core Features & Use Cases

  • Provides a guided pattern to implement islands across React, Vue, and Svelte with docs-driven steps.
  • Supports selecting and applying hydration strategies like client:load, client:idle, and client:visible to optimize performance.
  • Demonstrates how to wire up an island with typed props and an Astro usage example to enable reusable interactive components.

Quick Start

Create an IslandName component with a suitable hydration strategy in your Astro project.

Frequently Asked Questions about dev-create-island

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

FAQPage Schema
How do I create an interactive island component for client-side hydration?

To create an interactive island, you generate a framework-specific component and apply a hydration directive like client:load, client:idle, or client:visible to control when it executes on the client. This ensures optimal performance by only hydrating components when needed.

What hydration strategies can I use for React, Vue, or Svelte islands in Astro?

Astro hydration strategies for React, Vue, and Svelte islands include client:load for immediate hydration, client:idle for hydration when the browser is idle, and client:visible for hydrating when the component enters the viewport. You can also use media queries for conditional hydration.

Does this island generation pattern support typed props for safe serialization?

Yes, the island generation pattern supports typed props specifically designed for safe serialization. This ensures that data passed from the server to the client-side interactive island maintains its type integrity, preventing runtime errors during hydration.

When should I use client:visible versus client:idle for framework islands?

Use client:visible for framework islands when the component is below the fold and not immediately visible, as it defers hydration until scrolling. Use client:idle for components needed soon but not immediately, allowing the browser to handle higher priority tasks first to optimize page load.

Can I build hydration-ready islands without manually configuring client directives?

Building hydration-ready islands requires selecting an appropriate hydration strategy like client:load or client:visible. This guided pattern automates the framework-specific file creation and hydration directive application, ensuring the interactive island is properly configured for client-side execution.

What is the best way to wire up an interactive island in an Astro project?

The best way to wire up an interactive island is to create a framework-specific component in React, Vue, or Svelte, define typed props, and import it into an Astro page with a hydration directive. This pattern enables reusable, controlled hydration.