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 agentmods add skills/getsimba-ai/simba-mcp/simba-mmm-workflownpx skills add getsimba-ai/simba-mcp --skill simba-mmm-workflowgit clone --depth 1 https://github.com/getsimba-ai/simba-mcpWrote 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/getsimba-ai/simba-mcp/simba-mmm-workflow)<a href="https://agentmods.dev/skills/getsimba-ai/simba-mcp/simba-mmm-workflow"><img src="https://agentmods.dev/badge/skills/getsimba-ai/simba-mcp/simba-mmm-workflow.svg" alt="Measured on agentmods" 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.00060 | $0.00961 |
| Opus 5 | $0.00030 | $0.00481 |
| Sonnet 5 | $0.00012 | $0.00192 |
| Haiku 4.5 | $0.00006 | $0.00096 |
Grade A, and why
simba-mmm-workflow 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 5d 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 — 71 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Simba MMM workflow (upload → create → poll → results)
1. Upload
- Call
get_data_schemafirst and validate the CSV against it — especiallyx-simba-constraints.min_rowsand the media naming rule{channel}_activity/{channel}_spend. Inactive periods are0, never blank/NA. CSV only, 10 MB max. upload_datawithcsv_pathwhen the server runs locally (stdio) — large files must not transit the conversation. On hosted servers passcsv_content. The response'swarningsfield is authoritative on row sufficiency.list_uploads/get_uploadrecover past uploads;get_upload'scolumns([{name, dtype}]) is enough to buildcreate_modelarguments without re-reading the CSV.
2. Create
- Minimal call:
uploaded_file_id,date_column,kpi_column,hierarchy_column(exactly 1 unique value),channels([{name, activity_column, spend_column}]). - Decide at create time if profit analysis is ever wanted: pass
operating_margin(scalar fraction) oroperating_margin_column. These are TOP-LEVEL parameters — a margin placed inside a config dict is silently ignored and the model fits marginless. Without a stored margin,financialsnever appears and every profit optimization must re-supplyforward_margin. - Multiplicative form:
link="log"; attribution conventions other thanremoval_liftrequire it. Priors: see thesimba-prior-conventionsskill before overriding anything. - The response is a
model_hashimmediately — fitting is async.
3. Poll
get_model_statusuntilcompleteorfailed. Fits take minutes to tens of minutes; poll with backoff, don't spin.- On
failed:get_modelreturns the error message plus the full config echo (it works for every status). Fix the config and re-create;delete_modelcleans up the failed entry (failed-only; destructive). - Models start unsaved (invisible to default
list_models) —save_modelfiles them into a project;rename_modelnames without saving.
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.
- 5d ago First seen · 71 lines · 60 tokens per session scan A a5861d1fa5f8
simba-mmm-workflow is a skill published in the GitHub repository getsimba-ai/simba-mcp (0 stars, last pushed 10d ago), licensed MIT. It adds 60 tokens to every session and 961 once invoked, about $0.0003 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
mmm-api-reference
Exact pymc-marketing API reference for MMM code, verified against v1.1.0. Use when writing or reviewing pymc-marketing code, checking constructor signatures, method names, return types, import paths, or plotting/evaluation/optimisation calls. Also use when migrating 0.x code to 1.x, debugging ImportError or…
mmm-channel-semantics
How each type of marketing channel should be represented in an MMM — its role (paid media, reach-and-frequency, organic, non-media treatment, control), whether it is driven by spend or exposure, its carryover and saturation behaviour, and whether a ROAS is even defined for it. Use when deciding what a column means…
mmm-baseline-and-trend
The baseline of an MMM — intercept, trend, seasonality and controls — and how it competes with media for variance. Use when the baseline is negative, implausibly large or small, when deciding between a fixed intercept, a linear trend, changepoints, knots or a time-varying intercept, when seasonality is absorbing…
mmm-causal-design
Causal identification for MMM — what to control for, what never to control for, and why. Use when deciding which variables to include, when a channel's estimate looks structurally wrong, when handling mediators (search volume, site visits, brand metrics), colliders, funnel effects or reverse causality, when building a…
mmm-data-engineering
Building the MMM dataset: sourcing, joining, aggregating, handling missing data, currency and inflation, fiscal calendars, taxonomy mapping, outliers and reproducible pipelines. Use when assembling data from platform exports and finance systems, deciding how to fill gaps, choosing daily vs weekly, aligning spend to…
mmm-diagnostics
Diagnosing a fitted MMM — convergence (r-hat, ESS, divergences, BFMI), fit quality, overfitting, baseline health, prior-to-posterior learning, and attribution plausibility. Use when checking whether a model is trustworthy, debugging sampling failures, interpreting ArviZ 1.x output, deciding whether results are safe to…