Systems Lab

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.

slowingNeeds a keyActs undeclared427 words

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-tools in the frontmatter. It does act, so it runs under whatever permissions your session already grants.
Actions present in the files
shell

Ask about channel-performance

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
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.

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

ConceptValue
Min data per channel90d OR 50 meetings; below = refusal
CPM(channel cost) / (meetings booked)
CPD(channel cost) / (closed-won deals)
AttributionLast-touch + multi-touch (first 30% / middle 40% / last 30%) — surface both
Marginal CACNext-dollar expected return; equimarginal principle (~19th-c) applied per MMM practice
Budget reallocation cap10–25% shift per quarter (no whiplash)
Open rate exclusionApple MPP noise; reply/meeting/deal rates only

Procedure

  1. Validate inputs. Pull per-channel metrics ≥90d. Below threshold → flag and analyze others. See ${HERMES_SKILL_DIR}/references/attribution-methods.md.
  2. Compute per-channel cost. Tool subscription + per-touch credits + rep time × loaded cost × allocated share. See ${HERMES_SKILL_DIR}/references/cost-calculation.md.
  3. Attribute closed deals. Two methods: last-touch + multi-touch weighted. Surface both; don't pick one as truth.
  4. Compute CPM + CPD. Per channel + per attribution method.
  5. 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.
  6. ROI ranking + reallocation. Rank by CPD and by marginal CAC. When rankings agree → strong recommendation. Disagree → nuanced. Recommend 10–25% shift.
  7. Bullseye refresh. Reference Weinberg & Mares 19 channels. Flag never-tested ring-2 candidates. Per channel: estimated cost-to-test + expected return.
  8. 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

  1. Every channel has ≥90d data OR is flagged insufficient
  2. Cost computation includes rep time allocation
  3. Both attribution methods surfaced
  4. Rankings reproducible from the data
  5. 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.

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.