2
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill fusengine/agents --skill solid-nextjs- SKILL.md6.8 KB
Overview
This skill enforces SOLID-driven, modular Next.js architecture with strict file-size rules, mandatory JSDoc, and separated interfaces. It guides developers to research current docs before coding, reuse shared core modules, and follow explicit project workflows for agent-led validation. The goal is predictable, testable, and extensible TypeScript code for Next.js projects.
How this skill works
The skill inspects requests for SOLID, Next.js architecture, modular structure, file-size limits, interface separation, and JSDoc requirements, then returns actionable guidance, templates, and enforcement rules. It prescribes a research-first workflow (Context7, Exa, Vercel blog), codebase analysis steps, and a three-agent workflow to explore, research, and validate changes. It also provides concrete file layout, line limits, and template references.
When to use it
- Designing or refactoring Next.js apps to follow SOLID and modular patterns
- Creating new features that will be reused across modules or cores
- Enforcing code hygiene: JSDoc, separated interfaces, and file-size constraints
- Preparing code for dependency injection, testing, and clear contracts
- Validating architecture choices against current Next.js/React/TypeScript best practices
Best practices
- Always research current-year docs (Context7 + Exa + Vercel) before implementing
- Search existing code and reuse modules under modules/cores/ when relevant
- Keep files below limits (split at ~90 lines; specific caps for pages/components/actions)
- Place types in interfaces/ directories only; never mix types into services or components
- Document all exported functions/types with JSDoc and avoid any usage
- Prefer composition and abstractions (DI, factories, adapters) to mutate-free extension
Example use cases
- Create a feature module with separated interfaces, services, and small page components (<50 lines)
- Refactor a monolithic service into a provider + adapter pattern so new implementations plug in without modification
- Add a server action with validation using the provided action template and keep it under 30 lines
- Implement a shared core utility in modules/cores/lib/ to be consumed by two or more features
- Validate a proposed change by running the prescribed agent workflow and final sniper validation
FAQ
Split it into focused units following the single-responsibility guide: pages, components, services, and interfaces. Aim to refactor into modules/cores when shared.
Where should types live?
Always place types in an interfaces/ folder inside the feature module. Do not include types in services, components, or pages.