Nextjs vercel analytics
Skills and guardrails that make AI coding agents prove their work: planning gates, test preflights, fail-closed deployment, and a self-improving skill library.
npx -y skills add jimtin/production-ai --skill nextjs-vercel-analyticsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Add privacy-safe Vercel Web Analytics to Next.js apps, including pageview setup, typed client and server custom events, strict no-PII payload rules, App Router or Pages Router placement, and local verification. Use when a user asks to add, implement, instrument, review, or fix Vercel analytics, Vercel Web Analytics, analytics custom events, product tracking, funnel tracking, frontend or backend event tracking, or analytics privacy in a Next.js repo.
SKILL.md
5.6 KB, as published. Nobody here has run it
Next.js Vercel Analytics
Purpose
Use this skill to implement Vercel Web Analytics in a Next.js repo with a typed, privacy-safe event contract shared by frontend and backend tracking. Default scope is analytics only: pageviews plus custom client/server events.
Out of scope unless explicitly requested: Speed Insights, OpenTelemetry, tracing, runtime log drains, dashboards, alerts, third-party analytics, and querying analytics data from Vercel.
Required Starting Point
Before editing code:
- Read repo instructions: root
AGENTS.md, repo-localAGENTS.md, package manager files, and existing test commands. - Identify router mode:
- App Router:
app/layout.*orsrc/app/layout.* - Pages Router:
pages/_app.*orsrc/pages/_app.*
- App Router:
- Search existing instrumentation before adding anything:
rg -n "@vercel/analytics|Analytics|track\\(|analytics|telemetry|posthog|plausible|segment|gtag|dataLayer" .
- Check current official Vercel docs and latest stable
@vercel/analyticsversion at implementation time. Do not rely on model memory for version freshness. - Confirm that Web Analytics is enabled, or must be enabled, in the target Vercel project dashboard.
- Confirm whether custom events are expected. If yes, ask whether the Vercel project has the required custom-event entitlement. Current Vercel docs state Web Analytics is available on all plans, while custom events require Pro or Enterprise.
Implementation Workflow
-
Install package.
- Use the repo's package manager.
- Install latest stable
@vercel/analytics. - Update package manifest and lockfile together.
-
Add pageview analytics.
- App Router: import
{ Analytics }from@vercel/analytics/nextin the root layout and render<Analytics />near the end of<body>. - Pages Router: import
{ Analytics }from@vercel/analytics/nextin_appand render<Analytics />with the app shell. - Preserve existing layout structure, providers, metadata, and server/client component boundaries.
- App Router: import
-
Create typed analytics module.
- Prefer an existing convention. If none exists, use
src/lib/analytics/orlib/analytics/. - Provide at least:
AnalyticsEventNameAnalyticsEventPropertiestrackClientEvent(eventName, properties)trackServerEvent(eventName, properties)
- Read
references/event-contract.mdbefore designing event names or properties.
- Prefer an existing convention. If none exists, use
-
Instrument flows with intent and outcome separation.
- Frontend events represent user intent or UI interaction, such as button clicked, form started, filter applied, or CTA selected.
- Backend events represent authoritative outcomes, such as signup completed, invite accepted, purchase completed, file processed, or mutation failed safely.
- Do not double-count the same business event on both sides. Use frontend for interaction intent and server for confirmed outcomes.
-
Keep payloads strict no-PII.
- Never send names, emails, phone numbers, raw user IDs, tenant IDs, tokens, session IDs, IPs, addresses, exact URLs with query strings, raw prompts, free text, filenames, document contents, or error stacks.
- Prefer coarse enums, booleans, counts, durations, plan tiers, source surfaces, role labels, and result categories.
- Read
references/privacy-and-security.mdbefore adding properties.
-
Security and planning gates.
- Use
$feature-design-preflightbefore implementing analytics for nontrivial flows, funnels, auth, billing, admin portals, uploads, AI, storage, or sensitive workflows. - Use
$security-threat-modelfor analytics payload/privacy review before push-readiness. - Use
$frontend-design-qualityif analytics changes require UI controls, banners, dashboards, consent surfaces, or visible tracking state.
- Use
Verification
Read references/verification-checklist.md and run the repo's canonical local/container gate.
Minimum proof:
- Typecheck/build pass.
- Unit tests for event name/property validation and no-PII guard helpers.
- Integration tests for server-side tracking wrappers or route/action instrumentation.
- Browser/E2E coverage for changed user actions.
- Network or module-mock verification that expected analytics calls are made without sensitive payloads.
gitleaksbefore push.$security-threat-modelreview completed for changed analytics surfaces.
Example Requests
This skill should trigger for prompts like:
- "Add Vercel analytics tracking to this Next.js app."
- "Instrument signup and purchase flows with Vercel custom events."
- "Review this app's Vercel analytics for PII leakage."
- "Connect frontend CTA events with backend successful mutation events."
- "Add typed Vercel Web Analytics events to the admin portal."
References
- Read
references/event-contract.mdfor the shared typed event model. - Read
references/privacy-and-security.mdfor payload and abuse-path rules. - Read
references/verification-checklist.mdfor tests and local validation. - Official docs to check during implementation: