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.
git clone --depth 1 https://github.com/amekala/ads-mcpWrote 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/rules/amekala/ads-mcp/use-adspirer)<a href="https://agentmods.dev/rules/amekala/ads-mcp/use-adspirer"><img src="https://agentmods.dev/badge/rules/amekala/ads-mcp/use-adspirer/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/rules/amekala/ads-mcp/use-adspirer"><img src="https://agentmods.dev/badge/rules/amekala/ads-mcp/use-adspirer.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.00654 | $0.00654 |
| Opus 5 | $0.00327 | $0.00327 |
| Sonnet 5 | $0.00131 | $0.00131 |
| Haiku 4.5 | $0.00065 | $0.00065 |
Grade A, and why
use-adspirer 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 9d ago.
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.
What it actually says
When working with advertising or ad campaign tasks using the Adspirer MCP tools, always follow this workflow:
-
Always call
get_connections_statusfirst before any other Adspirer tool. This checks which ad platforms (Google Ads, Meta, LinkedIn, TikTok) are connected and identifies the active accounts. Never skip this step. -
Read before you act. Fetch performance data or account status before creating campaigns or modifying budgets.
-
Campaign creation requires user confirmation. These tools create real campaigns that spend real money. Always confirm settings with the user before executing any creation or budget-changing tool.
-
Follow platform-specific tool ordering:
- Google Search campaigns:
research_keywords→discover_existing_assets→validate_and_prepare_assets→create_search_campaign→ add extensions (sitelinks, callouts, snippets) - Google PMax:
discover_existing_assets→validate_and_prepare_assets→create_pmax_campaign→ add extensions - LinkedIn:
get_linkedin_organizations→discover_linkedin_assets→validate_and_prepare_linkedin_assets→create_linkedin_image_campaign - Meta:
search_meta_targetingorbrowse_meta_targeting→ create campaign - TikTok:
discover_tiktok_assets→validate_and_prepare_tiktok_assets→create_tiktok_campaign
- Google Search campaigns:
-
Never retry campaign creation automatically on error. Report the error and wait for user input.
-
All new campaigns must be created in PAUSED status. Never launch a campaign without explicit user approval.
-
Never exceed budget guardrails from BRAND.md. If unsure about budget impact, ask the user first.
7.5. Check STRATEGY.md before campaign creation or keyword operations. AVOID directives deprioritize matching keywords. CONSTRAINT directives are binding rules. If a workflow would violate a directive, flag the conflict and ask the user.
-
Ad extensions are mandatory for Google Ads campaigns. After creating any Google Search or PMax campaign, always add sitelinks, callout extensions, and structured snippets.
-
Verification before success is mandatory. Do not report success until each targeted campaign is read back and confirmed to have:
- expected ad groups
- ads present
- keywords present
- extensions present or explicitly marked as unverifiable
-
Use strict completion statuses.
SUCCESS: all required assets verifiedPARTIAL_SUCCESS: campaign exists but assets are missing/unverifiable after one targeted remediation passFAILED: campaign creation failed
- Never claim success on unverifiable extension state. If extension verification tools fail, retry once and then report
PARTIAL_SUCCESSwith explicit gaps.
See the adspirer-ads skill for the full tool reference and detailed workflows.
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.
- 9d ago First seen · 45 lines · 654 tokens per session scan A 26d98aa2435c
use-adspirer is a cursor rule published in the GitHub repository amekala/ads-mcp (89 stars, last pushed 2d ago), licensed MIT. It adds 654 tokens to every session, about $0.0033 per session on Opus 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-08-30.
Other cursor rules, from other repositories
emergency-fund
Size an emergency fund from essential spend and real risk factors — not a one-size 'six months' — with the funding timeline and where the money should sit. Use when asked how big should my emergency fund be, do I have enough saved, emergency fund or invest, or how many months of expenses do I need. Produces the…
delta-briefing
Make a recurring brief report what changed since the last edition instead of restating everything. Use when a weekly or monthly report keeps repeating itself, when setting up a scheduled monitor or digest, or when asked to make a recurring update delta-aware. Produces a changes-first brief plus the state record the…
voice-agent-design
Design a voice AI agent for phone or in-app conversations — call flows, interruption handling, escalation to humans, and the metrics that catch a bad voice experience. Use when asked to design a voice agent, automate a phone line, spec an IVR replacement, or review why callers hate an existing voice bot. Produces a…
ai-content-audit
Audit a content library, docs site, or blog for AI-generated filler that's eroding trust and search performance — and triage what to fix, rewrite, or delete. Use when asked to find slop in a content library, audit AI-written content quality, explain why content engagement or rankings dropped after scaling with AI, or…
respite-care-plan
Plan a genuine break from caregiving — arrange the coverage, hand off the essentials, and actually rest — because respite is what lets you keep going. Use when asked I need a break from caregiving, how do I arrange respite care, I can't leave them alone, or help me get time off from caring. Produces the coverage…
multi-source-signal-synthesiser
Synthesises user signals from multiple research sources into a unified, weighted insight brief. Use when you have data from interviews, support tickets, NPS verbatims, app reviews, or sales calls and need to reconcile contradictions, surface the underlying need behind requests, or answer 'what are users really telling…