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 agentmods add commands/klosk/adloop/create-adgit clone --depth 1 https://github.com/kLOsk/adloopWhat 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 | $0.00012 | $0.00371 |
| Opus 5 | $0.00006 | $0.00186 |
| Sonnet 5 | $0.00002 | $0.00074 |
| Haiku 4.5 | $0.00001 | $0.00037 |
Grade A, and why
create-ad 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 yesterday.
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
Create a Google Ads responsive search ad for: $ARGUMENTS
1. Research
get_campaign_performance— find campaign structure and campaign.idrun_gaql— get ad group IDs:SELECT ad_group.id, ad_group.name FROM ad_group WHERE campaign.id = {id}get_tracking_events— verify conversion tracking exists
2. Pre-write validation (CRITICAL)
Before drafting anything, check:
- Is the bidding strategy appropriate? MANUAL_CPC = warn user, adding ads won't help before fixing bidding
- Does the campaign have conversions? High spend + zero conversions = warn, adding ads won't help
- Quality scores? All below 5 = relevance problem, not ad problem
- If systemic issues found, warn user before proceeding
3. Landing page analysis
- Read the landing page code to extract value propositions
- Determine the correct language — if unclear, ASK the user before writing any copy
4. Write ad copy
- 8-10 diverse headlines (MAX 30 characters each — count every one!)
- 3-4 descriptions (MAX 90 characters each)
- Count characters BEFORE calling draft_responsive_search_ad
- Aim for 25 chars on headlines to leave margin
- Write in the landing page's language
- Make headlines diverse — don't repeat the same message
5. Draft and confirm
- Call
draft_responsive_search_adwith the copy - Show full preview to user including any warnings
- Wait for explicit approval
confirm_and_apply(plan_id=..., dry_run=true)first- Only
dry_run=falseafter user explicitly confirms
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.
- yesterday First seen · 43 lines · 12 tokens per session scan A b22e094c32bc
create-ad is a command published in the GitHub repository kLOsk/adloop (253 stars, last pushed 1mo ago), licensed MIT. It adds 12 tokens to every session and 371 once invoked, about $0.0001 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 commands, from other repositories
seo-audit
Run a multi-agent SEO/discoverability audit of a page (URL or local .html), grounded in the Google docs KB, and write a scored cited report.
google-docs
Answer a question from the local Google docs knowledge base (Search/SEO, Search Console, Ads, GA4) with citations to the original sourceurl.
setup
First-run setup for the ga-mcp-full MCP server — install the CLI if needed, then complete the browser login.
auth-login
Run the Google Analytics OAuth browser flow and cache credentials for the ga-mcp-full MCP server.
auth-status
Show the current Google Analytics auth status for the ga-mcp-full MCP server.
auth-logout
Clear cached Google Analytics OAuth credentials for the ga-mcp-full MCP server.