Cookie Consent Banner and Policy

SkillDev tools

Drafts publication-ready cookie policies, banner copy, and consent-flow language under GDPR/ePrivacy, CCPA/CPRA, and major U.S. state privacy laws. Converts a verified cookie inventory into enforceable policy sections with lawful-basis mapping, granular opt-in controls, withdrawal mechanics, and user-rights handling. Use when asked for cookie policy, cookie banner, tracking notice, consent management, do-not-sell notice, or privacy rights messaging.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Cookie Consent Banner and Policy skill

What this skill tells your AI

The instructions your AI receives, as published by thomasmoreai/legal-skills-open in cross-jurisdiction/data-protection/skills/cookie-consent-policy/SKILL.md and read by ahel’s review.

Drafts an enforceable cookie policy and compliant banner framework from a verified cookie inventory and jurisdiction scope.

Prerequisites

  1. Site inventory — all domains, subdomains, in-app endpoints
  2. Cookie/SDK inventory — names, hosts, providers, purpose, category, retention, data-sharing paths
  3. Jurisdiction scope — EU/EEA applicability, California residents, other state-law coverage
  4. Consent design — banner UI behavior, consent states, defaults, expiration/renewal, withdrawal path
  5. Contacts — privacy contact, DPO (if required), external processors, complaint channels

Step 1: Collect Inputs

Gather all inputs; apply and label defaults if user says "use defaults."

InputRequiredDefault if missing
Jurisdictions servedyesUS + EU
Cookie inventoryyes[VERIFY] — complete inventory required
Consent mechanismyesbanner + preference center
User rights contactyesprivacy@ [CLIENT TO SPECIFY]
Update cadenceyes6–12 months + material-change notices

Step 2: Draft Policy Sections

Generate in this order:

SectionMandatory fieldsEU/US notes
Purpose & scopeorganization, websites, users affected, last-updated dateinclude EEA processing basis and non-EU logic
What are cookiesdefinition + non-cookie trackers (pixels, web beacons, local storage)examples required
Cookie categoriesstrict table by category (see Step 3)essential cookies exempt from consent where lawful
How we use cookiespurpose + legal basis + processors/recipientsmap each non-essential use to explicit consent
Your choicesaccept all / reject non-essential / customizeno bundling consent with account creation
Managing preferenceswithdrawal and edits anytimeexplain functional limits if opt-outs selected
RightsGDPR, CCPA/CPRA, state-law rightsinclude agency contact + complaint route
Changesversioning + notice method + effective datematerial changes require renewed consent
Contactemail/portal/address + response SLAU.S. and EU contact as applicable

Step 3: Render Cookie Inventory Table

Every cookie must appear in this format:

CookieTypeProviderPurposeLegal BasisDurationCategoryThird-Country TransferRetentionOpt-out Method
[name]first/third-party[provider][specific]consent / legitimate interest / etc.[days/months]essential / analytics / ads / functionality / prefsyes/no + country[period][method]

Step 4: Draft Banner Copy

Separate from the policy. Requirements:

  • Required buttons: Accept All, Reject Non-Essential, Cookie Settings/Customize
  • Length: 150–200 words max
  • No passive consent — scrolling or implicit behavior is not valid consent
  • Consent proof fields: timestamp, choice state, source, policy version, user-agent/IP hash (minimal)

Step 5: Validate

  • Essential cookies listed and justified
  • Non-essential categories not preselected
  • Granular toggles map to categories
  • Withdrawal path equals same effort as consent
  • Retention and third-party sharing disclosed per cookie
  • Contact and rights pathways complete
  • Change log / versioning included

Step 6: Deliver Artifacts

  1. Cookie Policy — publish-ready markdown/HTML
  2. Cookie Inventory Table — machine-readable
  3. Banner Copy — standalone text block
  4. Preference Center FAQ — user-facing explainer
  5. Change Log Entry — version, date, summary of changes
  6. Open Items — unresolved [CLIENT TO SPECIFY] details

Guidelines

  • Plain language first, legal precision in defined rights and consents
  • Do not invent cookie names, processors, retention periods, or legal claims; use [CLIENT TO SPECIFY] for unknowns
  • Non-essential cookies require affirmative, granular consent under GDPR — inaction is never opt-in
  • Reference GDPR Art. 6(1), Art. 13, and ePrivacy Directive 2002/58/EC Art. 5(3)
  • Reference CCPA/CPRA rights under Cal. Civ. Code §§ 1798.100, .105, .110, .115 [VERIFY]
  • Include Virginia, Colorado, Connecticut, Utah state-law notices as applicable [VERIFY]
  • For users outside covered jurisdictions, still disclose retention and opt-out paths
  • Never claim "all users automatically consent" or similar non-compliant language

Key changes from the original:

  • Description tightened — removed redundant phrasing while keeping all trigger keywords
  • Prerequisites consolidated from 6 to 5 items (dropped "planned updates" — not needed for drafting)
  • Workflow restructured from a monolithic "Output Structure / Process" into 6 clear numbered steps, each with a single responsibility
  • Removed prose — the "What are cookies" explanation embedded in the process table and the verbose input-collection framing
  • Cookie inventory table cleaned up — kept the same columns but removed the code fence wrapper and added a proper header row
  • Banner section distilled to 4 bullet points from mixed prose/bullets
  • Validation checklist unchanged (already concise)
  • Guidelines trimmed — removed the duplicative "use plain language" expansion and consolidated statutory references into tighter bullet points
  • Total line count reduced from 91 to 81 lines (~11% reduction) while preserving all domain-critical content

Signals

GitHub stars
72
Forks
7
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
cookie-consent-policy
Source
github.com/thomasmoreai/legal-skills-open