원클릭으로
migrate-component
Migrate a legacy frontend React component from quotevote-monorepo to quotevote-next Next.js 16 TypeScript frontend
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Migrate a legacy frontend React component from quotevote-monorepo to quotevote-next Next.js 16 TypeScript frontend
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | migrate-component |
| description | Migrate a legacy frontend React component from quotevote-monorepo to quotevote-next Next.js 16 TypeScript frontend |
| argument-hint | ["component-name"] |
You are migrating a React component from the legacy React 17/Vite/MUI frontend to the new Next.js 16/TypeScript/shadcn/ui frontend.
Read the legacy reference doc at .claude/skills/migrate-component/legacy-client-reference.md and find the component named $ARGUMENTS. Understand:
If the component is not found in the reference doc, read the legacy source directly at /Users/mattpolini/Documents/quotevote-monorepo/client/src/ to find it.
Search quotevote-frontend/src/ to see:
src/components/, src/app/components/, src/app/)src/graphql/src/store/src/types/src/hooks/If the component already exists, read it to understand what's already been migrated and what's missing or stubbed.
Apply these transformations from legacy → new:
useRouter, usePathname, useSearchParams from next/navigation)<Link> from react-router-dom → <Link> from next/linksrc/app/ directoryuseSelector(state => state.user) → useAppStore(state => state.user) from @/storeuseDispatch() + dispatch(action) → Zustand store actions directlysrc/store/useAppStore.ts)makeStyles() / JSS → Tailwind CSS classes@/components/ui/src/types/ (use @/types/ alias)interface for component propsany'use client' unless needed)'use client' only for: hooks, event handlers, browser APIs, Apollo Client hooks@/ path aliases for all imports (never relative imports)Produce:
src/types/src/components/src/app/components/src/components/ui/src/app/[route]/page.tsxsrc/hooks/src/graphql/src/__tests__/components/ with .test.tsx extensionsrc/store/After generating the code:
pnpm type-check in quotevote-frontend/ to verify typespnpm test to verify tests passpnpm lint to check for lint issuesMigrate a legacy backend GraphQL resolver from quotevote-monorepo to quotevote-next TypeScript backend
Show migration progress by comparing legacy quotevote-monorepo against current quotevote-next implementation