client-report-generator

client-report-generator is a skill for Claude Code from metrikia-io/marketing-skills. It costs 165 tokens per session (2,422 once invoked), scanned A, original, MIT.

A guide for turning advertising data from a month or week into a report that explains what changed and why in language a client or manager can understand. It focuses on interpreting the numbers rather than merely drawing charts.

In plain words
What is it for?
Use it to prepare client or management reports from ad exports, compare periods, explain performance changes, and state which conclusions the data can reliably support.
Why use it?
It removes the manual comparison and explanation work that comes after exporting data from advertising platforms.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the marketing-skills plugin — 2 skills shipped together

Good fit Use it to prepare client or management reports from ad exports, compare periods, explain performance changes, and state which conclusions the data can reliably support.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/metrikia-io/marketing-skills/client-report-generator
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add metrikia-io/marketing-skills --skill client-report-generator
Clone the repo
git clone --depth 1 https://github.com/metrikia-io/marketing-skills

Made for: Claude Code.

Or install marketing-skills, the plugin that ships this one along with the rest of its 2 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for client-report-generator

README.md
[![agentmods](https://agentmods.dev/badge/skills/metrikia-io/marketing-skills/client-report-generator/github.svg)](https://agentmods.dev/skills/metrikia-io/marketing-skills/client-report-generator)
Your own site
<a href="https://agentmods.dev/skills/metrikia-io/marketing-skills/client-report-generator"><img src="https://agentmods.dev/badge/skills/metrikia-io/marketing-skills/client-report-generator/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for client-report-generator

Your own site · 80×15
<a href="https://agentmods.dev/skills/metrikia-io/marketing-skills/client-report-generator"><img src="https://agentmods.dev/badge/skills/metrikia-io/marketing-skills/client-report-generator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 165 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,422 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00165 $0.02422
Opus 5 $0.00082 $0.01211
Sonnet 5 $0.00033 $0.00484
Haiku 4.5 $0.00016 $0.00242

Measured 12d ago against content hash aa2855ff7695, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

client-report-generator scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

The scan reads SKILL.md. This mod also ships 7 executable files (scripts/aggregate.py, scripts/build_report.py, scripts/charts.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/client-report-generator/SKILL.md · 207 lines

How it starts

The opening of the file, as written. The whole thing — 207 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Client Report Generator

The monthly client report is done by hand almost everywhere. A VA pulls numbers into a deck and the buyer writes the insights. This automates the pull and the comparison; the write-up you still do properly, because that is the part with the value in it.

What this actually competes with

Not Looker Studio. Looker already draws the charts, connects to the APIs, and does it for free. Shipping another chart tool would be strictly worse.

The manual work is not the charts. It is the two things a person does after the charts exist: comparing this month to last, and writing what changed and why in language a client understands. A verbatim from the people who do this: "I have a VA pull reporting manually and drop into a deck and I/buyer write the insights." And the reason it matters: "it's hard to pitch to upper management or clients, specially on those who don't have a deeper marketing understanding."

So the deliverable is not a dashboard. It is the narrative that makes the numbers defensible to someone who does not live in Ads Manager. That is what a client pays an agency for, and it is the section this tool exists to produce well.

Checklist

  1. Collect two months of exports - ad channels and store, this period and last
  2. Run aggregate.py - channel totals, period-over-period, what moved
  3. Read the summary and write the narrative - the real work, three short parts
  4. Build the report - build_report.py, then how to get a PDF

Step 1: Get the data by the cheapest route that works

Check for a connection before asking for a file. Meta publishes an official MCP server at https://mcp.facebook.com/ads. Everything this tool needs on the Meta side is there, verified on a live account on 2026-08-11: amount_spent, impressions, clicks, actions:omni_purchase, omni_purchase_values and purchase_roas, per campaign, over any date range. Pull both periods directly and skip the Meta exports entirely. Only the store file is left, and a two-round request becomes a one-line one.

Read the full file on GitHub · 207 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 207 lines · 165 tokens per session scan A aa2855ff7695

Subscribe to this mod's changes

client-report-generator is a skill published in the GitHub repository metrikia-io/marketing-skills (1 stars, last pushed 1mo ago), licensed MIT. It adds 165 tokens to every session and 2,422 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

Threat Intelligence & CTI

Cyber threat intelligence production — the intelligence cycle, IOC extraction/normalization/enrichment, STIX/TAXII and MISP, structured analytic models (Diamond, Kill Chain, ATT&CK), source scoring, actor/campaign tracking, and finished intelligence reporting.

Masriyan/Claude-Code-CyberSecurity-Skill · 57 tokens

ads-creative-development

How to produce ad creative that converts at performance scale. Hook patterns, format selection, video pacing, variation systems, sequential testing methodology, fatigue detection, brand-voice alignment without conversion dilution, and platform-specific creative norms. Triggers on ad creative, ad design, hook patterns…

rampstackco/claude-skills · 124 tokens

ads-performance-analytics

How to read paid media dashboards without fooling yourself. Attribution models, platform reporting quirks, multi-platform reconciliation, ROAS vs LTV horizon traps, statistical noise in performance metrics, incrementality testing, and the failure modes that produce expensive lessons. Triggers on read paid media…

rampstackco/claude-skills · 147 tokens

paid-media-strategy

A discipline for running paid media that does not light money on fire. Hypothesis writing for paid spend, channel selection, budget allocation, audience targeting, bid strategy, campaign types, what NOT to spend on, attribution reality, and the failure modes that produce expensive lessons. Triggers on paid media…

rampstackco/claude-skills · 142 tokens

ecommerce-full-pipeline

An e-commerce workflow assistant covering product discovery, 1688 product collection, listing on multiple platforms, promotional copy, and short-video creation. 1688 is a Chinese online wholesale marketplace.

anbeime/skill · 96 tokens

absolute-simplify

Use when the user wants to simplify, clean up, refactor, tidy, or refine code — their staged/unstaged git changes or a target file/path. Reduces complexity, flattens nesting, removes redundancy and dead code, scores each change by value (holding low-value churn), then runs tests to prove nothing broke. Invoke on…

maddhruv/absolute · 178 tokens