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 hamzabellouch/agent-skills --skill google-ads-api-quickstartgit clone --depth 1 https://github.com/hamzabellouch/agent-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/hamzabellouch/agent-skills/google-ads-api-quickstart)<a href="https://agentmods.dev/skills/hamzabellouch/agent-skills/google-ads-api-quickstart"><img src="https://agentmods.dev/badge/skills/hamzabellouch/agent-skills/google-ads-api-quickstart.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.00135 | $0.04132 |
| Opus 5 | $0.00068 | $0.02066 |
| Sonnet 5 | $0.00027 | $0.00826 |
| Haiku 4.5 | $0.00014 | $0.00413 |
Grade C, and why
google-ads-api-quickstart scanned grade C with 1 finding 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 7d 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.
Reaches for credential fileshighPrivilege escalation
SSH keys, cloud credentials, git-credentials, .npmrc, /etc/shadow: reading these is how a config file becomes a credential leak.
Once successful, `gcloud` will output a message indicating where the credentials were saved (typically `~/.config/gcloud/application_default_credentials.json`). Open that file to copy your `refresh_token`. This is a copy
100% identical to google-ads-api-quickstart — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 307 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Google Ads API Quickstart
This skill guides you from absolute zero to running your first successful request to retrieve campaigns.
Supported Tracks
You can choose to use this skill with:
- Official Client Libraries: Python, Java, .NET, PHP, Ruby, or Perl.
- Direct REST: Raw HTTP REST requests.
Crucial Requirement: Dynamic Version Resolution & Runtime Resolution
[!IMPORTANT] To ensure the integration is secure, stable, and up-to-date, you must resolve all API and runtime versions dynamically. Do not rely on hardcoded defaults.
Strict Constraints:
- DO NOT Hardcode: Never use hardcoded Google Ads API versions (e.g.,
v24) or language runtime versions (e.g.,Python 3.8+,Java 11+) in generated code or environment setup instructions, unless the user explicitly requests a specific version. - MANDATORY Dynamic Resolution: You must dynamically resolve the latest stable versions at the start of execution before generating any code or configuration, using the procedures detailed below.
A. Dynamic API Version Resolution
To ensure the integration is secure, stable, and up-to-date, you MUST resolve the absolute newest stable major version of the Google Ads API dynamically.
Execution Steps:
-
Pre-Flight Version Resolution: Use your web search or URL-reading tools to inspect the latest entry in the Google Ads API Release Notes or the highest versioned directory in the Googleapis Github Repository to resolve
RESOLVED_API_VERSION(e.g.,v24). If using Java, you MUST also resolve the latest stable release version of the Google Ads Java Client Library (referred to asRESOLVED_LIBRARY_VERSION, e.g.,34.0.0). -
Mandatory Response Anchor: You MUST output the following confirmation block as the very first line of your response to the user. Do not output any greeting, pleasantries, or introductory text before this block.
What ships with it
7 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.
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.
- 7d ago First seen · 307 lines · 135 tokens per session scan C 54f4e4eac588
google-ads-api-quickstart is a skill published in the GitHub repository hamzabellouch/agent-skills (4 stars, last pushed 1mo ago), licensed MIT. It adds 135 tokens to every session and 4,132 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it C with 1 finding (reaches for credential files). It is 100% identical to google-ads-api-quickstart, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
api-and-interface-design
Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.
ubiquitous-language
Maintain a project thesaurus (domain glossary) following DDD ubiquitous language principles. Use PROACTIVELY when naming anything: variables, functions, classes, modules, database fields, API endpoints, events, files, or directories. Also use when the user asks to "create thesaurus", "update glossary", "add term"…
laravel-expert
Laravel & PHP Development Instructions for GitHub Copilot.
component-identification-sizing
Maps architectural components in a codebase and measures their size to identify what should be extracted first. Use when asking "how big is each module?", "what components do I have?", "which service is too large?", "analyze codebase structure", "size my monolith", or planning where to start decomposing. Do NOT use…
evolutionary-modular-architecture
Guides design and implementation of evolutionary modular-monolith platforms with DDD (strategic + tactical), flat-by-aggregate organization, an Anti-Corruption Layer for vendor independence, a transactional outbox for events, smart resilience (backoff with jitter, circuit breakers, idempotency), and a polished…
nestjs-modular-monolith
Specialist in designing and implementing scalable modular monolith architectures using NestJS with DDD, Clean Architecture, and CQRS patterns. Use when building modular monolith backends, designing bounded contexts, creating domain modules, implementing event-driven module communication, or when user mentions "modular…