Individual skill
spend-gate
Shared step of the marketing playbooks (make-static-ads, research-market, run-paid-campaigns, work-with-creators): gets the human's yes before any credits are spent. Shows the price exactly as quoted, or asks for one yes to a credit ceiling for paid data reads, stays under it and logs each charge. Also covers scheduled runs. Loaded by those playbooks; not for direct use.
skills/marketing/spend-gate/SKILL.md
Source commit df8298140d434a6363de0c265eb6af2e571d97a5
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 11, 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)
- 1,317
- Repository last updated
- Nov 6, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- claude Repository topic
- claude-skills Repository topic
- claudecode Repository topic
- claudecode-skills Repository topic
- codex Repository topic
- cursor Repository topic
- gtm Repository topic
- skills Repository topic
- marketing 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
SKILL.mdcore · 6,102 bytesproxy-endpoints.mddoc · 9,816 bytesskill.meta.jsonasset · 700 bytes
Read excerpt
# spend-gate
No credit is spent before the human's yes in this conversation. Money is always a credit number exactly as GooseWorks gives it — never dollars, never your own total presented as a price. Never name tools, endpoints or vendors to the marketer: describe the work in plain words ("Reddit threads about dog allergies, newest first").
Pick the branch by the tool:
## A. Engine-quoted work (ads, photos, video, any tool with a dry run or a price check)
**Managed marketing data:** `marketing_data_describe` is free. `marketing_data_lookup` defaults to `quote_only: true`. Read the returned maximum credits and expiry, then request approval for that exact bounded work. Submit the same request with its quote token, the approved ceiling and the user’s words. A new request or expired quote needs a fresh quote. An existing approval may cover later calls only when it explicitly named that same bounded plan and total ceiling: quote each call, preserve the original approval words, and set its maximum no higher than the remaining approved credits. Ask again only for changed scope or more budget. Log every returned charge and deduct it before the next call; the tool’s per-call cap is not a cumulative plan limit. Free continuation pages inside that approved plan need no second spending approval. A capped quote is a maximum, not a claim about final usage. Never treat discovery, a successful quote or a fixture as proof that a paid data read ran.
1. Ask the tool for its quote (its dry run, `quote_only`, or `gooseworks:data_price_provider` for fal and ElevenLabs calls).
2. Show each quote exactly as given. Several quotes are shown one by one, never added up by you.
3. Ask for a yes to that quote. Submit only after it; a changed plan needs a new quote and a new yes.
4. If an answer comes back as a card waiting for a press, follow the server's card rule and wait for the human.