Install
$ agentstack add skill-alexmikhalev-claude-code-continuous-learning-skill-nextjs-server-side-error-debugging ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Next.js Server-Side Error Debugging
Problem
Server-side errors in Next.js don't appear in the browser console, making debugging frustrating when you're looking in the wrong place. The browser shows a generic error page or 500 status, but no stack trace or useful error information appears in DevTools.
Context / Trigger Conditions
This skill applies when:
- Page displays "Internal Server Error" or custom error page
- Browser console shows no errors, or only a generic fetch failure
- You're using
getServerSideProps,getStaticProps, or API routes - Error only occurs on page refresh or direct navigation (not client-side transitions)
- The error is intermittent and hard to reproduce in the browser
Common misleading symptoms:
- "Unhandled Runtime Error" modal that doesn't show the real cause
- Network tab shows 500 but response body is empty or generic
- Error disappears when you add console.log (timing issue)
Solution
Step 1: Check the Terminal
The actual error with full stack trace appears in the terminal where npm run dev or next dev is running. This is the first place to look.
# If you don't see the terminal, find the process
ps aux | grep next
# Or restart with visible output
npm run dev
Step 2: Add Explicit Error Handling
For persistent debugging, wrap server-side code with try-catch:
export async function getServerSideProps(context) {
try {
const data = await fetchSomething();
return { props: { data } };
} catch (error) {
console.error('getServerSideProps error:', error);
// Return error state instead of throwing
return { props: { error: error.message } };
}
}
Step 3: For Production Errors
Check your hosting provider's logs:
- Vercel: Dashboard → Project → Logs (Functions tab)
- AWS: CloudWatch Logs
- Netlify: Functions tab in dashboard
- Self-hosted: Check your Node.js process logs
Step 4: Common Causes
- Environment variables: Missing in production but present locally
- Database connections: Connection string issues, cold starts
- Import errors: Server-only code accidentally imported on client
- Async/await: Missing await on async operations
- JSON serialization: Objects that can't be serialized (dates, functions)
Verification
After checking the terminal, you should see:
- Full stack trace with file name and line number
- The actual error message (not generic 500)
- Variable values if you added console.log statements
Example
Symptom: User reports page shows "Internal Server Error" after clicking a link.
Investigation:
- Open browser DevTools → Console: Empty
- Network tab shows:
GET /dashboard → 500 - Check terminal running
npm run dev:
Error: Cannot read property 'id' of undefined
at getServerSideProps (/app/pages/dashboard.tsx:15:25)
at renderToHTML (/app/node_modules/next/dist/server/render.js:428:22)
Cause found: Database query returned null instead of user object.
Notes
- In development, Next.js sometimes shows an error overlay, but it often has less
detail than the terminal output
reactStrictMode: trueinnext.config.jscauses double-execution of server
functions in development, which can make debugging confusing
- For API routes, the error appears in the same terminal as page errors
- Client-side errors (in useEffect, event handlers) DO appear in browser console—
this skill only applies to server-side code
- If using
next start(production mode locally), errors may be less verbose;
check NODE_ENV and consider adding custom error logging
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: AlexMikhalev
- Source: AlexMikhalev/claude-code-continuous-learning-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.