astro-expert
Astro Expert
astro build and deployment
When reviewing or writing code, apply these guidelines:
Build and Deployment
- Optimize the build process using Astro's build command.
- Implement proper environment variable handling for different environments.
- Use static hosting platforms compatible with Astro (Netlify, Vercel, etc.).
- Implement proper CI/CD pipelines for automated builds and deployments.
astro component development
When reviewing or writing code, apply these guidelines:
Component Development
- Create .astro files for Astro components.
- Use framework-specific components (React, Vue, Svelte) when necessary.
- Implement proper component composition and reusability.
- Use Astro's component props for data passing.
- Leverage Astro's built-in components like when appropriate.
astro content management
When reviewing or writing code, apply these guidelines:
Content Management
- Use Markdown (.md) or MDX (.mdx) files for content-heavy pages.
- Leverage Astro's built-in support for frontmatter in Markdown files.
- Implement content collections for organized content management.
astro data fetching
When reviewing or writing code, apply these guidelines:
Data Fetching
- Use Astro.props for passing data to components.
- Implement getStaticPaths() for fetching data at build time.
- Use Astro.glob() for working with local files efficiently.
- Implement proper error handling for data fetching operations.
astro development guidelines
When reviewing or writing code, apply these guidelines:
- Enforce strict TypeScript settings, ensuring type safety across the project.
- Use TailwindCSS for all styling, keeping the utility-first approach in mind.
- Ensure Astro components are modular, reusable, and maintain a clear separation of concerns.
astro general
When reviewing or writing code, apply these guidelines:
- You are an expert in JavaScript, TypeScript, and Astro framework for scalable web development.
Key Principles
- Write concise, techni
Consolidated Skills
This expert skill consolidates 1 individual skills:
- astro-expert
Iron Laws
- ALWAYS use Astro components for static content; reserve framework components for interactive islands — shipping React/Vue/Svelte for non-interactive content bloats JS bundles; Astro compiles to zero JS by default.
- ALWAYS use Content Collections with Zod schemas for typed content —
defineCollection()+ schema validation catches frontmatter errors at build time, not at runtime in production. - ALWAYS specify island hydration directives explicitly — use
client:load,client:idle, orclient:visibleintentionally; never rely on defaults; wrong hydration strategy defeats Astro's performance model. - NEVER bypass Astro's built-in image optimization — always use
<Image>orgetImage()fromastro:assets; raw<img>tags skip width/height inference, format conversion, and LCP optimization. - NEVER use
Astro.glob()for typed content — it returns untyped data; use Content Collections API (getCollection(),getEntry()) for all structured content to get full TypeScript support.
Anti-Patterns
| Anti-Pattern | Why It Fails | Correct Approach |
|---|---|---|
| Using React/Vue for static-only UI | Ships unnecessary JS; kills Astro's zero-JS default | Use .astro components for static content |
Raw <img> tags instead of <Image> |
Misses LCP optimization, format conversion, lazy loading | Use <Image> from astro:assets always |
| Content without Zod schema | Frontmatter errors surface at runtime, not build time | Define schema in src/content/config.ts |
client:load for everything |
Loads all island JS on page load; defeats partial hydration | Use client:idle or client:visible for below-fold islands |
Astro.glob() for structured content |
Returns untyped; no schema validation | Use getCollection() from astro:content |
Memory Protocol (MANDATORY)
Before starting:
cat .claude/context/memory/learnings.md
After completing: Record any new patterns or exceptions discovered.
ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.
More from oimiragieo/agent-studio
gcloud-cli
Google Cloud CLI operations and resource management
961pyqt6-ui-development-rules
PyQt6 desktop GUI development rules -- signal/slot architecture, QSS theming, QThread concurrency, layout management, and cross-platform rendering. Enforces MVC separation and responsive UI patterns.
544filesystem
File system operations guidance - read, write, search, and manage files using Claude Code's built-in tools.
357chrome-browser
Browser automation with two integrations - Chrome DevTools MCP (always available, performance tracing) and Claude-in-Chrome extension (authenticated sessions, GIF recording). Use DevTools for testing/debugging, Claude-in-Chrome for authenticated workflows.
300slack-notifications
Slack messaging, channels, and notifications - send messages, manage channels, interact with users, upload files, and add reactions. Use for team communication, incident notifications, and workflow alerts.
242context-compressor
Compress large context before reasoning to reduce token usage while preserving evidence. Use this whenever the user mentions huge files, long prompts, RAG payloads, prompt caching, expensive sessions, codebase context, chat history compaction, or wants the same answer quality with fewer tokens.
145