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.
npx skills add metrikia-io/marketing-skills --skill client-report-generatorgit clone --depth 1 https://github.com/metrikia-io/marketing-skillsWrote 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.
[](https://agentmods.dev/skills/metrikia-io/marketing-skills/client-report-generator)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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.
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
- Collect two months of exports - ad channels and store, this period and last
- Run
aggregate.py- channel totals, period-over-period, what moved - Read the summary and write the narrative - the real work, three short parts
- 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.
What ships with it
16 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- examples/google_june.csv 4.5 KB
- examples/google_may.csv 4.5 KB
- examples/meta_june.csv 5.3 KB
- examples/meta_may.csv 5.2 KB
- examples/sample-report.html 7.0 KB
- examples/shopify_june.csv 78 KB
- examples/shopify_may.csv 68 KB
- README.md 4.3 KB
- references/how-to-export.md 4.0 KB
- scripts/aggregate.py 8.0 KB runs code
- scripts/build_report.py 12 KB runs code
- scripts/charts.py 9.2 KB runs code
- scripts/columns.py 5.6 KB runs code
- scripts/loaders.py 6.7 KB runs code
- scripts/safe_html.py 3.9 KB runs code
- tests/test_pipeline.py 7.1 KB runs code
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.
- 12d ago First seen · 207 lines · 165 tokens per session scan A aa2855ff7695
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.
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.
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…
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…
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…
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.
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…