Communitygithub.com

bookmarkdown/landing-page

Add and configure Astro integrations, adapters, and UI framework tooling.

O que é landing-page?

landing-page is a Claude Code agent skill that add and configure Astro integrations, adapters, and UI framework tooling.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bookmarkdown/landing-page/tree/HEAD/.agents/skills/add-integration

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Add Astro Integration

Use this skill when adding official or community integrations to an Astro project, including UI frameworks, styling tools, adapters, content tooling, and utilities.

If astro-best-practices is available, apply it alongside this skill for performance, accessibility, and hydration defaults.

Workflow

1. Classify the integration

Identify what is being added before changing anything:

  • UI framework: React, Vue, Svelte, Preact, Solid
  • Styling: Tailwind, UnoCSS, Sass, CSS tooling
  • Deployment adapter: Netlify, Vercel, Cloudflare, Node
  • Content tooling: MDX, Markdoc, CMS integrations
  • Utilities: sitemap, Partytown, analytics, database helpers

This determines whether the change affects rendering mode, hydration, config shape, or build output.

2. Prefer the official Astro path

Use astro add when an official integration supports it:

npx astro add react
npx astro add tailwind
npx astro add netlify

If the integration is community-maintained, install it with the project package manager and wire it into astro.config.* manually.

Before finalizing, verify the current setup in the official Astro docs or the integration README, especially when Astro or the integration recently changed versions.

If the project is also upgrading Astro itself, upgrade Astro and official integrations together. For Astro 6, confirm the environment is running Node 22.12.0 or newer before treating integration issues as application bugs.

3. Configure Astro deliberately

When editing astro.config.*:

  • add integrations explicitly and keep the array readable
  • set output only when the adapter or runtime requires it
  • avoid enabling server output unless the feature actually needs request-time work
  • preserve existing config ordering unless the integration docs require a specific sequence

Example:

import { defineConfig } from 'astro/config'
import react from '@astrojs/react'

export default defineConfig({
  integrations: [react()],
})

4. Handle framework components with restraint

When adding React, Vue, or another UI framework:

  • prefer .astro for static content
  • keep framework components for interactive islands
  • choose the lightest client directive that satisfies the UX

Hydration guidance:

  • client:visible for below-the-fold or deferred UI
  • client:idle for non-critical enhancements
  • client:load only for immediately interactive UI
  • client:only only when skipping server rendering is intentional

5. Finish the surrounding setup

Do not stop at package installation. Check for:

  • stylesheet imports or entrypoints
  • environment variables
  • config files such as tailwind.config.*
  • adapter-specific output requirements
  • platform deployment settings

For Tailwind v4, the minimum setup is often just:

@import "tailwindcss";

and importing that stylesheet from a shared layout or entrypoint.

6. Validate the result

After setup:

  • confirm the integration is registered in astro.config.*
  • run the project checks that make sense for the repo, such as astro check, astro build, or the existing test suite
  • confirm the deployment/runtime environment still matches the adapter requirements after major Astro upgrades
  • inspect for hydration mismatches, missing styles, or adapter/runtime drift

Common Failure Modes

  • Package installed but not added to integrations
  • Adapter added without matching output
  • Styles present but never imported
  • Framework component added where a plain .astro component would be simpler
  • Overuse of client:load, increasing JavaScript cost

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

Habilidades Relacionadas