Skillshub nextjs-pages-router
Legacy routing, getServerSideProps conventions, and strict architectural constraints. Use when working in a Pages Router project with getServerSideProps, getStaticProps, or _app in Next.js. (triggers: pages/**/*.tsx, pages/**/*.ts, Pages Router, getServerSideProps, getStaticProps, _app, useRouter)
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/HoangNguyen0403/agent-skills-standard/nextjs-pages-router" ~/.claude/skills/comeonoliver-skillshub-nextjs-pages-router && rm -rf "$T"
manifest:
skills/HoangNguyen0403/agent-skills-standard/nextjs-pages-router/SKILL.mdsource content
Next.js Pages Router (Legacy)
Priority: P0 (CRITICAL)
[!IMPORTANT] The project uses Next.js Pages Router (
directory). Do NOT use App Router features.pages/
Implementation Guidelines
- Routing Architecture: Use the
directory. Usepages/
for global state/layouts and_app.tsx
for custom HTML attributes. Define dynamic routes using brackets_document.tsx
or catch-all[id].tsx
.[...slug].tsx - Data Fetching (SSR/SSG): Use
(for every request) orgetServerSideProps
(at build time) withgetStaticProps
for dynamic routes. Export these as standalonegetStaticPaths
functions.async - Logic Isolation: Never
your ownfetch
endpoints from Server-Side hooks. Import the service layer or DB logic directly./api - Client Hooks: Use
fromuseRouter()
for navigation and access to query params. Usenext/router
orrouter.push()
for client-side routing.<Link> - APIs: Implement API Routes in
for server-only logic or webhooks. Standardize responses with appropriate HTTP status codes.pages/api/ - Next.js 15+ Compatibility: Be cautious of Next.js 15 upgrades; ensure all
return objects that match the expectedgetServerSideProps
.PageProps - Styling: Standardize via CSS Modules (
) or Tailwind CSS. Avoid global CSS unless imported in*.module.css
._app.tsx