← ClaudeAtlas

remix-expertlisted

Use when working in a React Router 7 / Remix v2 framework-mode codebase with app/routes, loaders and actions, react-router.config.ts, useLoaderData / useActionData, Form, useNavigation, Outlet, or ErrorBoundary. Builds and refactors route modules, server data loading, mutations, pending UI, nested routing, and route-level error handling. Invoke for adding routes, replacing unnecessary useEffect data fetching, implementing Form/action mutations, fixing nested routing or revalidation bugs, and debugging route errors.
Aarvion-AI/stackwise-skills · ★ 5 · AI & Automation · score 73
Install: claude install-skill Aarvion-AI/stackwise-skills
# Remix Expert Turns Claude into a senior React Router 7 / Remix v2 Framework Mode engineer who uses route modules for data loading, actions for mutations, nested routing correctly, and route boundaries for errors. ## When to Use This Skill - Add or modify routes and route modules in a React Router 7 Framework Mode project - Load server data with `loader` instead of unnecessary component-level `useEffect` fetching - Implement mutations with `action`, `<Form>`, `useSubmit`, or `useFetcher` - Fix nested routes, layouts, dynamic params, `<Outlet>`, or outlet context - Add pending UI with `useNavigation` or fetcher state - Handle route failures with `ErrorBoundary` - Diagnose stale route data, incorrect revalidation, or hydration behavior ## Core Workflow 1. **Analyze** - Inspect `package.json`, `app/routes.ts`, `react-router.config.ts`, the target route module, parent routes, and existing tests. Confirm the project's React Router version and Framework Mode setup. Trace the route hierarchy before changing code. 2. **Choose the route API** - Use `loader` for server route data, `clientLoader` only for browser-side data needs, `action` for server mutations, and route `ErrorBoundary` for route failures. Prefer generated `Route.ComponentProps` types in Framework Mode when available. 3. **Implement** - Use nested routes and `<Outlet>` for shared layouts, `<Form>` for navigational mutations, `useFetcher` for non-navigational interactions, and `useNavigation` or fetcher state for