Skip to content
Marketing
Skill

/claims-gate

Checks every claim in a piece of copy (ads, emails, posts, pages, scripts, briefs) against the claims the brand has approved. Keeps, rewrites or cuts each line, and lists the proof that would bring a cut line back. When a line the copy needs has no approval, it asks for a short

BOOST
From plugin
goose-skills
1.3k200 skills
Install
$ npx -y skills add gooseworks-ai/goose-skills --skill claims-gate --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/claims-gate

Context preview

The summary Claude sees to decide when to auto-load this skill.

Checks every claim in a piece of copy (ads, emails, posts, pages, scripts, briefs) against the claims the brand has approved. Keeps, rewrites or cuts each line, and lists the proof that would bring a cut line back. When a line the copy needs has no approval, it asks for a short

SKILL.md

claims-gate.SKILL.md
name: claims-gate
description: >-
  Checks every claim in a piece of copy (ads, emails, posts, pages, scripts, briefs) against the
  claims the brand has approved. Keeps, rewrites or cuts each line, and lists the proof that would
  bring a cut line back. When a line the copy needs has no approval, it asks for a short sign-off on
  the 3 to 5 lines that matter and records the answer. Use alone when you already have the copy and a
  brand set up; otherwise run the playbook for the job (e.g. make-static-ads, make-content,
  write-outreach).
version: 0.1.1

claims-gate

One contract for every playbook that writes copy, scripts, briefs, emails, posts, pages or captions. Only this atom ever writes a claim as approved; claims and markers already in the brand (from the GooseWorks app or an earlier brand pass) are read the same way. The calling playbook keeps its own extract step (on-image text, video scenes, page sections) and hands this atom the spans.

Say it to the human in plain words ("two lines need your OK before I use them"), never as tool, fact or playbook names.

1. Load the contract (once per job)

**Which path.** When `brain_*` tools are listed, the **brain path** (step 5) decides which claims are approved, and the marker below is not required. Otherwise (production today) the **older path** (steps 1–2) decides. Steps 3, 4, 6, 7 and 8 apply on both paths.

**Local mode** (no GooseWorks, [the `marketing-guide` skill](../marketing-guide/SKILL.md) §5): the contract is `gooseworks-local/<brand-slug>/claims.md`, read and written by [`local-claims.md`](local-claims.md) (next to this file) in place of steps 1–3 and 5. Only a row whose newest status is `approved` and that passes its checks (scope, date, the approver's own words, proof reopened) is usable; declined, pending and retired rows never are. The `dont`s and `must`s come from `brand-notes.md`. §2–4 run as written, with `local-claims.md` for who approves and the record.

1. `gooseworks:brand_read` `sections: ["learnings"]` (lean is enough: it returns every `must` and `dont`). 2. **Older path:** find the **marker**: a `must` fact starting `Claims sign-off (learn-my-brand,` (a fixed format: the opening names its first writer and stays as it is). Read its status token and match it exactly:

  • `signed-off` → the claims you may use are the `Claims you may use —` facts, one claim per fact: verbatim, within the scope written in it, before its review date, with its qualifier.
  • `pending-client` or `not-signed`, or no marker → no claim is approved yet beyond plain product facts.
  • `approver:` tells you who may approve new lines (§4.2).
  • `voice: provisional` in the marker → label drafts "voice not yet confirmed".

3. **Variants and proof** (only when you need a variant or must show proof): `gooseworks:file_read` the current Brand record — the highest `v<N>` in a `gooseworks:file_list` of `brand/records/` (the scope in [the `marketing-guide` skill](../marketing-guide/SKILL.md) §2). Never use search snippets of it: they can come from its "Not approved" or "Retired" tables. 4. **Never approved, whatever the label:** kit `approvedClaims`, `proofPoints`, `valueProps`, `description`; `knowledge_search` `["claim"]` rows; search snippets of any document; the live site; press quotes, reviews or testimonials not on the list; a yes in chat that did not go through §4 below. 5. **Brain path (when `brain_*` tools are listed).** The brain keeps claims with a status (chapter 13, "What we can claim"; older `Claims you may use —` rules sit in chapter 14 with a status too). A claim is usable only if its status is `confirmed` **and** you have opened the full record with `gooseworks:brain_open` and checked it: the exact wording, its scope (product, market, channel), its qualifier, its evidence, and that it hasn't passed its `valid_until` or `recheck_at`. Use it verbatim, within scope, with its qualifier. No marker is needed. A `found`, `guess` or waiting claim is not approved, whatever its wording or whoever said it. If a legacy marker also exists and it and the brain disagree about a line (narrower scope, a retired or declined line), the stricter one wins and you say so. Playbooks never read claims from the brain themselves; they consume them only through this atom. 6. **Always apply** every `dont` (never-say, not public, banned words) and every `must` (policies, qualifiers, terminology). 7. **Plain product facts** are always usable: product name, price, size, listed ingredients or features, how to use, current policies stated in a `must` fact. Never benefit or outcome wording. 8. **Current offers and prices:** the product record's price and `offers` count as plain facts only when the human confirms in this job that they are live (offers carry their end date). Nothing else about an offer ("best price ever", "limited") is a plain fact.

2. Check the spans

For each claim-like span the caller extracted (copy, headline, on-image text, badge, script line, subject line, caption, page sentence, and what a picture implies): 1. **Puffery or claim?** If a test could prove it false, it is a claim ("lasts 48 hours", "softer than cotton"). Feel and taste words that promise no outcome are puffery ("light, fresh feel"). 2. **Type and risk** from `claim-types.md` (next to this file). Regulated categories (health, beauty, supplements, food, finance, kids) are verbatim only. 3. **Quoted claims are the brand's claims:** a press quote, review or testimonial reused in copy must pass for the claim inside it. 4. **Implied claims count:** a lab coat, a before/after, a "clinically" badge, a product name stretched into a promise. 5. **Named customers, logos and backers.** A named customer, logo, customer result or case study is usable only when the brand confirmed it (a usable claim under §1) — never from the site, the kit or a search hit alone. A plainly test-named brand ("Test Co", "Demo Brand", "asdf") is never offered. A name that matches **another brand in

Read more
Ships withgoose-skills

Put your AI agent on the growth team. Research customers and competitors, analyze what is working, create the next campaign, and learn from the result.

Get the whole plugin

Other skills on goose-skills.