This skill should be used when the user asks about "SOLID principles", "Next.js architecture", "modular structure", "code organization", "file size limits", "interface separation", or "JSDoc documentation". Enforces files < 100 lines with mandatory JSDoc and separated interfaces.
From fuse-nextjsnpx claudepluginhub fusengine/agents --plugin fuse-nextjsThis skill uses the workspace's default tool permissions.
references/architecture-patterns.mdreferences/dependency-inversion.mdreferences/interface-segregation.mdreferences/liskov-substitution.mdreferences/open-closed.mdreferences/single-responsibility.mdreferences/solid-principles.mdreferences/templates/action.mdreferences/templates/adapter.mdreferences/templates/api-route.mdreferences/templates/client-component.mdreferences/templates/error.mdreferences/templates/factory.mdreferences/templates/hook.mdreferences/templates/i18n.mdreferences/templates/interface.mdreferences/templates/middleware.mdreferences/templates/prisma.mdreferences/templates/query.mdreferences/templates/server-component.mdDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Today: January 2026 - ALWAYS use the current year for your searches. Search with "2025" or "2026", NEVER with past years.
CRITICAL: Check today's date first, then search documentation and web BEFORE writing any code.
Search queries (replace YYYY with current year):
Next.js [feature] YYYY best practicesReact 19 [component] YYYYTypeScript [pattern] YYYYPrisma 7 [feature] YYYYBefore ANY implementation:
Before writing ANY new code:
modules/cores/lib/, modules/cores/components/, modules/cores/hooks/modules/cores/ directlynpx jscpd ./src --threshold 3 after creating new filesBefore ANY implementation, use TeamCreate to spawn 3 agents:
After implementation, run fuse-ai-pilot:sniper for validation.
See references/architecture-patterns.md for complete structure with feature modules and cores directory.
/**
* Fetch user by ID from database.
*
* @param id - User unique identifier
* @returns User object or null if not found
* @throws DatabaseError on connection failure
*/
export async function getUserById(id: string): Promise<User | null>
modules/auth/src/
├── interfaces/ # Types ONLY
│ ├── user.interface.ts
│ └── session.interface.ts
├── services/ # NO types here
└── components/ # NO types here
Each SOLID principle has a dedicated reference guide:
references/single-responsibility.md - One class/function = one reason to change
references/open-closed.md - Extend via composition, not modification
references/liskov-substitution.md - Contract compliance & behavioral subtyping
references/interface-segregation.md - Many focused interfaces beat one fat interface
references/dependency-inversion.md - Depend on abstractions, not implementations
See references/solid-principles.md for overview and quick reference.
Ready-to-copy code in references/templates/:
| Template | Usage |
|---|---|
server-component.md | Server Component with data fetching |
client-component.md | Client Component with hooks |
service.md | Service with dependency injection |
hook.md | React hook with state |
interface.md | TypeScript interfaces |
store.md | Zustand store with persistence |
action.md | Server Action with validation |
api-route.md | API Route Handler |
validator.md | Zod validation schemas |
factory.md | Factory pattern |
adapter.md | Adapter pattern |
error.md | Custom error classes |
test.md | Test templates |
middleware.md | Auth middleware |
prisma.md | Prisma singleton |
i18n.md | Feature/global translations |
query.md | Database queries (Prisma 7) |
anyapp/ pages'use client' by defaultuseEffect for data fetchingany type