Systems Lab

Agent skill

paid-media-analysis

Analyze paid-media performance, compare periods or entities, diagnose issues, and make evidence-backed recommendations across connected ad platforms.

activeSelf-containedInstructions only472 words

Filed under ABM and paid.

From langchain-ai/paid-media-agent · 8 skill entries · 61 · pushed 2026-09-14

What it does when it runs

Analyze paid-media performance, compare periods or entities, diagnose issues, and make evidence-backed recommendations across connected ad platforms.

Automated analysis of the skill and the 1 file 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
None found.
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 only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about paid-media-analysis

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/langchain-ai/paid-media-agent.git /tmp/paid-media-agent
git -C /tmp/paid-media-agent sparse-checkout set "workspace/skills/paid-media-analysis"
mkdir -p ~/.claude/skills/paid-media-analysis
cp -R "/tmp/paid-media-agent/workspace/skills/paid-media-analysis/." ~/.claude/skills/paid-media-analysis/

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.

Reproduced in full from langchain-ai/paid-media-agent/blob/0cc8109a1984377a573ed8d202b3b054db4d7b90/workspace/skills/paid-media-analysis/SKILL.md, which is licensed APACHE-2.0 (repository). 472 words, 1 heading.

Paid-media analysis

Use this skill for performance questions, audits, comparisons, diagnosis, budget reasoning, and recommendations.

  1. Read /skills/company-context/SKILL.md when present for this organization's goals, targets, conversions, and naming. Ask for missing facts the analysis needs; do not guess. Then read /skills/paid-media-wiki/decision-model.md and the page the question calls for: benchmarks.md for "is this good", anomaly-and-significance.md for spikes and drops, bidding-and-budget.md for pacing or budget changes, platform-playbooks.md for a platform's grains and caveats, and answer-style.md before the final answer.
  2. Establish goal, account scope, entity grain, date window, comparison, timezone, and currency. Comparison windows must have the same day count; compare_periods rejects unequal windows. Resolve relative windows one way and say which: "last week" is the most recent complete Monday to Sunday week; "last N days" ends on the latest date the platform reports as complete (data_complete_through), not today; "this month" is the calendar month to date. When a platform's data ends inside the requested window, keep the requested window in the answer and name the missing days rather than silently shrinking it.
  3. Call list_accounts for aliases, then discover_tools with keywords. Never invent a tool name. Platform tools are named <platform>__<tool> and take account_alias, never a provider id. Pipeboard loads all tools exposed by its eight configured MCP servers. Search the live catalog; availability depends on connected accounts and host policy. GA4 uses property aliases.
  4. Pull the smallest complete data using the performance/report tool returned by discovery, for the union of both windows. get_campaign_performance is a fixture tool, not a universal live name. Go one grain lower only when the question needs it: get_ad_group_performance (ad sets, line items) or get_creative_performance where the platform exposes it; rows carry the parent campaign id. Run independent platform reads in parallel. Each read returns a compact read_result with an artifact_id, row count, actual window, missing fields, and flags. Native analytics and platforms without verified spend-unit mappings stay as provider_result artifacts. Do not pass them to spend comparisons or treat GA4 conversions as ad-attributed conversions.
  5. Validate source coverage with references/validation-checklist.md.
  6. For pacing, anomalies, top spenders, or per-entity efficiency inside one window, call summarize_window with the performance artifacts (and the list_campaigns artifacts for daily budgets); it returns per-entity totals, pacing, and a daily series with flagged days. For period-over-period change, call compare_periods with the artifact ids and both windows. List any failed read in unavailable_sources so it stays visible and suppresses the cross-platform total.
  7. Read the analysis_summary. Quote its values verbatim; never recompute from previews or rows. unavailable means missing, not zero.
  8. Explain observation, business meaning, likely drivers, confidence, and next action separately.
  9. Include a measurement and reversal plan for any recommendation.
  10. Create a proposal only when the user asks to change provider state (see paid-media-writes).

Do not use universal performance thresholds. Use configured goals or label the analysis as directional.

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 paid-media-analysis 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.