skills/nextjs/nextjs-pages-router/SKILL.md
Implement Pages Router data fetching with getServerSideProps, getStaticProps, and API routes in Next.js legacy projects. Use when working in a pages/ directory project, adding SSR/SSG data fetching, or creating API routes.
npx skillsauth add hoangnguyen0403/agent-skills-standard nextjs-pages-routerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
[!IMPORTANT] project uses Next.js Pages Router (
pages/directory). NOT use App Router features.
pages/posts/[id].tsx.getServerSideProps or getStaticProps + getStaticPaths./api routes from server-side hooks.InferGetServerSidePropsType<typeof getServerSideProps>.See implementation examples
pages/ directory. Use _app.tsx for global state/layouts and _document.tsx for custom HTML attributes. Define dynamic routes using brackets [id].tsx or catch-all [...slug].tsx.getServerSideProps (for every request) or getStaticProps (at build time) with getStaticPaths for dynamic routes. Export these as standalone async functions.fetch your own /api endpoints from Server-Side hooks. Import service layer or DB logic directly.useRouter() from next/router for navigation and access to query params. Use router.push() or <Link> for client-side routing.pages/api/ for server-only logic or webhooks. Standardize responses with appropriate HTTP status codes.getServerSideProps return objects that match expected PageProps.*.module.css) or Tailwind CSS. Avoid global CSS unless imported in _app.tsx.app/ directory patterns.testing
Infer the requesting operator's technical fluency from message content (never ask directly) and adapt register — business, hybrid, or technical — across SDLC workflow output. Use when starting sdlc, brainstorm-feature, plan-feature, verify-work, publish-notes, or session-report, or whenever a request's phrasing signals a non-technical or cross-stack operator.
documentation
Define transaction boundaries, locking, and consistency guarantees for multi-step writes. Use when designing atomic operations, retries, idempotency, or concurrent write behavior.
development
Design relational or document schemas from access patterns, cardinality, and lifecycle. Use when modeling entities, choosing embed vs normalize, or shaping schema boundaries before implementation.
data-ai
Diagnose database latency with explain plans, index ownership, and query-shape review. Use when a query is slow, an index is missing, or scans and N+1 patterns appear.