solid-astro

SkillFiles & storage

Use 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.

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:

  1. fuse-ai-pilot:explore-codebase - Analyze project structure, naming, and existing patterns
  2. fuse-ai-pilot:research-expert - Verify Astro 7 architecture best practices via Context7/Exa
  3. 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:

  1. Explore src/ directory to understand existing architecture
  2. Read existing similar files to follow established naming and patterns
  3. Grep for similar function/component names before creating new ones
  4. Identify where interfaces, utilities, and shared logic live

DRY Enforcement (MANDATORY)

Before writing ANY new code:

  1. Grep for similar logic — function names, class patterns, component names
  2. Check src/lib/ for existing utilities
  3. Check src/components/ for existing UI components
  4. If logic appears in 2+ places → extract to src/lib/
  5. 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

TopicReferenceWhen to Consult
SOLID principlessolid-principles.mdArchitecture decisions
File limitsfile-limits.mdWhen and how to split files
Interfacesinterfaces.mdTypeScript type organization
Architecturearchitecture.mdDirectory structure
DRY enforcementdry-enforcement.mdAvoiding duplication
JSDocjsdoc.mdDocumentation standards

Templates

TemplateWhen to Use
component.mdAstro component with props + JSDoc
layout.mdLayout component with slots
service.mdData fetching service function
interface.mdTypeScript interface file

Forbidden

  • Files > 100 lines (split at 90)
  • TypeScript interfaces in component .astro files
  • 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
  • any TypeScript type

Signals

GitHub stars
25
Forks
4
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
solid-astro
Source
github.com/fusengine/agents