Agent skill
channel-performance
Analyze per-channel performance and recommend budget reallocation using cost-per-meeting, cost-per-deal, marginal-CAC analysis, and Bullseye Framework refresh.
Filed under Partnerships and channel.
From devangk003/gtm-agent-skills · 32 skills · 0 · pushed 2026-06-18
What it does when it runs
Analyze per-channel performance and recommend budget reallocation using cost-per-meeting, cost-per-deal, marginal-CAC analysis, and Bullseye Framework refresh. Use when the user says "channel performance review", "which channel should get more budget", "compare channels", or "Bullseye refresh.
Read from the skill and the 5 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- AGENTIC_APP_TOKEN
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It does act, so it runs under whatever permissions your session already grants. - Actions present in the files
- shell
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/devangk003/gtm-agent-skills.git /tmp/gtm-agent-skills git -C /tmp/gtm-agent-skills sparse-checkout set "channel-performance" mkdir -p ~/.claude/skills/channel-performance cp -R "/tmp/gtm-agent-skills/channel-performance/." ~/.claude/skills/channel-performance/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
Before you install: this skill will not complete its job on a bare agent. It needs AGENTIC_APP_TOKEN, which you have to obtain separately.
The skill
Source on GitHub ↗Reproduced in full from devangk003/gtm-agent-skills/blob/6b9a1b0094ffd83d6c02bc03b7ce1610661a1644/channel-performance/SKILL.md, which is licensed MIT (skill frontmatter). 427 words, 6 headings.
Channel Performance
Analyze per-channel performance across 90+ days of data, compute cost-per-meeting + cost-per-deal, run marginal-CAC analysis, rank by ROI, and recommend budget reallocation. References Weinberg & Mares Bullseye Framework. Hard rule: never recommend reallocation on <90d data.
When to Use
- Quarterly channel performance review
- Should we cut/invest in a specific channel
- Budget reallocation for next quarter
- Bullseye refresh — which channels haven't we tried
- User says "channel performance review" or "which channel gets more budget"
Quick Reference
| Concept | Value |
|---|---|
| Min data per channel | 90d OR 50 meetings; below = refusal |
| CPM | (channel cost) / (meetings booked) |
| CPD | (channel cost) / (closed-won deals) |
| Attribution | Last-touch + multi-touch (first 30% / middle 40% / last 30%) — surface both |
| Marginal CAC | Next-dollar expected return; equimarginal principle (~19th-c) applied per MMM practice |
| Budget reallocation cap | 10–25% shift per quarter (no whiplash) |
| Open rate exclusion | Apple MPP noise; reply/meeting/deal rates only |
Procedure
- Validate inputs. Pull per-channel metrics ≥90d. Below threshold → flag and analyze others. See
${HERMES_SKILL_DIR}/references/attribution-methods.md. - Compute per-channel cost. Tool subscription + per-touch credits + rep time × loaded cost × allocated share. See
${HERMES_SKILL_DIR}/references/cost-calculation.md. - Attribute closed deals. Two methods: last-touch + multi-touch weighted. Surface both; don't pick one as truth.
- Compute CPM + CPD. Per channel + per attribution method.
- Marginal CAC analysis. Per channel: estimate next-dollar return based on diminishing-returns curve. Channel near-cap = high marginal CAC. See
${HERMES_SKILL_DIR}/references/marginal-cac.md. - ROI ranking + reallocation. Rank by CPD and by marginal CAC. When rankings agree → strong recommendation. Disagree → nuanced. Recommend 10–25% shift.
- Bullseye refresh. Reference Weinberg & Mares 19 channels. Flag never-tested ring-2 candidates. Per channel: estimated cost-to-test + expected return.
- Push to CRM. Full report as
interaction:research. See${HERMES_SKILL_DIR}/scripts/push_to_crm.py.
Pitfalls
- Cutting a channel after one bad month — require 90d+
- Last-touch as the truth — over-credits email; always show multi-touch
- Ignoring rep time cost — cold call is expensive when you cost hours
- Whiplash reallocation (50%+ in one quarter) — cap at 25%
- Open rate in channel comparison — Apple MPP noise
- Channels with small samples treated equally — surface uncertainty
Verification
- Every channel has ≥90d data OR is flagged insufficient
- Cost computation includes rep time allocation
- Both attribution methods surfaced
- Rankings reproducible from the data
- Reallocation recommendations sized within 10–25%
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- channel-fallback-logic by louisblythe · 136
- channel-preference-detection by louisblythe · 136
- multi-channel-coordination by louisblythe · 136
- performance-analytics by louisblythe · 136
- performance-analysis by kenny589 · 63
- performance-marketing by realjaymes · 55
- partner-channel-operations by NEON-Rutger · 45
- team-performance-dashboard by LaGrowthMachine · 34
Need help setting it up?
This page tells you what channel-performance does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.