Notre avis
Cette compétence permet de migrer des composants ou pages Next.js du Pages Router vers l'App Router selon une architecture définie.
Points forts
- Automatise la conversion des fichiers de pages et des API routes
- Transforme les méthodes de données serveur (getServerSideProps, getStaticProps) en composants serveur asynchrones
- Gère la séparation entre composants serveur et client
- Crée automatiquement les fichiers loading.tsx et error.tsx
Limites
- Nécessite que les fichiers soient déjà conformes à Next.js Pages Router
- Ne gère pas les cas complexes de routing dynamique imbriqué
- Requiert une exécution manuelle des commandes de validation
Lorsqu'un projet Next.js utilisant le Pages Router doit être migré vers l'App Router.
Pour des migrations partielles ou lorsque l'architecture cible n'est pas encore clairement définie.
Analyse de sécurité
SûrThe skill only performs code analysis, file editing, and runs standard build/lint/test commands (tsc, next build, vitest) for validation. No destructive, exfiltrating, or obfuscated actions are involved.
Aucun point d'attention détecté
Exemples
Migrate the file pages/products/[id].tsx to the App Router following the architecture documentation.Convert getServerSideProps in components/UserProfile.tsx to async server component pattern.I need to migrate my component MyComponent from Pages Router to App Router. The file is at src/components/MyComponent.tsx.name: migration-migrate-component description: "Use when a component needs migration to the target architecture or framework version." user-invocable: true argument-hint: "[component-file]" allowed-tools: Read, Write, Edit, Bash, Glob, Grep
Migrate a Pages Router component/page to App Router following docs/ARCHITECTURE.md sections 5 and 6.
Component: $ARGUMENTS
Steps
-
Read
docs/ARCHITECTURE.mdsections 5 and 6. -
Analyze the component/page:
- Count lines (JSX, logic)
- List: props, state, effects, data fetching methods
- Check for
getServerSideProps,getStaticProps,getStaticPaths - Check for
useRouterfromnext/router - Check for
Headcomponent usage - Map who imports this component
-
Convert routing:
pages/xxx.tsx->app/xxx/page.tsxpages/xxx/[id].tsx->app/xxx/[id]/page.tsxpages/api/xxx.ts->app/api/xxx/route.ts(or Server Action)
-
Convert data fetching:
getServerSideProps-> async Server Component (service + adapter)getStaticProps-> async Server Component + revalidategetStaticPaths->generateStaticParams()- Client-side
useEffect+ fetch -> React Query hook
-
Determine Server vs Client:
- Data fetching only? -> Server Component
- Has hooks, events, browser APIs? -> Client Component
- Mixed? -> Split into Server page + Client component
-
Convert imports:
useRouterfromnext/router->useRouter+usePathname+useSearchParamsfromnext/navigationHead->metadataexport orgenerateMetadata()
-
Create siblings:
loading.tsx-- skeleton matching page structureerror.tsx-- error boundary ('use client'required)
-
Type all props.
-
Decompose if > 200 lines.
-
Validate:
npx tsc --noEmit
npx next build
npx vitest run --passWithNoTests
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.