Individual skill
c15t-browser
Set up, customize or debug c15t consent management with @c15t/browser. Use when the site is plain HTML, a CMS, a page builder or a static site generator, or a bundled app without a UI framework, 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/browser/SKILL.md
Source commit 0ae883c23306c0ff60eeef26a6cedaa259cc98e1
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- Yes
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 3, 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,022
- 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
- design Derived category
- data Derived category
- design-interface 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 · 149 bytesAGENTS.mddoc · 31,435 bytesCHANGELOG.mddoc · 102,383 bytesREADME.mddoc · 10,045 bytesSKILL.mdcore · 2,765 bytesdocs/integrations/cloudflare-zaraz.mddoc · 15,042 bytesgtm-template/README.mddoc · 2,071 bytesgtm-template/template.tplasset · 36,653 bytesknip.jsonasset · 482 bytespackage.jsonruns · 4,146 bytesreadme.jsonasset · 3,714 bytesrslib.config.tsruns · 4,190 bytesscripts/build-styles.tsruns · 4,059 bytesscripts/copy-styles.tsruns · 979 bytesscripts/iab-bundle-boundary.tsruns · 726 bytesscripts/mode-bundle-boundary.tsruns · 2,591 bytesscripts/prune-stylesheet.tsruns · 6,258 bytessrc/__tests__/auto-init.test.tsruns · 10,958 bytessrc/__tests__/banner-corner.browser.test.tsruns · 1,971 bytessrc/__tests__/clear-on-revocation.test.tsruns · 2,937 bytessrc/__tests__/client-lifecycle.test.tsruns · 2,756 bytessrc/__tests__/client.test.tsruns · 18,760 bytessrc/__tests__/conformance.test.tsruns · 2,663 bytessrc/__tests__/csp-nonce.browser.test.tsruns · 1,990 bytessrc/__tests__/devtools.test.tsruns · 3,291 bytessrc/__tests__/dialog-motion.browser.test.tsruns · 2,069 bytessrc/__tests__/dialog-surface.test.tsruns · 3,228 bytessrc/__tests__/esm-modes.test.tsruns · 5,037 bytessrc/__tests__/external-source.test.tsruns · 1,809 bytessrc/__tests__/fixtures/factory-init.tsruns · 1,692 bytessrc/__tests__/fixtures/gated-scripts-csp.htmlasset · 226 bytessrc/__tests__/fixtures/gated-scripts-strict-dynamic.htmlasset · 609 bytessrc/__tests__/fixtures/storage-sync-page.tsruns · 1,312 bytessrc/__tests__/fixtures/storage-sync.htmlasset · 485 bytessrc/__tests__/fixtures/subject-conflict-page.tsruns · 3,326 bytessrc/__tests__/fixtures/subject-conflict.htmlasset · 489 bytessrc/__tests__/fixtures/ui-csp-page.tsruns · 1,419 bytessrc/__tests__/fixtures/ui-csp.htmlasset · 323 bytessrc/__tests__/gated-scripts.browser.test.tsruns · 4,437 bytessrc/__tests__/gated-scripts.test.tsruns · 12,146 bytessrc/__tests__/global-events.test.tsruns · 7,130 bytessrc/__tests__/gpp.test.tsruns · 4,001 bytessrc/__tests__/gtm-template.test.tsruns · 24,714 bytessrc/__tests__/host-visibility.browser.test.tsruns · 1,755 bytessrc/__tests__/iab-additional-consent.test.tsruns · 6,090 bytessrc/__tests__/iab-config.test.tsruns · 6,174 bytessrc/__tests__/iab-disclosures.test.tsruns · 6,825 bytessrc/__tests__/iab-policy.test.tsruns · 7,082 bytessrc/__tests__/iab-toggles.test.tsruns · 9,029 bytessrc/__tests__/iab-unavailable.test.tsruns · 5,590 bytessrc/__tests__/iab.browser.test.tsruns · 4,521 bytessrc/__tests__/iab.test.tsruns · 15,944 bytessrc/__tests__/legal-links.test.tsruns · 4,437 bytessrc/__tests__/manifest.test.tsruns · 23,124 bytessrc/__tests__/manual-init.test.tsruns · 5,845 bytessrc/__tests__/mode-entries.test.tsruns · 16,515 bytessrc/__tests__/mode-globals.test.tsruns · 13,128 bytessrc/__tests__/no-records-warning.test.tsruns · 4,108 bytessrc/__tests__/part-styling.browser.test.tsruns · 5,149 bytessrc/__tests__/postcss-tailwind3-entry.test.tsruns · 829 bytessrc/__tests__/queue-replay.test.tsruns · 8,391 bytessrc/__tests__/storage-sync.browser.test.tsruns · 3,301 bytessrc/__tests__/stylesheet-prune.test.tsruns · 5,230 bytessrc/__tests__/subject-conflict.browser.test.tsruns · 4,460 bytessrc/__tests__/subject-id.test.tsruns · 6,407 bytessrc/__tests__/switch-direction.browser.test.tsruns · 2,736 bytessrc/__tests__/trigger-devtools.test.tsruns · 6,582 bytessrc/__tests__/trigger-motion.browser.test.tsruns · 1,917 bytessrc/__tests__/ui.test.tsruns · 33,185 bytessrc/__tests__/vendor-consent.test.tsruns · 14,453 bytessrc/auto-init.tsruns · 7,640 bytessrc/client-base.tsruns · 20,089 bytessrc/client.tsruns · 1,722 bytessrc/create-runtime-static.tsruns · 1,728 bytessrc/create-runtime.tsruns · 1,486 bytessrc/deferred.tsruns · 1,119 bytessrc/devtools-mount.tsruns · 2,004 bytessrc/devtools.tsruns · 1,818 bytessrc/entries/cdn-devtools.tsruns · 2,613 bytessrc/entries/cdn-gpp.tsruns · 1,568 bytessrc/entries/cdn-headless.tsruns · 426 bytessrc/entries/cdn-iab.tsruns · 757 bytessrc/entries/cdn-local.tsruns · 573 bytessrc/entries/cdn-offline.tsruns · 811 bytessrc/entries/cdn.tsruns · 613 bytessrc/gated-scripts.tsruns · 10,779 bytessrc/global-base.tsruns · 18,555 bytessrc/global.tsruns · 1,332 bytessrc/gpp.tsruns · 1,406 bytessrc/has-decided.tsruns · 510 bytessrc/headless.tsruns · 2,736 bytessrc/hosted-client.tsruns · 1,890 bytessrc/hosted-global.tsruns · 1,057 bytessrc/hosted.tsruns · 2,115 bytessrc/iab.tsruns · 1,622 bytessrc/iab/mount.tsruns · 770 bytessrc/iab/preferences.tsruns · 19,251 bytessrc/iab/styles.tsruns · 2,336 bytessrc/iab/surface.tsruns · 12,858 bytessrc/iab/vendor-disclosures.tsruns · 5,504 bytessrc/index.tsruns · 3,000 bytessrc/no-records-warning.tsruns · 1,648 bytessrc/offline-client.tsruns · 1,850 bytessrc/offline-global.tsruns · 1,161 bytessrc/offline.tsruns · 2,187 bytessrc/policy-rules.tsruns · 1,095 bytessrc/postcss-tailwind3.tsruns · 616 bytessrc/script-tag-client.tsruns · 2,790 bytessrc/transports/hosted.tsruns · 2,431 bytessrc/transports/manifest.tsruns · 3,375 bytessrc/transports/offline.tsruns · 324 bytessrc/types.tsruns · 21,653 bytessrc/ui/actions.tsruns · 3,465 bytessrc/ui/banner.tsruns · 9,895 bytessrc/ui/branding.tsruns · 5,370 bytessrc/ui/copy.tsruns · 1,717 bytessrc/ui/dialog-surface.tsruns · 3,749 bytessrc/ui/dialog.tsruns · 9,392 bytessrc/ui/dom.tsruns · 5,148 bytessrc/ui/mount.tsruns · 9,207 bytessrc/ui/slots.tsruns · 3,153 bytessrc/ui/surface.tsruns · 2,908 bytessrc/ui/trigger-toolbar.tsruns · 4,943 bytessrc/ui/trigger.tsruns · 11,171 bytessrc/ui/vendor-list.tsruns · 10,421 bytessrc/ui/widget.tsruns · 13,465 bytestsconfig.jsonasset · 349 bytesvitest.config.tsruns · 5,802 bytes
Read excerpt
# c15t with @c15t/browser
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: [HTML script tag](./docs/frameworks/html/quickstart.md), [JavaScript](./docs/frameworks/javascript/quickstart.md).
## Rules
- Install with a `<script>` tag for `@c15t/browser` from jsDelivr, or `npm install @c15t/browser`. Keep every c15t package on the same release.
- 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.