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 theYahia/WWmcp --skill campaign-launchgit clone --depth 1 https://github.com/theYahia/WWmcpWrote 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/theyahia/wwmcp/campaign-launch)<a href="https://agentmods.dev/skills/theyahia/wwmcp/campaign-launch"><img src="https://agentmods.dev/badge/skills/theyahia/wwmcp/campaign-launch/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/theyahia/wwmcp/campaign-launch"><img src="https://agentmods.dev/badge/skills/theyahia/wwmcp/campaign-launch.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.00000 | $0.00717 |
| Opus 5 | $0.00000 | $0.00358 |
| Sonnet 5 | $0.00000 | $0.00143 |
| Haiku 4.5 | $0.00000 | $0.00072 |
Grade A, and why
campaign-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 6d 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 — 66 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/campaign-launch — New VK Ads campaign
VK Ads v2 has three levels: ad_plans (campaigns) → ad_groups → banners (ads).
No tool here takes an account_id — the cabinet is determined by the token.
Algorithm
- Call
get_account. If the remaining balance is below the campaign budget, stop and report it — VK will accept the campaign and then refuse to serve it. (Balance needs the OAuth scoperead_payments; if it is missing, say so rather than reporting a blank.) - Call
list_campaignsto check the name is not already taken and to see what the account already runs. - Call
create_campaignwith name, objective (e.g.traffic,reach,site_conversions,leadads) andbudget_limitand/orbudget_limit_dayin the cabinet currency — roubles for RUB, not kopecks. - Ad groups carry the targeting and are not creatable from this server. Tell the user to
add an ad group under the new campaign in the VK Ads cabinet, then call
list_ad_groupswithcampaign_idsto get its id. - Call
create_adwith thatad_group_id, plustextblocks,urlsandcontent. Media creatives must already be uploaded in the cabinet —contentreferences their ids (e.g.{"image_600x600": {"id": 123}}). Repeat per creative. - Call
list_adswithad_group_idsto confirm everything landed and reportmoderation_status.
Response format
## VK Ads campaign created
**Balance**: 84,000 ₽
**Campaign (ad_plan)**: "Осенняя распродажа" (id 88214), objective traffic
**Budget**: 30,000 ₽ total / 2,000 ₽ per day
### Ad groups
| id | Name | Delivery |
|----|------|----------|
| 55120 | Москва 25-45 | active |
### Ads (banners)
| id | Title | Moderation |
|----|-------|------------|
| 991201 | Скидки до 40% | moderation |
Notes
- Budgets are in the cabinet currency, not kopecks. 30,000 ₽ =
30000. - New ads go to moderation, not straight to live. Do not tell the user the campaign is
running until
list_adsshows it active. - There is no delete tool —
update_campaignwithaction: "stop"halts a campaign andaction: "delete"marks it deleted. Both are reversible only in the cabinet. - Lists auto-paginate up to
limit(default 200) and reporttruncatedwhen there is more.
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.
- 6d ago First seen · 66 lines · 0 tokens per session scan A 254972a16abe
campaign-launch is a skill published in the GitHub repository theYahia/WWmcp (29 stars, last pushed 5d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 717 tokens. 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-09-06.
Other skills, from other repositories
javascript-typescript
Professional JavaScript and TypeScript development skill covering modern ES6+, TypeScript, Node.js, Express, React, testing frameworks, and best practices. Use this skill when developing JavaScript/TypeScript applications, building React/Node.js projects, implementing RESTful APIs, or need guidance on modern JS/TS…
okx-cex-earn
A tool for managing several earning products on OKX, including savings, lending, staking, DeFi, Dual Investment, and AutoEarn. These products can use deposited cryptocurrency to generate returns, with terms that vary by product.
okx-cex-smartmoney
An OKX tool for studying activity from high-performing traders, sometimes called “smart money.” It shows trader rankings, positions, trades, past results, and combined signals.
adding-a-command
Creates a new CLI command following the Commander.js pattern in src/commands/. Handles command registration in src/cli.ts, telemetry tracking via tracked() wrapper, and option parsing. Use when user says add command, new CLI command, create subcommand, or adds files to src/commands/. Do NOT use for modifying existing…
typescript-patterns
TypeScript types: generics, discriminated unions, Zod, satisfies, branded types. Triggers: TypeScript, TS, generics, Zod, satisfies, strict mode.
aba-precision-protocol
FOUNDATIONAL BEHAVIORAL PROTOCOL — ABA-based precision execution rules. Every prompt processed must follow these rules. Mistakes caught late create intermittent reinforcement of wrong patterns. Stop-fix-verify before proceeding.