agentleFS
jimtinjimtin/production-ai/skills/nextjs-vercel-analytics/SKILL.md

nextjs-vercel-analytics

Skill1 starsChanged 5 months agoMITView on GitHub

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.

The file

Show its rules and text

We split this skill into the rules it gives an agent

19 rules. About 0 are common, 7 are distinctive, and 12 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 12

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    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 …

    line 10
  2. Distinctive:

    Read repo instructions: root AGENTS.md, repo-local AGENTS.md, package manager files, and existing test commands.

    line 18
  3. Distinctive:

    Search existing instrumentation before adding anything:

    line 22
  4. Very specific:

    Check current official Vercel docs and latest stable @vercel/analytics version at implementation time.

    line 24
  5. Distinctive:

    Use the repo's package manager.

    line 31
  6. Distinctive:

    Update package manifest and lockfile together.

    line 33
  7. Very specific:

    Prefer an existing convention.

    line 41
  8. Very specific:

    Read references/event-contract.md before designing event names or properties.

    line 47
  9. Distinctive:

    Do not double-count the same business event on both sides.

    line 52
  10. Distinctive:

    Never send names, emails, phone numbers, raw user IDs, tenant IDs, tokens, session IDs, IPs, addresses, exact URLs with query strings, raw …

    line 55
  11. Distinctive:

    Prefer coarse enums, booleans, counts, durations, plan tiers, source surfaces, role labels, and result categories.

    line 56
  12. Very specific:

    Read references/privacy-and-security.md before adding properties.

    line 57
  13. Very specific:

    Use $feature-design-preflight before implementing analytics for nontrivial flows, funnels, auth, billing, admin portals, uploads, AI, …

    line 60
  14. Very specific:

    Use $security-threat-model for analytics payload/privacy review before push-readiness.

    line 61
  15. Very specific:

    Use $frontend-design-quality if analytics changes require UI controls, banners, dashboards, consent surfaces, or visible tracking state.

    line 62
  16. Very specific:

    Read references/verification-checklist.md and run the repo's canonical local/container gate.

    line 66
  17. Very specific:

    Read references/event-contract.md for the shared typed event model.

    line 90
  18. Very specific:

    Read references/privacy-and-security.md for payload and abuse-path rules.

    line 91
  19. Very specific:

    Read references/verification-checklist.md for tests and local validation.

    line 92

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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:

  1. Read repo instructions: root AGENTS.md, repo-local AGENTS.md, package manager files, and existing test commands.
  2. Identify router mode:
    • App Router: app/layout.* or src/app/layout.*
    • Pages Router: pages/_app.* or src/pages/_app.*
  3. Search existing instrumentation before adding anything:
    • rg -n "@vercel/analytics|Analytics|track\\(|analytics|telemetry|posthog|plausible|segment|gtag|dataLayer" .
  4. Check current official Vercel docs and latest stable @vercel/analytics version at implementation time. Do not rely on model memory for version freshness.
  5. Confirm that Web Analytics is enabled, or must be enabled, in the target Vercel project dashboard.
  6. 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

  1. Install package.
    • Use the repo's package manager.
    • Install latest stable @vercel/analytics.
    • Update package manifest and lockfile together.
  2. Add pageview analytics.
    • App Router: import { Analytics } from @vercel/analytics/next in the root layout and render <Analytics /> near the end of <body>.
    • Pages Router: import { Analytics } from @vercel/analytics/next in _app and render <Analytics /> with the app shell.
    • Preserve existing layout structure, providers, metadata, and server/client component boundaries.
  3. Create typed analytics module.
    • Prefer an existing convention. If none exists, use src/lib/analytics/ or lib/analytics/.
    • Provide at least:
      • AnalyticsEventName
      • AnalyticsEventProperties
      • trackClientEvent(eventName, properties)
      • trackServerEvent(eventName, properties)
    • Read references/event-contract.md before designing event names or properties.
  4. 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.
  5. 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.md before adding properties.
  6. Security and planning gates.
    • Use $feature-design-preflight before implementing analytics for nontrivial flows, funnels, auth, billing, admin portals, uploads, AI, storage, or sensitive workflows.
    • Use $security-threat-model for analytics payload/privacy review before push-readiness.
    • Use $frontend-design-quality if analytics changes require UI controls, banners, dashboards, consent surfaces, or visible tracking state.

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.
  • gitleaks before push.
  • $security-threat-model review 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

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.