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 amekala/ads-mcp --skill adspirer-tiktok-adsgit 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/skills/amekala/ads-mcp/adspirer-tiktok-ads)<a href="https://agentmods.dev/skills/amekala/ads-mcp/adspirer-tiktok-ads"><img src="https://agentmods.dev/badge/skills/amekala/ads-mcp/adspirer-tiktok-ads/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/amekala/ads-mcp/adspirer-tiktok-ads"><img src="https://agentmods.dev/badge/skills/amekala/ads-mcp/adspirer-tiktok-ads.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00067 | $0.00973 |
| Opus 5 | $0.00034 | $0.00487 |
| Sonnet 5 | $0.00013 | $0.00195 |
| Haiku 4.5 | $0.00007 | $0.00097 |
Grade A, and why
adspirer-tiktok-ads 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 13d 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 — 82 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TikTok Ads
Everything on TikTok goes through the tiktok_ads router. Follow adspirer-mcp for the two-step.
Account parameter: advertiser_id, as a string. Budgets are in the account's currency.
TikTok rejects invalid combinations of objective, optimization goal, and tracking rather than
correcting them. Check references/validity-matrix.md before you build an ad group. A rejected
call fails the same way on retry.
The pixel rule — read this before anything else
Where the pixel goes depends on the objective:
- Objective is
CONVERSIONS,WEB_CONVERSIONS,PRODUCT_SALES, orSHOP_PURCHASES→ setpixel_idon the ad group, andoptimization_eventbecomes required. - Any other objective → the pixel goes on the ad as
tracking_pixel_id. An ad-grouppixel_idis rejected withPIXEL_ID_NOT_ALLOWED_FOR_OBJECTIVE.
This single rule is the most common TikTok error we see. A traffic campaign with a pixel on the ad group fails every time.
There is no single-image in-feed ad
TikTok does not support one static image as an in-feed ad. It returns error 40002. Use:
- a video ad (
create_tiktok_video_campaign), - a Spark Ad boosting an existing organic post (
tiktok_item_id), or - a carousel, 2–10 images with music (
create_tiktok_carousel_card).
If the user only has one image, say so and offer the carousel or a video.
Uploads fail quietly
After uploading a video, check video_id. If it comes back as the string "None", the upload
failed — it is not null and it will not error. Re-upload. Never create an ad with video_id: "None".
Budgets have per-currency floors
USD 20 · EUR 20 · GBP 15 · CAD 25 · AUD 30 · SGD 25 · BRL 100 · HKD 150 · MXN 350 · ZAR 500 · TWD 600 · PHP 1000 · INR 1500 · JPY 2500. Lifetime budgets floor at roughly 7× the daily figure. The full table is in the reference. Below the floor TikTok replies "Your budget setting must not be less than X."
Objectives
Valid: REACH, RF_REACH, VIDEO_VIEWS, ENGAGEMENT, TRAFFIC, APP_INSTALL, APP_PROMOTION,
LEAD_GENERATION, CONVERSIONS, WEB_CONVERSIONS, PRODUCT_SALES, SHOP_PURCHASES,
CATALOG_SALES.
What ships with it
1 file 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.
- 13d ago First seen · 82 lines · 67 tokens per session scan A 9bcf3b2f24d8
adspirer-tiktok-ads is a skill published in the GitHub repository amekala/ads-mcp (90 stars, last pushed 5d ago), licensed MIT. It adds 67 tokens to every session and 973 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
adspirer-ads-agent
Adspirer — AI-powered advertising and performance marketing agent. Manage Google Ads, Meta Ads (Facebook & Instagram), LinkedIn Ads, and TikTok Ads via natural language. 100+ tools for paid media campaign creation, live performance analysis, PPC keyword research with real CPC data, budget optimization, ad creative…
adcp-advertising
Automate advertising campaigns with AI. Create ads, buy media, manage ad budgets, discover ad inventory, run display ads, video ads, CTV campaigns, and optimize ad performance. Perfect for marketing automation, programmatic advertising, media buying, ad management, campaign optimization, creative management, and…
_mureo-shared
Skill "_mureo-shared" from logly/mureo, covering mureo shared patterns, installation, setup, claude code (recommended) and manual configuration.
_mureo-strategy
Strategy Context: Manage business strategy files (STRATEGY.md, STATE.json) for strategy-driven ad operations.
daily-check
Run a daily health check on all configured ad accounts (Google Ads, Meta Ads, Amazon Ads, TikTok Ads, Search Console, GA4, and any configured plugin platform). Use when the user asks for a daily review, health check, status update, anomaly detection, or 'how are my campaigns doing today'. Reads STRATEGY.md and…
_mureo-google-ads
Google Ads: Manage campaigns, ad groups, ads, keywords, budgets, and performance analysis.