skills/composites/ad-spend-allocator/SKILL.md
Analyze multi-channel ad performance data and recommend budget reallocation across Google, Meta, LinkedIn, and other paid channels. Identifies over-indexed and under-indexed channels based on CAC, conversion rates, and funnel stage coverage. Produces specific dollar-amount shift recommendations.
npx skillsauth add athina-ai/goose-skills ad-spend-allocatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Take performance data from multiple ad channels and figure out where your next dollar should go. This skill compares channels on equal terms, identifies where you're over-spending vs under-spending relative to results, and produces a concrete budget reallocation plan.
Core principle: Most startups either spread budget too thin across channels (no channel gets enough to learn) or dump everything into one channel (missing cheaper opportunities elsewhere). This skill finds the right distribution.
Normalize all channels to the same metrics:
| Channel | Monthly Spend | Impressions | Clicks | CTR | CPC | Conversions | Conv Rate | CPA | ROAS | CAC* | |---------|-------------|------------|--------|-----|-----|-------------|----------|-----|------|------| | Google Search | $[X] | [N] | [N] | [X%] | $[X] | [N] | [X%] | $[X] | [X] | $[X] | | Google Display | ... | | | | | | | | | | | Meta (FB/IG) | ... | | | | | | | | | | | LinkedIn | ... | | | | | | | | | | | [Other] | ... | | | | | | | | | | | Total | $[X] | | | | | [N] | | $[X] avg | [X] avg | $[X] avg |
*CAC = Full customer acquisition cost if funnel data provided (CPA × close-rate adjustment)
Channel CAC = CPA ÷ (MQL rate × SQL rate × Close rate)
This reveals which channels produce leads that actually close, not just convert.
| Rank | Channel | CPA | Funnel-Adj CAC | Share of Spend | Share of Conversions | Efficiency Index | |------|---------|-----|---------------|----------------|---------------------|-----------------| | 1 | [Channel] | $[X] | $[X] | [X%] | [X%] | [Conv share ÷ Spend share] |
Efficiency Index:
For each channel, estimate if additional spend would yield proportional returns:
| Channel | Current CPA | Impression Share / Saturation Signal | Marginal Return Estimate | |---------|-------------|-------------------------------------|------------------------| | Google Search | $[X] | [X%] impression share — room to grow | Likely positive | | Meta | $[X] | Frequency [X] — audience may be saturated | Diminishing | | LinkedIn | $[X] | Low volume — limited targeting pool | Ceiling soon |
| Funnel Stage | Channels Covering It | Current Spend | Gap? | |-------------|---------------------|--------------|------| | Awareness (top) | [Meta Display, YouTube] | $[X] | [Yes/No] | | Consideration (mid) | [Google Search, Meta retargeting] | $[X] | [Yes/No] | | Decision (bottom) | [Google Brand, Google Search] | $[X] | [Yes/No] | | Retargeting | [Meta, Google Display] | $[X] | [Yes/No] |
| Channel | Current Spend | Recommended Spend | Change | Reasoning | |---------|-------------|------------------|--------|-----------| | Google Search | $[X] | $[Y] | +$[Z] | [Lowest CPA, room to scale] | | Meta | $[X] | $[Y] | -$[Z] | [Audience saturation, frequency too high] | | LinkedIn | $[X] | $[Y] | $0 | [Maintain — niche but valuable] | | [New channel] | $0 | $[Y] | +$[Y] | [Test budget — competitors succeeding here] | | Total | $[X] | $[X] | $0 | Budget-neutral reallocation |
Scenario 1: Conservative shift (+/- 20%)
Scenario 2: Aggressive shift (+/- 40%)
Scenario 3: Budget increase to $[Y]/mo
# Ad Spend Allocation — [Product/Client] — [DATE]
Total monthly budget: $[X]
Active channels: [list]
Period analyzed: [date range]
---
## Current State
| Channel | Spend | % of Budget | Conversions | CPA | Efficiency |
|---------|-------|------------|-------------|-----|-----------|
| [Channel] | $[X] | [X%] | [N] | $[X] | [Over/Under/Fair] |
**Blended CPA:** $[X]
**Total conversions:** [N]
---
## Recommended Reallocation
| Channel | Current | Recommended | Change | Why |
|---------|---------|------------|--------|-----|
| [Channel] | $[X] | $[Y] | [+/-$Z] | [1-line reason] |
**Projected impact:**
- Conversions: [N] → [N] (+[X%])
- Blended CPA: $[X] → $[Y] (-[X%])
---
## Funnel Stage Coverage
[Coverage map with gaps identified]
---
## New Channel Recommendations
### [Channel Name]
- **Why test:** [Reasoning]
- **Recommended test budget:** $[X]/mo for [X weeks]
- **Success criteria:** CPA < $[X]
- **Competitors using it:** [Yes/No — who]
---
## Implementation Plan
### Week 1: Quick Shifts
- [ ] Reduce [Channel] from $[X] to $[Y]
- [ ] Increase [Channel] from $[X] to $[Y]
- [ ] Set up [New Channel] test campaign
### Week 2-4: Monitor
- [ ] Track CPA shifts on scaled channels
- [ ] Watch for diminishing returns signals
- [ ] Evaluate new channel performance
### Month 2: Re-evaluate
- [ ] Run this analysis again with new data
- [ ] Adjust allocations based on actual results
Save to clients/<client-name>/ads/spend-allocation-[YYYY-MM-DD].md.
| Component | Cost | |-----------|------| | Data analysis | Free (LLM reasoning) | | Statistical modeling | Free | | Total | Free |
content-media
Takes an existing screen recording or demo video and adds professional zoom/pan effects synchronized to the narration. Uses transcript-driven zoom targeting and Remotion for rendering. Optionally replaces audio with a soundtrack.
tools
Repurposes long-form video (podcasts, interviews, talks) into short-form vertical clips for Instagram Reels, TikTok, and YouTube Shorts. Handles transcription, moment selection, clip extraction, speaker-tracked reframing (16:9 to 9:16), and animated captions.
development
Creates talking head videos from any source material (docs, changelogs, blog posts, notes, transcripts). Produces multi-scene videos with avatar narration over screenshots/images using HeyGen v2 API. Supports Quick Shot and Full Producer modes.
tools
Generates Instagram-ready product reels from any e-commerce product page URL. Scrapes product images, classifies by type, generates AI-animated clips via Higgsfield API, creates text overlays with style presets, and composes a 15-20 second reel with music. Supports model-based and product-only reels.