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 skills/adkit/ads-mcp/launchnpx skills add adkit/ads-mcp --skill launchgit clone --depth 1 https://github.com/adkit/ads-mcpWhat 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.00065 | $0.00739 |
| Opus 5 | $0.00032 | $0.00369 |
| Sonnet 5 | $0.00013 | $0.00148 |
| Haiku 4.5 | $0.00006 | $0.00074 |
Grade A, and why
launch 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 2d 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.
How it starts
The opening of the file, as written. The whole thing — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Launch Campaign
Requires a connected platform — run /ads:setup first if needed.
1. Campaign hierarchy
The structure is the same across platforms — only entity names differ:
| Level | Meta | TikTok | |
|---|---|---|---|
| Campaign | campaigns |
campaigns |
campaigns |
| Ad group | adsets |
ad-groups |
ad-groups |
| Ad | ads |
ads |
ads |
Every adkit_manage call takes: platform, entity, action, and params.
2. Discover params then create
Call adkit_help path: "manage <platform> <entity> create" for the exact params. Universal params that work on every platform:
| Param | Description |
|---|---|
name |
Entity name (required) |
budget |
{ daily: N } or { lifetime: N } |
status |
active or paused (default: paused) |
Platform-specific params (targeting, optimization, bidding, pixel, channel) vary. Always discover them with adkit_help before your first mutation on a platform.
Create example (platform-agnostic pattern):
adkit_manage platform: "<platform>" entity: "campaigns" action: "create" params: { name: "Spring Sale", objective: "sales", budget: { daily: 50 } }
Then create the ad group referencing the campaign, then the ad referencing the ad group. Each returns a draft ID.
3. Media upload (all platforms)
Two upload methods:
Direct upload (default — handles most files):
adkit_manage platform: "<platform>" entity: "media" action: "upload" params: { source: "url", url: "<public-url>" }
Temporary upload URL (for local files or large assets):
entity: "media" action: "request_upload_url"withfilenameandcontentType→ returns a signed PUT URL anduploadId- PUT the file bytes to the signed URL
entity: "media" action: "upload"with{ source: "temporary_upload", uploadId: "<id>" }
Or use adkit_studio to generate AI creatives instead of uploading.
Bulk media upload
For multiple creatives, repeat the upload flow for each file. Each upload returns a separate media ID. Then create one ad per media ID referencing the same ad group.
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.
- 2d ago First seen · 76 lines · 65 tokens per session scan A b39f465aa8b6
launch is a skill published in the GitHub repository adkit/ads-mcp (12 stars, last pushed 5d ago), licensed MIT. It adds 65 tokens to every session and 739 once invoked, about $0.0003 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 skills, from other repositories
hypd-overview
What the HYPD plugin can do — platforms, analyses and slash commands. Use when the user asks what HYPD is, what it can do, or which command fits their task.
hypd-getting-started
Connect HYPD and your ad accounts. Use when HYPD is not connected yet, a HYPD tool returns an authentication error, or the user asks how to set up or start using HYPD.
hypd-tools
How HYPD's tools work and the invariants to respect when calling them. Load before the first HYPD tool call in a session.
dcf-model
Build discounted cash flow valuation workbooks in Excel.
baoyu-article-illustrator
Article illustrations: type × style × palette consistency.
openhands
Delegate coding to OpenHands CLI (model-agnostic, LiteLLM).