Individual skill
c15t-nextjs
Set up, customize or debug c15t consent management with @c15t/nextjs. Use when the project is a Next.js app with the App Router, Pages Router or static export, or when a task mentions a cookie banner, consent dialog, GDPR or CCPA prompts, blocking analytics until consent, Google Consent Mode or IAB TCF.
packages/nextjs/SKILL.md
Source commit 0ae883c23306c0ff60eeef26a6cedaa259cc98e1
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- Yes
- Skill scan complete
- Yes
- Observed behavior
- Network or broad shell
- Last checked
- Nov 9, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 2,024
- Repository last updated
- Nov 6, 2026
- License
- Apache-2.0
Observed agent integration: codex
- cmp Repository topic
- cookie-banner Repository topic
- typescript Repository topic
- ccpa Repository topic
- consent-mode Repository topic
- cookie-consent Repository topic
- gdpr Repository topic
- iab-tcf Repository topic
- javascript Repository topic
- nextjs Repository topic
- data Derived category
- engineering Derived category
- engineering-web Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.gitignoreasset · 54 bytes.npmignoreasset · 99 bytesAGENTS.mddoc · 28,999 bytesCHANGELOG.mddoc · 131,853 bytesREADME.mddoc · 9,847 bytesSKILL.mdcore · 2,777 bytesdocs/integrations/cloudflare-zaraz.mddoc · 15,058 bytesiab/styles.cssasset · 34 bytesiab/styles.tw3.cssasset · 38 bytesknip.jsonasset · 614 bytespackage.jsonruns · 5,246 bytesreadme.jsonasset · 3,522 bytesrslib.config.tsruns · 894 bytesscripts/generate-distribution-css.tsruns · 176 bytessrc/__tests__/api.test.tsruns · 5,378 bytessrc/__tests__/build.test.tsruns · 19,333 bytessrc/__tests__/client-mode.test.tsruns · 2,375 bytessrc/__tests__/config-browser.test.tsruns · 682 bytessrc/__tests__/config.test.tsruns · 4,187 bytessrc/__tests__/conformance.test.tsxruns · 392 bytessrc/__tests__/consent-dialog-link-entry.test.tsruns · 791 bytessrc/__tests__/consent-route.test.tsruns · 4,039 bytessrc/__tests__/devtools.test.tsruns · 636 bytessrc/__tests__/end-to-end.test.tsxruns · 18,241 bytessrc/__tests__/generated-manifest-default.test.tsruns · 3,373 bytessrc/__tests__/manifest-fixture.tsruns · 1,467 bytessrc/__tests__/pages.test.tsruns · 23,720 bytessrc/__tests__/policy-driver-evidence.test.tsxruns · 1,324 bytessrc/__tests__/policy-driver.tsxruns · 524 bytessrc/__tests__/policy-fixture.tsruns · 1,360 bytessrc/__tests__/postcss-tailwind3-entry.test.tsruns · 834 bytessrc/__tests__/proxy.test.tsruns · 6,348 bytessrc/__tests__/react-server-entry.test.tsruns · 2,137 bytessrc/__tests__/request-context.test.tsruns · 1,745 bytessrc/__tests__/resolve-consent.test.tsruns · 10,792 bytessrc/__tests__/root-missing-config.test.tsxruns · 2,486 bytessrc/__tests__/root-modules.test.tsxruns · 4,010 bytessrc/__tests__/root-offline-mode.test.tsxruns · 2,167 bytessrc/__tests__/root-script-loader-preload-always-load.test.tsxruns · 2,300 bytessrc/__tests__/root-script-loader-preload-consent-source.test.tsxruns · 3,410 bytessrc/__tests__/root-script-loader-preload-disabled.test.tsxruns · 2,516 bytessrc/__tests__/root-script-loader-preload-side-effects.test.tsxruns · 4,767 bytessrc/__tests__/root-script-loader-preload.test.tsxruns · 8,096 bytessrc/__tests__/root-server-start.test.tsxruns · 8,735 bytessrc/__tests__/root-streamed-resolver.test.tsxruns · 2,091 bytessrc/__tests__/root-update-chunk.test.tsxruns · 1,469 bytessrc/__tests__/root-user-config-options.test.tsxruns · 2,319 bytessrc/__tests__/root-user-config.test.tsxruns · 3,597 bytessrc/__tests__/root.test.tsxruns · 2,957 bytessrc/__tests__/server.test.tsruns · 11,848 bytessrc/__tests__/ssr-policy.test.tsxruns · 12,702 bytessrc/__tests__/static.test.tsruns · 4,039 bytessrc/api.tsruns · 8,895 bytessrc/build.tsruns · 16,929 bytessrc/client-components.tsruns · 644 bytessrc/client-mode.tsruns · 4,701 bytessrc/components/consent-dialog-link.tsruns · 314 bytessrc/config.tsruns · 10,129 bytessrc/consent-source.tsruns · 5,460 bytessrc/devtools.tsruns · 127 bytessrc/generated-manifest-module.d.tsruns · 658 bytessrc/generated-manifest.tsruns · 783 bytessrc/headless.tsruns · 151 bytessrc/iab/styles.cssasset · 389 bytessrc/iab/styles.tw3.cssasset · 455 bytessrc/index.react-server.tsruns · 1,578 bytessrc/index.tsruns · 1,777 bytessrc/middleware.tsruns · 637 bytessrc/node-bridge.tsruns · 4,735 bytessrc/pages.tsruns · 11,126 bytessrc/postcss-tailwind3.tsruns · 763 bytessrc/proxy.tsruns · 5,748 bytessrc/root.tsxruns · 11,977 bytessrc/server.tsruns · 12,520 bytessrc/static.tsruns · 1,165 bytessrc/styles.cssasset · 289 bytessrc/styles.tw3.cssasset · 410 bytessrc/types.tsruns · 2,459 bytessrc/user-config.tsruns · 841 bytesstyles.cssasset · 29 bytesstyles.tw3.cssasset · 33 bytestsconfig.jsonasset · 597 bytestsconfig.tests.jsonasset · 311 bytesvitest.config.tsruns · 7,586 bytes
Read excerpt
# c15t with @c15t/nextjs
The Markdown under `./docs` matches the installed version. Read it before writing code: v3 renamed most v2 APIs, so remembered examples are usually wrong.
## Before writing code
1. Find the framework, router, rendering mode (server, static, cached or single-page) and host in the project. Check the framework config and route files for settings that prerender or cache pages.
2. Pick the matching row in [Choose your setup](./docs/concepts/choose-your-setup.md).
3. Follow that guide from start to finish: [Next.js](./docs/frameworks/next/quickstart.md).
## Rules
- Install with `npm install c15t` and import `c15t/next`. Keep every c15t package on the same release. New apps install `c15t` and import its framework subpath. An app that already depends on this scoped package can keep importing from it, but should not install both.
- The backend URL comes from the user's Inth project or self-hosted backend. It is public configuration. Never invent one; ask for it or read it from the environment.