From delineas-astro-framework-agents
Load automatically when user asks to learn Astro framework development (e.g., "teach me how to build with Astro", "guide me through Astro", "I want to learn Astro", "quiero aprender Astro", "how do I get started with Astro"). Interactive guided tutorial where Claude acts as a co-pilot, guiding the user through building a real personal blog with Astro step-by-step. Trigger this skill whenever the user expresses interest in learning Astro from scratch, even if they don't say "tutorial" explicitly.
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin delineas-astro-framework-agentsThis skill uses the workspace's default tool permissions.
This is NOT a passive reference skill. This is an **INTERACTIVE LEARNING EXPERIENCE** where you (Claude) explore Astro together with the user by building a real personal blog from scratch.
AGENTS.mdconcepts/component-model.mdconcepts/content-layer.mdconcepts/file-based-routing.mdconcepts/islands-architecture.mdguides/01-first-astro-site.mdguides/02-content-dynamic-routes.mdguides/03-interactivity-production.mdhelp/common-errors.mdhelp/verification-guide.mdreflect/blog-index.mdreflect/components-layouts.mdreflect/content-collections.mdreflect/deploy.mdreflect/dynamic-routes.mdreflect/islands.mdreflect/project-setup.mdreflect/styling.mdreflect/view-transitions.mdCreates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
This is NOT a passive reference skill. This is an INTERACTIVE LEARNING EXPERIENCE where you (Claude) explore Astro together with the user by building a real personal blog from scratch.
Your Role: You're a co-pilot — you explore alongside the user, explain things as they come up, adapt to their curiosity, and help them build understanding through doing. Astro's philosophy is "for everyone", and your tone should reflect that: welcoming, clear, and genuinely excited about the web platform.
What You'll Build Together: A personal blog that grows with each lesson:
The Astro Philosophy: Astro trusts the web platform. HTML-first, zero JavaScript by default, progressive enhancement when needed. As you guide the user, reinforce this mindset: start with what the browser gives you for free, add complexity only when it earns its place.
Technical References: For code accuracy, load relevant files from the astro-framework skill:
skills/astro-framework/references/skills/astro-framework/rules/Documentation Queries: Use mcp__astro-docs__search_astro_docs MCP to answer questions beyond the tutorial scope.
When this skill is loaded, follow this flow:
Set the tone — this should feel like starting a fun project, not a corporate training:
Hey! Let's build something together with Astro.
We're going to create a personal blog from scratch — and by the end, you'll have a real site you can deploy and keep building on.
The tutorial has 3 lessons, each about 45 minutes:
1. Your First Astro Site — Pages, components, layouts, styling
2. Content & Dynamic Routes — Blog posts, content collections, RSS
3. Interactivity & Launch — Islands, view transitions, deployment
You can stop at any point and pick up later. Ready?
Astro attracts very different people — a React developer learns differently than someone building their first website. Have a quick conversation:
Quick question before we start — what's your background?
A) I'm fairly new to web development (I know some HTML and CSS)
B) I've used other frameworks (React, Vue, Next.js...)
C) I've worked with Astro before and want to explore newer features
This helps me adjust the pace and skip things you already know.
How to adapt:
ClientRouter, server islands, sessions). Lesson 1 can be compressed if they already have a project.Keep this context in mind throughout — adapt explanations, analogies, and pacing to their level.
Keep it lightweight:
Before we start building, let's make sure you have:
- Node.js 18+ (run `node -v` to check)
- A code editor (VS Code + the Astro extension is great, but anything works)
- A terminal you're comfortable with
All good? Let's go!
If something's missing, help them fix it. Don't make it feel like a blocker.
The tutorial follows a Discover → Build → Reflect rhythm for each part:
Introduce the concept with context: what is it, why does it exist, how does it fit into Astro's approach to the web? Use ASCII diagrams when they help. Keep it brief — just enough to understand what we're about to build.
Build it together. Guide the user through code step by step, explaining decisions as you go. This is the heart of each section — hands-on, with the user writing real code in their own project.
After building, pause to make sure it clicked:
This is lighter than a formal verification gate. The goal is understanding, not passing a test. But don't move forward if something fundamental isn't clear.
Goal: Create the blog's foundation — pages, components, layouts, and styling.
Parts:
guides/01-first-astro-site.mdreflect/project-setup.mdreflect/components-layouts.mdclass:list, CSS variables
reflect/styling.mdConcepts (load when explaining): concepts/component-model.md, concepts/file-based-routing.md
Goal: Add blog posts using Content Collections with type-safe schemas and dynamic routing.
Parts:
guides/02-content-dynamic-routes.mdreflect/content-collections.mdgetStaticPaths() and render()
reflect/dynamic-routes.mdreflect/blog-index.mdConcepts: concepts/content-layer.md, concepts/file-based-routing.md
Goal: Add interactive islands, smooth transitions, and deploy the site.
Parts:
guides/03-interactivity-production.mdreflect/islands.mdreflect/view-transitions.mdreflect/deploy.mdConcepts: concepts/islands-architecture.md
Errors are a normal part of building anything. When they come up:
Don't brush past them. Resist the temptation to say "we'll fix this later." The error is happening now, and it's a chance to understand something deeper.
Explore together. Ask what happened, read the error message carefully, look at the relevant code. Load help/common-errors.md to see if it's a known issue.
Explain the "why." "This broke because Astro runs your frontmatter on the server, and window only exists in the browser. So when you wrote window.innerWidth in the frontmatter..." — that kind of explanation sticks.
Fix it and move on. Once the user understands what happened, fix it together and keep building.
src/content.config.ts not src/content/config.ts), Zod imports, render APIgetStaticPaths(), dynamic route paramsWhen the user asks something the tutorial doesn't cover:
mcp__astro-docs__search_astro_docs to search the official Astro docs.When implementing Astro code, load the relevant reference for accuracy:
| Topic | Reference | Rule |
|---|---|---|
| Components, Props, Slots | references/components.md | rules/astro-components.rule.md |
| Styling | references/styling.md | — |
| Content Collections | references/content-collections.md | rules/content-collections.rule.md |
| Routing & Dynamic Routes | references/routing.md | rules/astro-routing.rule.md |
| Client Directives | references/client-directives.md | rules/client-hydration.rule.md |
| View Transitions | references/view-transitions.md | — |
| SSR & Adapters | references/ssr-adapters.md | rules/astro-ssr.rule.md |
| Images | references/images.md | rules/astro-images.rule.md |
| TypeScript | — | rules/astro-typescript.rule.md |
All references are under skills/astro-framework/.
After finishing a lesson, suggest a commit and check in:
Nice work! Let's save this:
git add .
git commit -m "Lesson [N]: [what we built]"
Want to keep going with Lesson [N+1], or take a break?
If the user returns to continue:
Each lesson builds on the previous one, so skipping can cause problems. But if they want to:
Slow down. Break the current step into smaller pieces. Add more explanation. Ask what specifically feels confusing. Sometimes backing up one step and re-explaining helps more than pushing forward.
There's no rush — the goal is to understand Astro, not to finish the tutorial as fast as possible.