Skip to content
Back to skills

Solid Astro

ASecurity

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.

  • 29 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 28, 2026
ai-agentstypescriptapidocumentation

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 11 files and shows the line behind each finding

Scanned May 28, 2026

npx -y skills add fusengine/agents --skill solid-astro --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Solid Astro?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Solid Astro
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fusengine-solid-astro/badge)](https://www.skillsdirectory.com/skills/fusengine-solid-astro)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: solid-astro
description: 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.
versions:
  astro: "6"
user-invocable: true
references: references/solid-principles.md, references/file-limits.md, references/interfaces.md, references/architecture.md, references/dry-enforcement.md, references/jsdoc.md, references/templates/component.md, references/templates/layout.md, references/templates/service.md, references/templates/interface.md
related-skills: astro-6, astro-content, astro-styling, astro-i18n
---

# SOLID Astro — Modular Architecture

## Agent Workflow (MANDATORY)

Before ANY implementation, use `TeamCreate` to spawn 3 agents:

1. **fuse-ai-pilot:explore-codebase** - Analyze project structure, naming, and existing patterns
2. **fuse-ai-pilot:research-expert** - Verify Astro 6 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

| Topic | Reference | When to Consult |
|-------|-----------|-----------------|
| SOLID principles | [solid-principles.md](references/solid-principles.md) | Architecture decisions |
| File limits | [file-limits.md](references/file-limits.md) | When and how to split files |
| Interfaces | [interfaces.md](references/interfaces.md) | TypeScript type organization |
| Architecture | [architecture.md](references/architecture.md) | Directory structure |
| DRY enforcement | [dry-enforcement.md](references/dry-enforcement.md) | Avoiding duplication |
| JSDoc | [jsdoc.md](references/jsdoc.md) | Documentation standards |

### Templates

| Template | When to Use |
|----------|-------------|
| [component.md](references/templates/component.md) | Astro component with props + JSDoc |
| [layout.md](references/templates/layout.md) | Layout component with slots |
| [service.md](references/templates/service.md) | Data fetching service function |
| [interface.md](references/templates/interface.md) | TypeScript 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

Files in this skill

  • SKILL.md3.5 KB
  • references/architecture.md2.6 KB
  • references/dry-enforcement.md2.1 KB
  • references/file-limits.md2 KB
  • references/interfaces.md1.9 KB
  • references/jsdoc.md2.4 KB
  • references/solid-principles.md2.1 KB
  • references/templates/component.md1.8 KB
  • references/templates/interface.md1.7 KB
  • references/templates/layout.md1.8 KB
  • references/templates/service.md1.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…