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 OrbiAds/Orbiads-GAM-MCP --skill reportinggit clone --depth 1 https://github.com/OrbiAds/Orbiads-GAM-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/orbiads/orbiads-gam-mcp/reporting)<a href="https://agentmods.dev/skills/orbiads/orbiads-gam-mcp/reporting"><img src="https://agentmods.dev/badge/skills/orbiads/orbiads-gam-mcp/reporting/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/orbiads/orbiads-gam-mcp/reporting"><img src="https://agentmods.dev/badge/skills/orbiads/orbiads-gam-mcp/reporting.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.00076 | $0.01238 |
| Opus 5 | $0.00038 | $0.00619 |
| Sonnet 5 | $0.00015 | $0.00248 |
| Haiku 4.5 | $0.00008 | $0.00124 |
Grade A, and why
orbiads-reporting 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 10d 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 — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OrbiAds GAM — Reporting, Forecasting & Delivery Analytics
Run delivery and inventory reports, check prospective or standalone availability forecasts, and execute PQL queries.
Mode: mixed (read + write) · Tools included: 4 · Total actions: 39 · CLI coverage: partial (35/39 actions)
Parent MCP tools: mcm, pql, preview, reporting.
Surfaces
OrbiAds exposes the same backend through two surfaces; MCP is the default. A subset of actions also has a CLI command (cli_coverage: partial — 35/39 actions here). Per-action availability (MCP command vs orbiads <command> vs MCP-only) is listed in references/actions.md.
Rule: if an action is marked MCP-only in that table, fall back to the MCP surface (or the web app) for it — never improvise a raw REST call or shell around the CLI.
CLI usage
pip install orbiads-cli
orbiads auth status --json # verify you are authenticated first
orbiads network info --json # confirm the active tenant / network
- Always pass
--jsonso the agent parses structured output, never scraped text. - CLI gap → fall back to MCP for that action; never shell out around the CLI.
Safety Contract
- Reads are free; writes cost credits. Call reads liberally for state discovery before any mutation.
- preview → confirm → execute. Every write runs once with
dry_run=true(or noconfirmation_token) to return a preview + token + cost, then again with the same payload +confirmation_token. Get explicit user consent between the two calls. - Never bypass
billing_guardand never reuse a stale token — payload drift returnsIDEMPOTENCY_KEY_MISMATCH; refresh the preview. - Never invent identifiers. Do not guess a
tenantId/networkCode/ advertiser / order id — resolve them from the session or a read first. - At most 2 write retries, then stop and report.
- Never leak raw SOAP/REST traces to the user — surface the structured
errorobject instead. - These rules apply identically on the MCP and CLI surfaces — a CLI write (
orbiads ... create/deploy) needs the same preview + explicit user confirmation as an MCP write.
What ships with it
1 file 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.
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.
- 10d ago First seen · 88 lines · 0 tokens per session scan A 6791ce97fea6
orbiads-reporting is a skill published in the GitHub repository OrbiAds/Orbiads-GAM-MCP (3 stars, last pushed 1mo ago), licensed MIT. It adds 76 tokens to every session and 1,238 once invoked, about $0.0004 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
verifying-compose-ui
Verifying Compose UI by rendering components or previews and inspecting the resulting images and state transitions. Activate for visual behavior that requires runtime rendering; use ordinary tests for nonvisual logic.
ingest-gradle-upgrade
Ingests a Gradle wrapper upgrade for this repository: reads the release notes, upgrade guides, and linked documentation for the version upgraded to, then updates this repo's own code/tooling and the shipped Gradle MCP skills (src/main/skills/) so everything stays accurate for that version. Positive Triggers (when to…
authoring-gradle-builds
Authoring and modifying Gradle build logic, including settings, plugins, dependencies, tasks, conventions, and upgrades. Activate when build files or plugins must change; use using-gradle for inspection or execution without build-definition edits.
advanced-gradle-dependencies
Analyzing advanced Gradle dependency behavior, including resolution, variants, capabilities, conflicts, constraints, and publication metadata. Activate for dependency-resolution design or diagnosis; use authoring-gradle-builds for routine dependency declarations.
raindrop-mcp
Connect Raindrop.io to your AI assistant with a simple MCP server. Use it to organize, search, and manage bookmarks with natural language.
issue-management
Create, update, list and search GitHub issues and PRs, list a repository's labels, run milestones, and check for duplicates.