Solid astro
Skill fusengine/agents/plugins/astro-expert/skills/solid-astro
Use when applying SOLID principles and clean architecture to Astro projects. Enforces files < 100 lines, src/interfaces/ for types, JSDoc on all exports, modular directory structure, and DRY enforcement.From its SKILL.md
npx -y skills add fusengine/agents --skill solid-astroAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 22 stars22 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.5 KB, 674 tokens by cl100k_base, as published. Nobody here has run it
SOLID Astro — Modular Architecture
Agent Workflow (MANDATORY)
Before ANY implementation, use TeamCreate to spawn 3 agents:
- 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
What ships with it: 10 files
20.7 KB alongside SKILL.md
references/
- architecture.md2.6 KB
- dry-enforcement.md2.2 KB
- file-limits.md2.0 KB
- interfaces.md2.0 KB
- jsdoc.md2.5 KB
- solid-principles.md2.1 KB
- templates/component.md1.9 KB
- templates/interface.md1.7 KB
- templates/layout.md1.8 KB
- templates/service.md1.9 KB