/astro-developer
Comprehensive guide for developing in the Astro monorepo. Covers architecture, debugging, testing, and critical constraints. Use when working on features, fixes, tests, or understanding the codebase structure.
$ npx -y skills add managedcode/dotnet-skills --skill astro-developer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/astro-developer
Context preview
The summary Claude sees to decide when to auto-load this skill.
Comprehensive guide for developing in the Astro monorepo. Covers architecture, debugging, testing, and critical constraints. Use when working on features, fixes, tests, or understanding the codebase structure.
SKILL.md
astro-developer.SKILL.mdname: astro-developer
description: Comprehensive guide for developing in the Astro monorepo. Covers architecture, debugging, testing, and critical constraints. Use when working on features, fixes, tests, or understanding the codebase structure.
Astro Developer Skill
Context-loading skill for AI agents and developers working in the Astro monorepo. Loads relevant documentation based on your task.
Quick Decision Matrix
**What are you doing?** → **Read these files:**
| Task | Primary Docs | Supporting Docs | | -------------------------- | -------------------------------------------------------------------- | ---------------------------------- | | Adding a core feature | [architecture.md](architecture.md), [constraints.md](constraints.md) | [testing.md](testing.md) | | Fixing a bug | [debugging.md](debugging.md) | [architecture.md](architecture.md) | | Writing/fixing tests | [testing.md](testing.md) | [constraints.md](constraints.md) | | Creating an integration | Explore `packages/integrations/` for examples | [testing.md](testing.md) | | Understanding architecture | [architecture.md](architecture.md) | - | | Dealing with errors | [debugging.md](debugging.md), [constraints.md](constraints.md) | [testing.md](testing.md) | | Understanding constraints | [constraints.md](constraints.md) | [architecture.md](architecture.md) |
Critical Warnings
**Before you start, be aware of these common pitfalls:**
1. **Prefer Unit Tests**: Write unit-testable code by default. Use integration tests only when necessary → [testing.md](testing.md) 2. **Node.js API Restrictions**: Cannot use Node.js APIs in `runtime/` code → [constraints.md](constraints.md) 3. **Test Isolation**: Must set unique `outDir` for each integration test → [testing.md](testing.md) 4. **Runtime Boundaries**: Core vs Vite vs Browser execution contexts → [architecture.md](architecture.md) 5. **Prerelease Mode**: Changesets target `origin/next` branch (check `.changeset/config.json`)
Quick Command Reference
# Development
pnpm install # Install (root only)
pnpm run build # Build all packages
pnpm run dev # Watch mode
pnpm run lint # Lint codebase
# Testing
pnpm -C packages/astro exec astro-scripts test "test/**/*.test.js" # All tests
pnpm -C packages/astro exec astro-scripts test -m "pattern" # Filter tests
pnpm run test:e2e # E2E tests
node --test test/file.test.js # Single test
# Examples
pnpm --filter @example/minimal run dev # Run example
# Changesets
pnpm exec changeset --empty # Create changeset, no interactive mode
Key File Paths
packages/astro/src/
├── core/ # Node.js execution context (build/dev commands)
├── runtime/
│ ├── server/ # Vite SSR execution context
│ └── client/ # Browser execution context
├── virtual-modules/ # Virtual module entry points
├── content/ # Content layer system
├── vite-plugin-*/ # Vite plugins
└── types/ # Centralized TypeScript types
packages/integrations/ # Official integrations
examples/ # Test your changes here
test/fixtures/ # Test fixtures
**Note**: Error stack traces in `node_modules/` map to source in `packages/`. See [architecture.md](architecture.md) for details.
Usage
This skill loads relevant context—it doesn't orchestrate workflows. After loading appropriate docs:
1. Read the recommended files for your task 2. Apply the patterns and constraints described 3. Use the commands and file paths provided 4. Search docs for error messages if you encounter issues
Architecture Quick Summary
**Three Execution Contexts:**
- **core/** → Node.js, build/dev commands, avoid Node APIs except in Vite plugins
- **runtime/server/** → Vite SSR, CANNOT use Node APIs
- **runtime/client/** → Browser, CANNOT use Node APIs at all
**Five Pipeline Types:**
- **RunnablePipeline** → `astro dev` with Vite loader system
- **NonRunnablePipeline** → `astro dev` without runtime module loading (Cloudflare adapter)
- **BuildPipeline** → `astro build` + prerendering
- **AppPipeline** → Production serverless/SSR
- **ContainerPipeline** → Container API
See [architecture.md](architecture.md) for complete details.
Testing Quick Summary
**Philosophy**: Prefer unit tests over integration tests. Write unit-testable code by default.
**Unit tests** (fast, preferred):
- Test pure functions and business logic
- Extract business logic from infrastructure
- Use dependency injection
**Integration tests** (slow, use sparingly):
- Only for features that cannot be unit tested (virtual modules, full build pipeline)
- Always set unique `outDir` to avoid cache pollution
See [testing.md](testing.md) for complete patterns and examples.
When NOT to Use This Skill
- **Bug triage**: Use the `triage` skill instead
- **GitHub Actions analysis**: Use the `analyze-github-action-logs` skill
- **Simple questions**: Just ask directly, don't load this skill
Related Documentation
- Root: [/AGENTS.md](../../../AGENTS.md)
- Root: [/CONTRIBUTING.md](../../../CONTRIBUTING.md)
- Astro docs: https://docs.astro.build/
- Package: packages/astro/src/core/README.md
- Build plugins: packages/astro/src/core/build/plugins/README.md
Read more
name: astro-developer description: Comprehensive guide for developing in the Astro monorepo. Covers architecture, debugging, testing, and critical constraints. Use when working on features, fixes, tests, or understanding the codebase structure.
Astro Developer Skill
Context-loading skill for AI agents and developers working in the Astro monorepo. Loads relevant documentation based on your task.
Quick Decision Matrix
**What are you doing?** → **Read these files:**
| Task | Primary Docs | Supporting Docs | | -------------------------- | -------------------------------------------------------------------- | ---------------------------------- | | Adding a core feature | [architecture.md](architecture.md), [constraints.md](constraints.md) | [testing.md](testing.md) | | Fixing a bug | [debugging.md](debugging.md) | [architecture.md](architecture.md) | | Writing/fixing tests | [testing.md](testing.md) | [constraints.md](constraints.md) | | Creating an integration | Explore `packages/integrations/` for examples | [testing.md](testing.md) | | Understanding architecture | [architecture.md](architecture.md) | - | | Dealing with errors | [debugging.md](debugging.md), [constraints.md](constraints.md) | [testing.md](testing.md) | | Understanding constraints | [constraints.md](constraints.md) | [architecture.md](architecture.md) |
Critical Warnings
**Before you start, be aware of these common pitfalls:**
1. **Prefer Unit Tests**: Write unit-testable code by default. Use integration tests only when necessary → [testing.md](testing.md) 2. **Node.js API Restrictions**: Cannot use Node.js APIs in `runtime/` code → [constraints.md](constraints.md) 3. **Test Isolation**: Must set unique `outDir` for each integration test → [testing.md](testing.md) 4. **Runtime Boundaries**: Core vs Vite vs Browser execution contexts → [architecture.md](architecture.md) 5. **Prerelease Mode**: Changesets target `origin/next` branch (check `.changeset/config.json`)
Quick Command Reference
# Development pnpm install # Install (root only) pnpm run build # Build all packages pnpm run dev # Watch mode pnpm run lint # Lint codebase # Testing pnpm -C packages/astro exec astro-scripts test "test/**/*.test.js" # All tests pnpm -C packages/astro exec astro-scripts test -m "pattern" # Filter tests pnpm run test:e2e # E2E tests node --test test/file.test.js # Single test # Examples pnpm --filter @example/minimal run dev # Run example # Changesets pnpm exec changeset --empty # Create changeset, no interactive mode
Key File Paths
packages/astro/src/ ├── core/ # Node.js execution context (build/dev commands) ├── runtime/ │ ├── server/ # Vite SSR execution context │ └── client/ # Browser execution context ├── virtual-modules/ # Virtual module entry points ├── content/ # Content layer system ├── vite-plugin-*/ # Vite plugins └── types/ # Centralized TypeScript types packages/integrations/ # Official integrations examples/ # Test your changes here test/fixtures/ # Test fixtures
**Note**: Error stack traces in `node_modules/` map to source in `packages/`. See [architecture.md](architecture.md) for details.
Usage
This skill loads relevant context—it doesn't orchestrate workflows. After loading appropriate docs:
1. Read the recommended files for your task 2. Apply the patterns and constraints described 3. Use the commands and file paths provided 4. Search docs for error messages if you encounter issues
Architecture Quick Summary
**Three Execution Contexts:**
- **core/** → Node.js, build/dev commands, avoid Node APIs except in Vite plugins
- **runtime/server/** → Vite SSR, CANNOT use Node APIs
- **runtime/client/** → Browser, CANNOT use Node APIs at all
**Five Pipeline Types:**
- **RunnablePipeline** → `astro dev` with Vite loader system
- **NonRunnablePipeline** → `astro dev` without runtime module loading (Cloudflare adapter)
- **BuildPipeline** → `astro build` + prerendering
- **AppPipeline** → Production serverless/SSR
- **ContainerPipeline** → Container API
See [architecture.md](architecture.md) for complete details.
Testing Quick Summary
**Philosophy**: Prefer unit tests over integration tests. Write unit-testable code by default.
**Unit tests** (fast, preferred):
- Test pure functions and business logic
- Extract business logic from infrastructure
- Use dependency injection
**Integration tests** (slow, use sparingly):
- Only for features that cannot be unit tested (virtual modules, full build pipeline)
- Always set unique `outDir` to avoid cache pollution
See [testing.md](testing.md) for complete patterns and examples.
When NOT to Use This Skill
- **Bug triage**: Use the `triage` skill instead
- **GitHub Actions analysis**: Use the `analyze-github-action-logs` skill
- **Simple questions**: Just ask directly, don't load this skill
Related Documentation
- Root: [/AGENTS.md](../../../AGENTS.md)
- Root: [/CONTRIBUTING.md](../../../CONTRIBUTING.md)
- Astro docs: https://docs.astro.build/
- Package: packages/astro/src/core/README.md
- Build plugins: packages/astro/src/core/build/plugins/README.md
Stop explaining .NET to your AI. Start building. We've all been there: asking Claude to use Entity Framework, only to get EF6 patterns in a .NET 8 project. Explaining to Copilot that Blazor Server and Blazor WebAssembly aren't the same thing.
Repo: managedcode/dotnet-skills
Other skills on dotnet-skills.
- /aspnet-core
Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging, and deployment patterns on current .NET. USE FOR: working on ASP.NET Core apps, services, or middleware; changing auth, routing, configuration,
Open skill - /aspire
Build, upgrade, and operate Aspire 13.4.x C# or TypeScript application hosts with the current CLI, AppHost, ServiceDefaults, integrations, dashboard, testing, MCP, and deployment patterns for distributed apps. USE FOR: Aspire.AppHost.Sdk, Aspire.Hosting.*,
Open skill - /azure-functions
Build, review, or migrate Azure Functions in .NET with correct execution model, isolated worker setup, bindings, DI, and Durable Functions patterns. USE FOR: working on Azure Functions in .NET; migrating from the in-process model to the isolated worker model; adding Durable
Open skill - /blazor
Build and review Blazor applications across server, WebAssembly, web app, and hybrid scenarios with correct component design, state flow, rendering, and hosting choices. USE FOR: building interactive web UIs with C# instead of JavaScript; choosing between Server, WebAssembly, or
Open skill - /entity-framework6
Maintain or migrate EF6-based applications with realistic guidance on what to keep, what to modernize, and when EF Core is or is not the right next step. USE FOR: EF6 codebases; runtime versus ORM migration decisions; EDMX, code-first, ObjectContext, and legacy data-access
Open skill - /entity-framework-core
Design, tune, or review EF Core data access with proper modeling, migrations, query translation, performance, and lifetime management for modern .NET applications. USE FOR: DbContext, migrations, model configuration, EF queries, tracking, loading, performance, transactions, and
Open skill

