solid-astro
SkillFiles & storageUse when applying SOLID principles to an Astro project — file-size limits, src/interfaces/ for types, JSDoc, modular structure, DRY.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the solid-astro skill
What this skill tells your AI
The instructions your AI receives, as published by fusengine/agents in plugins/astro-expert/skills/solid-astro/SKILL.md and read by ahel’s review.
Provides ready-to-copy templates for components, layouts, services, and interfaces that already follow these rules. This is a cross-cutting code-quality skill, not a feature skill — it doesn't teach Astro APIs themselves (see astro-7, astro-content, astro-i18n, astro-styling for that), only how to structure the code that uses them.
SOLID Astro — Modular Architecture
Agent Workflow (MANDATORY)
Before ANY implementation, spawn 3 agents in parallel, one Agent call each with a name:
- fuse-ai-pilot:explore-codebase - Analyze project structure, naming, and existing patterns
- fuse-ai-pilot:research-expert - Verify Astro 7 architecture best practices via Context7/Exa
- mcp__context7__query-docs - Check Astro component API and TypeScript integration
After implementation, run fuse-ai-pilot:sniper for validation.
Codebase Analysis (MANDATORY)
Before ANY implementation:
- Explore
src/directory to understand existing architecture - Read existing similar files to follow established naming and patterns
- Grep for similar function/component names before creating new ones
- Identify where interfaces, utilities, and shared logic live
DRY Enforcement (MANDATORY)
Before writing ANY new code:
- Grep for similar logic — function names, class patterns, component names
- Check
src/lib/for existing utilities - Check
src/components/for existing UI components - If logic appears in 2+ places → extract to
src/lib/ - If types appear in 2+ files → move to
src/interfaces/
Absolute Rules
- Files < 100 lines — split at 90
- All types in
src/interfaces/— never in component files - JSDoc mandatory on all exported functions
- No business logic in
src/pages/
See references/architecture.md, references/file-limits.md, references/solid-principles.md.
Reference Guide
Concepts
| Topic | Reference | When to Consult |
|---|---|---|
| SOLID principles | solid-principles.md | Architecture decisions |
| File limits | file-limits.md | When and how to split files |
| Interfaces | interfaces.md | TypeScript type organization |
| Architecture | architecture.md | Directory structure |
| DRY enforcement | dry-enforcement.md | Avoiding duplication |
| JSDoc | jsdoc.md | Documentation standards |
Templates
| Template | When to Use |
|---|---|
| component.md | Astro component with props + JSDoc |
| layout.md | Layout component with slots |
| service.md | Data fetching service function |
| interface.md | TypeScript interface file |
Forbidden
- Files > 100 lines (split at 90)
- TypeScript interfaces in component
.astrofiles - Business logic in
src/pages/files - Direct CMS/API calls in components (use
src/lib/services) - Copy-pasting logic instead of extracting shared function
- Missing JSDoc on exported functions, components, and types
anyTypeScript type
Signals
- GitHub stars
- 25
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
solid-astro- Source
- github.com/fusengine/agents