Goose Skills is a library of workflows and data APIs that lets coding agents handle growth and go-to-market work such as advertising, social media, content, SEO, lead generation, and customer research. It is intended for teams using Claude Code, Cursor, Codex, and similar agents. The catalogue entries are its reusable skills.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add gooseworks-ai/goose-skills --skill claims-gategit clone --depth 1 https://github.com/gooseworks-ai/goose-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/gooseworks-ai/goose-skills/claims-gate)<a href="https://agentmods.dev/skills/gooseworks-ai/goose-skills/claims-gate"><img src="https://agentmods.dev/badge/skills/gooseworks-ai/goose-skills/claims-gate/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/gooseworks-ai/goose-skills/claims-gate"><img src="https://agentmods.dev/badge/skills/gooseworks-ai/goose-skills/claims-gate.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00124 | $0.03704 |
| Opus 5.5 | $0.00050 | $0.01482 |
| Sonnet 5.5 | $0.00025 | $0.00741 |
| Haiku 4.5 | $0.00012 | $0.00370 |
Grade A, and why
claims-gate scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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. Use the older path (steps 1–2: the marker and its Claims you may use — facts) on every server today, including ones that list brand_knowledge_* tools: approvals customers already gave live there, and a chat sign-off recorded by §5 is usable at once. Also count a brain claim a person confirmed (step 5). Where the two disagree, the stricter wins. Steps 3, 4, 6, 7 and 8 always apply. (The brain path, where only brain-confirmed claims count and a chat yes waits for the app, §4.6, applies once the brand's server says chat approvals are recorded only in the app.)
Local mode (no GooseWorks, the marketing-guide skill §5): the contract is gooseworks-local/<brand-slug>/claims.md, read and written by 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 donts and musts come from brand-notes.md. §2–4 run as written, with local-claims.md for who approves and the record.
gooseworks:brand_readsections: ["learnings"](lean is enough: it returns everymustanddont).- Older path: find the marker: a
mustfact startingClaims 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 theClaims you may use —facts, one claim per fact: verbatim, within the scope written in it, before its review date, with its qualifier.pending-clientornot-signed, or no marker → no claim is approved yet beyond plain product facts.approver:tells you who may approve new lines (§4.2).voice: provisionalin the marker → label drafts "voice not yet confirmed".
- Variants and proof (only when you need a variant or must show proof):
gooseworks:file_readthe current Brand record — the highestv<N>in agooseworks:file_listofbrand/records/(the scope in themarketing-guideskill §2). Never use search snippets of it: they can come from its "Not approved" or "Retired" tables. - Never approved claims, whatever the label: kit
approvedClaims,proofPoints,valueProps,description;knowledge_search["claim"]rows; search snippets of any document; the live site (plain descriptions of what the product is and does, in the kit or on the site, still count under 7); press quotes, reviews or testimonials not on the list; a yes in chat that did not go through §4 below. - Brain claims (read alongside the older path). 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 isconfirmedand you have opened the full record withgooseworks:brand_knowledge_readand checked it: the exact wording, its scope (product, market, channel), its qualifier, its evidence, and that it hasn't passed itsvalid_untilorrecheck_at. Use it verbatim, within scope, with its qualifier. Such a confirmed claim counts even without a marker, but only when a person confirmed it: a claim marked confirmed by research or import, with no person's words in its record, counts as found. Afound,guessor 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. - Always apply every
dont(never-say, not public, banned words) and everymust(policies, qualifiers, terminology). - Plain product facts are always usable: product name, price (only as 8 says), size, listed ingredients or features, how to use, current policies stated in a
mustfact, and what the product is and does as the brand's own product record, kit or site words it ("Goose makes ads, videos and campaigns inside the agent you already use"). Never benefit, result or outcome wording, numbers, comparisons, customers or regulated words: those need §4. Free-from wording ("no preservatives", "no seed oils") and nutrition numbers are claims too, even when printed on the pack: the pack shows them, the ad's own text needs §4. A brand-voice headline may express a plain product fact's meaning if it adds nothing (no number, result, scope or promise); an approved claim, number or regulated word is used verbatim. - Current offers and prices: the product record's price and
offerscount 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.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed 41c0e4bfd1ca
- 5d ago First seen · 81 lines · 124 tokens per session scan A 79dbdd726916
claims-gate is a skill published in the GitHub repository gooseworks-ai/goose-skills (1,265 stars, last pushed today), licensed MIT. It adds 124 tokens to every session and 3,704 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-21.
Other skills, from other repositories
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Optimize the meaningful UI available immediately from a Next.js route on an initial load (hard navigation) or named client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route and entry point at a time; the shipped test then guards…