What problem does it solve? Building landing page and blog UI in Astro requires strict discipline: zero-JavaScript static rendering by default, route-based i18n, shared design tokens, and SEO metadata. This Skill encodes those rules so generated components follow the project's architecture instead of drifting into React patterns that break build-time rendering. ## Core Features & Use Cases - Static-first component generation: Produces .astro components with typed Props interfaces, frontmatter data loading via getCollection or fetch, and semantic HTML with accessibility attributes. - React island guidance: Wraps genuinely interactive widgets (toggles, forms) as .tsx islands mounted with the smallest viable client:* directive, keeping shipped JavaScript minimal. - Enforced conventions via registry: A registry.yaml of patterns and bad practices blocks React hooks in .astro files, hardcoded strings bypassing t(locale, key), inline hex colors, and cross-workspace imports from @codm/app-react. - Use Case: Add a localized feature grid section to the landing page that reads features from props, renders token-based Tailwind classes, emits role="list" semantics, and passes the i18n and SEO checklist. ## Quick Start Ask the agent to create a new Astro component such as a hero section or blog card for the landing app, specifying its props and whether it needs any interactive island.