Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Budget allocation and bidding strategy review across all ad platforms. Evaluates spend distribution, bidding strategy appropriateness, scaling readiness, and identifies campaigns to kill or scale. Uses 70/20/10 rule, 3x Kill Rule, and 20% scaling rule. Triggers on: "budget allocation", "bidding strategy", "ad spend", "ROAS target", "media budget", "scaling", "kill list"
.claude/skills/miosa-osa-ads-budget/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-15 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 42% | 0% |
> Cross-platform budget allocation, bidding strategy review, and scaling assessment.
bash/ads budget /ads budget --platforms google meta tiktok
| Business Type | Primary | Secondary | Testing | |---------------|---------|-----------|---------| | SaaS B2B | Google Search, LinkedIn | Meta, YouTube | TikTok, Microsoft | | E-commerce | Google Shopping, Meta | TikTok, YouTube | Microsoft, LinkedIn | | Local Service | Google Search, Google LSA | Meta | Microsoft, YouTube | | B2B Enterprise | LinkedIn, Google Search | Meta | Microsoft, TikTok | | Info Products | Meta, YouTube | Google Search | TikTok | | Mobile App | Meta, Google UAC | TikTok | Apple Search Ads | | Real Estate | Google Search, Meta | YouTube | Microsoft | | Healthcare | Google Search | Meta | Microsoft, YouTube | | Finance | Google Search, Meta | LinkedIn | Microsoft |
| Platform | Minimum Daily | Learning Phase Budget | |----------|--------------|----------------------| | Google Search | $20/day | Sufficient for 15+ conv/month | | Google PMax | $50/day | Sufficient for algorithm optimization | | Meta | $20/day per ad set | >=5x target CPA per ad set | | LinkedIn | $50/day Sponsored Content | 15+ conversions/month | | TikTok | $50/day campaign, $20/day ad group | >=50x target CPA per ad group | | Microsoft | No strict minimum | Sufficient for stable delivery |
Start
-- <30 conversions/month?
-- Use Maximize Clicks (cap CPC at benchmark)
-- When >30 conv/month: Maximize Conversions
-- 30-50 conversions/month?
-- Use Maximize Conversions
-- When stable CPA: Target CPA
-- >50 conversions/month?
-- Use Target CPA
-- When revenue tracking: Target ROAS
-- Revenue tracking active + >50 conv/month?
-- Use Target ROASNever increase budget by more than 20% at a time:
| Scenario | Data Required | Action | |----------|---------------|--------| | CPA >3x target | >=7 days data, >=20 clicks | Pause immediately | | No conversions | >=$100 spend or >=50 clicks | Pause and diagnose | | CTR <50% of benchmark | >=1,000 impressions | Kill creative, test new | | ROAS <50% of target | >=14 days data | Reduce budget 50% or pause |
MER = Total Revenue / Total Marketing SpendBUDGET-STRATEGY-REPORT.md — Full allocation and bidding analysis| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-15 | fail→pass | 13,186 | 12,254 | -7% | 1 | 1 | 0% | 2,034 | 3,300 | +62% | 0 | 0 | — |
case-01 | fail→pass | 30,096 | 47,417 | +58% | 1 | 1 | 0% | 4,986 | 7,327 | +47% | 0 | 0 | — |
case-02 | fail→fail | 44,647 | 34,851 | -22% | 1 | 1 | 0% | 8,003 | 6,832 | -15% | 0 | 0 | — |
case-03 | fail→fail | 26,934 | 42,399 | +57% | 1 | 1 | 0% | 4,347 | 8,293 | +91% | 0 | 0 | — |
case-04 | pass→pass | 15,189 | 18,066 | +19% | 1 | 1 | 0% | 2,121 | 4,071 | +92% | 0 | 0 | — |
case-05 | pass→pass | 13,577 | 14,980 | +10% | 1 | 1 | 0% | 2,410 | 3,778 | +57% | 0 | 0 | — |
case-06 | pass→pass | 19,937 | 30,255 | +52% | 1 | 1 | 0% | 2,677 | 5,238 | +96% | 0 | 0 | — |
case-07 | pass→pass | 16,406 | 12,605 | -23% | 1 | 1 | 0% | 2,333 | 3,534 | +51% | 0 | 0 | — |
case-08 | fail→fail | 11,737 | 10,607 | -10% | 1 | 1 | 0% | 1,848 | 3,195 | +73% | 0 | 0 | — |
case-09 | pass→pass | 12,372 | 11,334 | -8% | 1 | 1 | 0% | 2,080 | 3,212 | +54% | 0 | 0 | — |
case-10 | pass→pass | 10,654 | 12,747 | +20% | 1 | 1 | 0% | 1,833 | 3,301 | +80% | 0 | 0 | — |
case-11 | fail→fail | 13,146 | 14,284 | +9% | 1 | 1 | 0% | 2,219 | 3,681 | +66% | 0 | 0 | — |
case-12 | fail→pass | 13,601 | 13,851 | +2% | 1 | 1 | 0% | 2,187 | 3,363 | +54% | 0 | 0 | — |
case-13 | pass→pass | 16,445 | 24,357 | +48% | 1 | 1 | 0% | 2,351 | 3,406 | +45% | 0 | 0 | — |
case-14 | fail→pass | 13,173 | 7,411 | -44% | 1 | 1 | 0% | 1,982 | 2,476 | +25% | 0 | 0 | — |
case-16 | fail→pass | 17,218 | 15,121 | -12% | 1 | 1 | 0% | 2,674 | 3,786 | +42% | 0 | 0 | — |
case-17 | pass→pass | 19,973 | 20,536 | +3% | 1 | 1 | 0% | 3,099 | 4,221 | +36% | 0 | 0 | — |
case-18 | pass→pass | 8,571 | 8,864 | +3% | 1 | 1 | 0% | 1,517 | 3,116 | +105% | 0 | 0 | — |
case-19 | fail→fail | 14,082 | 11,160 | -21% | 1 | 1 | 0% | 2,293 | 3,019 | +32% | 0 | 0 | — |
case-20 | pass→pass | 15,025 | 17,757 | +18% | 1 | 1 | 0% | 2,366 | 4,322 | +83% | 0 | 0 | — |
case-21 | fail→pass | 6,696 | 10,013 | +50% | 1 | 1 | 0% | 1,098 | 2,319 | +111% | 0 | 0 | — |
case-22 | pass→pass | 12,626 | 11,002 | -13% | 1 | 1 | 0% | 2,020 | 3,110 | +54% | 0 | 0 | — |
case-23 | fail→pass | 15,313 | 13,999 | -9% | 1 | 1 | 0% | 2,322 | 3,473 | +50% | 0 | 0 | — |
case-24 | pass→pass | 12,101 | 15,102 | +25% | 1 | 1 | 0% | 1,962 | 3,903 | +99% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted. The headline lift of +29 percentage points is the difference between those two pass rates over the 24 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.