Blog Google
AgriciDaniel/claude-blog
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…
Manage Google Ads accounts with safe GAQL reporting, campaign planning, guarded mutations, and gateway-proxied REST API calls.
$ npx skills add HybridAIOne/hybridclaw --skill google-ads -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HybridAIOne/hybridclaw google-ads --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/google-ads .claude/skills/google-ads && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "google-ads" agent skill from https://github.com/HybridAIOne/hybridclaw/tree/main/skills/google-ads into .claude/skills/google-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-ads", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/HybridAIOne/hybridclaw/tree/main/skills/google-adsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add HybridAIOne/hybridclaw --skill google-ads -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HybridAIOne/hybridclaw google-ads --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/google-ads .agents/skills/google-ads && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "google-ads" agent skill from https://github.com/HybridAIOne/hybridclaw/tree/main/skills/google-ads into .agents/skills/google-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-ads", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HybridAIOne/hybridclaw --skill google-ads -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HybridAIOne/hybridclaw google-ads --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/google-ads .cursor/skills/google-ads && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "google-ads" agent skill from https://github.com/HybridAIOne/hybridclaw/tree/main/skills/google-ads into .cursor/skills/google-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-ads", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/HybridAIOne/hybridclaw.git --path skills/google-ads--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add HybridAIOne/hybridclaw --skill google-ads -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HybridAIOne/hybridclaw google-ads --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/google-ads .gemini/skills/google-ads && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "google-ads" agent skill from https://github.com/HybridAIOne/hybridclaw/tree/main/skills/google-ads into .gemini/skills/google-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-ads", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install HybridAIOne/hybridclaw google-adsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add HybridAIOne/hybridclaw --skill google-ads -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/google-ads .github/skills/google-ads && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "google-ads" agent skill from https://github.com/HybridAIOne/hybridclaw/tree/main/skills/google-ads into .github/skills/google-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-ads", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HybridAIOne/hybridclaw --skill google-ads -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HybridAIOne/hybridclaw google-ads --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/google-ads .opencode/skills/google-ads && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "google-ads" agent skill from https://github.com/HybridAIOne/hybridclaw/tree/main/skills/google-ads into .opencode/skills/google-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-ads", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
google-adsManage Google Ads accounts with safe GAQL reporting, campaign planning, guarded mutations, and gateway-proxied REST API calls.
Google Ads is an agent skill from HybridAIOne/hybridclaw. Manage Google Ads accounts with safe GAQL reporting, campaign planning, guarded mutations, and gateway-proxied REST API calls.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `evals/scenarios.json`, `references/setup-and-operations.md` and `scripts/google_ads.py`).
It sits in Marketing & SEO, covering Paid advertising. It works with Google Ads. The repository describes itself as: Enterprise-ready self-hosted AI assistant runtime with sandboxed execution, secure credentials, approvals, and memory. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8162701. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
googleads.googleapis.comgoogleapis.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GOOGLEADS_DEVELOPER_TOKENGOOGLE_WORKSPACE_CLI_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Google Ads loads about 4k tokens when it runs, and up to ~5.9k if it reads all its reference files. Until then it costs about 34 tokens; SKILL.md has 942 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from HybridAIOne/hybridclaw at commit 8162701, republished under its MIT licence (© HybridAIOne). 942 words, ~4,042 tokens.
.claude/skills/google-ads/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Use this skill for Google Ads API work: GAQL reports, account and campaign inspection, campaign/ad group/ad/keyword planning, recommendation review, and carefully gated account mutations.
UsageTotalshttp_request directly. Do not
run the helper through bash for account listing, GAQL execution, or other
read-only REST calls when http_request is available.python3 skills/google-ads/scripts/google_ads.py ...plan before every write-like request. The plan output carries
stakesTier, requiresEscalation, requiredGrant, and
brandVoiceGateRequired fields.requiredGrant in the same turn or through an approved
F14 escalation./brand-voice before submitting any generated headline, description,
sitelink, callout, or other ad-copy asset. If brand voice is not configured,
keep the copy as a draft and ask for approval before submission.http_request for direct query execution and the helper report-plan
when the user asks in natural language and a GAQL query must be generated.Use http_request for live Google Ads HTTP calls. OAuth access tokens and the
developer token are injected server-side by the gateway from secret handles, so
real values never enter the model context. The helper uses the same gateway
contract only for commands that explicitly require helper-side validation.
Required setup:
hybridclaw auth login google \
--client-id "<google-oauth-client-id>" \
--client-secret "<google-oauth-client-secret>" \
--account you@example.com \
--scopes "https://www.googleapis.com/auth/adwords"
hybridclaw auth status googleSet GOOGLEADS_DEVELOPER_TOKEN in this order:
/admin/secrets./chat or TUI fallback:
/secret set GOOGLEADS_DEVELOPER_TOKEN "<developer-token>".hybridclaw secret set GOOGLEADS_DEVELOPER_TOKEN "<developer-token>".Do not ask the user to add secret route entries for normal Google Ads skill
use. The skill should pass bearerSecretName: "GOOGLE_WORKSPACE_CLI_TOKEN" and
secretHeaders: [{ "name": "developer-token", "secretName": "GOOGLEADS_DEVELOPER_TOKEN", "prefix": "" }] in each http_request call.
Optional stored defaults use the same setup order: browser admin at
/admin/secrets, then /secret set in browser /chat or
TUI, then local console fallback.
hybridclaw secret set GOOGLEADS_CUSTOMER_ID "<customer-id-without-hyphens>"
hybridclaw secret set GOOGLEADS_LOGIN_CUSTOMER_ID "<manager-id-without-hyphens>"If the account is managed through an MCC, include --login-customer-id on live
commands or store GOOGLEADS_LOGIN_CUSTOMER_ID. Customer ids must be sent to
the API without hyphens.
List accessible Google Ads customers:
{
"url": "https://googleads.googleapis.com/v20/customers:listAccessibleCustomers",
"method": "GET",
"bearerSecretName": "GOOGLE_WORKSPACE_CLI_TOKEN",
"secretHeaders": [
{
"name": "developer-token",
"secretName": "GOOGLEADS_DEVELOPER_TOKEN",
"prefix": ""
}
],
"skillName": "google-ads"
}Run a GAQL report:
{
"url": "https://googleads.googleapis.com/v20/customers/1234567890/googleAds:searchStream",
"method": "POST",
"headers": {
"login-customer-id": "1234567890"
},
"json": {
"query": "SELECT campaign.id, campaign.name, metrics.clicks FROM campaign WHERE segments.date DURING LAST_7_DAYS LIMIT 20"
},
"bearerSecretName": "GOOGLE_WORKSPACE_CLI_TOKEN",
"secretHeaders": [
{
"name": "developer-token",
"secretName": "GOOGLEADS_DEVELOPER_TOKEN",
"prefix": ""
}
],
"skillName": "google-ads"
}Plan GAQL from natural language without authentication:
python3 skills/google-ads/scripts/google_ads.py --format json report-plan \
"Show German campaigns with CTR below 1% this week"Emit the GAQL variant of the R21.6 NL-to-SQL prompt-template family:
python3 skills/google-ads/scripts/google_ads.py --format json prompt-template \
"Show campaign clicks for last week" \
--query "SELECT campaign.id, metrics.clicks FROM campaign WHERE segments.date DURING LAST_7_DAYS LIMIT 10"Classify and inspect an operation before any write:
python3 skills/google-ads/scripts/google_ads.py --format json plan \
"Bump the daily budget on campaign X by 20%"Review ad copy before submission:
python3 skills/google-ads/scripts/google_ads.py --format json ad-copy-review \
--headline "Fast CRM Migration" \
--description "Switch cleanly with a migration plan"Execute approved mutations only after the exact grant is present:
python3 skills/google-ads/scripts/google_ads.py campaign-status 1234567890 111222333 \
--status PAUSED \
--grant approve-google-ads-campaign-state-change
python3 skills/google-ads/scripts/google_ads.py campaign-create 1234567890 444555666 \
--name "DE Search Brand" \
--grant approve-google-ads-budget-or-bid-change
python3 skills/google-ads/scripts/google_ads.py campaign-bid-strategy 1234567890 111222333 \
--strategy target-roas \
--target-roas 4.0 \
--grant approve-google-ads-budget-or-bid-change
python3 skills/google-ads/scripts/google_ads.py campaign-rename 1234567890 111222333 \
--name "DE Search Brand - Exact" \
--grant approve-google-ads-structure-edit
python3 skills/google-ads/scripts/google_ads.py campaign-remove 1234567890 111222333 \
--grant approve-google-ads-campaign-state-change
python3 skills/google-ads/scripts/google_ads.py budget-amount 1234567890 444555666 \
--amount-micros 25000000 \
--grant approve-google-ads-budget-or-bid-change
python3 skills/google-ads/scripts/google_ads.py budget-lifetime-amount 1234567890 444555666 \
--total-amount-micros 250000000 \
--grant approve-google-ads-budget-or-bid-change
python3 skills/google-ads/scripts/google_ads.py ad-group-create 1234567890 111222333 \
--name "DE Search Competitors" \
--status PAUSED \
--grant approve-google-ads-structure-edit
python3 skills/google-ads/scripts/google_ads.py ad-group-status 1234567890 777888999 \
--status PAUSED \
--grant approve-google-ads-structure-edit
python3 skills/google-ads/scripts/google_ads.py ad-group-rename 1234567890 777888999 \
--name "DE Competitor Alternatives" \
--grant approve-google-ads-structure-edit
python3 skills/google-ads/scripts/google_ads.py ad-group-remove 1234567890 777888999 \
--grant approve-google-ads-structure-edit
python3 skills/google-ads/scripts/google_ads.py keyword-create 1234567890 777888999 \
--text "crm migration" \
--match-type EXACT \
--grant approve-google-ads-structure-edit
python3 skills/google-ads/scripts/google_ads.py keyword-status 1234567890 777888999 111222333 \
--status PAUSED \
--grant approve-google-ads-structure-edit
python3 skills/google-ads/scripts/google_ads.py keyword-remove 1234567890 777888999 111222333 \
--grant approve-google-ads-structure-edit
python3 skills/google-ads/scripts/google_ads.py rsa-create 1234567890 777888999 \
--headline "Fast CRM Migration" \
--headline "Clean Data Move" \
--headline "Launch With Control" \
--description "Switch cleanly with expert migration planning" \
--description "Move your CRM data with a clear rollout plan" \
--final-url "https://example.com" \
--brand-voice-approved \
--grant approve-google-ads-ad-copy-submit
python3 skills/google-ads/scripts/google_ads.py ad-status 1234567890 777888999 222333444 \
--status PAUSED \
--grant approve-google-ads-structure-edit
python3 skills/google-ads/scripts/google_ads.py ad-remove 1234567890 777888999 222333444 \
--grant approve-google-ads-structure-edit
python3 skills/google-ads/scripts/google_ads.py conversion-action-create 1234567890 \
--name "Lead form submit" \
--category LEAD \
--grant approve-google-ads-conversion-action-edit
python3 skills/google-ads/scripts/google_ads.py conversion-action-attribution 1234567890 222333444 \
--attribution-model DATA_DRIVEN \
--grant approve-google-ads-conversion-action-edit
python3 skills/google-ads/scripts/google_ads.py remarketing-list-create 1234567890 \
--name "Pricing visitors" \
--remarketing-action "customers/1234567890/remarketingActions/111222333" \
--grant approve-google-ads-audience-management
python3 skills/google-ads/scripts/google_ads.py lookalike-list-create 1234567890 \
--name "Buyer lookalikes" \
--seed-user-list-id 111222333 \
--country-code DE \
--grant approve-google-ads-audience-management
python3 skills/google-ads/scripts/google_ads.py campaign-user-interest-target 1234567890 111222333 80400 \
--grant approve-google-ads-audience-management
python3 skills/google-ads/scripts/google_ads.py customer-match-list-create 1234567890 \
--name "Hashed CRM buyers" \
--grant approve-google-ads-customer-match-upload
python3 skills/google-ads/scripts/google_ads.py customer-match-job-create 1234567890 \
"customers/1234567890/userLists/111222333" \
--grant approve-google-ads-customer-match-upload
python3 skills/google-ads/scripts/google_ads.py customer-match-add-hashes 1234567890 \
"customers/1234567890/offlineUserDataJobs/111222333" \
--sha256-email "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
--sha256-phone "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" \
--address-info-json '{"hashedFirstName":"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc","hashedLastName":"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd","countryCode":"DE","postalCode":"10115"}' \
--grant approve-google-ads-customer-match-upload
python3 skills/google-ads/scripts/google_ads.py customer-match-job-run 1234567890 \
"customers/1234567890/offlineUserDataJobs/111222333" \
--grant approve-google-ads-customer-match-upload
python3 skills/google-ads/scripts/google_ads.py apply-recommendation 1234567890 \
"customers/1234567890/recommendations/abc123" \
--grant approve-google-ads-recommendation-apply
python3 skills/google-ads/scripts/google_ads.py dismiss-recommendation 1234567890 \
"customers/1234567890/recommendations/abc123" \
--grant approve-google-ads-recommendation-dismissUse --validate-only with mutation commands when you want Google Ads to
validate the request without executing it.
Run the offline eval suite:
python3 skills/google-ads/scripts/google_ads.py --format json eval-scenariosLIMIT for exploratory reports, and select only fields needed for the task.UsageTotals; helper output
includes costMeasurement.system = "UsageTotals" so evals can verify the
accounting contract. R5.4 per-skill sub-limit enforcement remains a gateway
concern; this skill declares the google-ads sub-limit key and emits the
metering marker that enforcement consumes.The fixture at evals/scenarios.json contains 36 offline scenarios across
GAQL reporting, campaign edits, ad authoring, audience management,
recommendation actions, conversion tracking, and high-stakes refusals. The
helper verifies each scenario's expected stakes tier, escalation requirement,
brand-voice gate, and cost-measurement contract.
Run:
python3 skills/skill-creator/scripts/quick_validate.py skills/google-ads
python3 skills/google-ads/scripts/google_ads.py --help
python3 skills/google-ads/scripts/google_ads.py --format json eval-scenarios© HybridAIOne, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts, references) in skills/google-ads of HybridAIOne/hybridclaw.
Open the folder on GitHubat commit 8162701
Google Ads next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Google Ads this skillHybridAIOne/hybridclaw | 159 | — | ~4k | Automated safety check: Pass | MIT | |
| Blog GoogleAgriciDaniel/claude-blog | 2.3k | 1 repos | ~3.3k | Automated safety check: Notes | MIT | |
| AdsCesarjoquin/Marketing-Skills | 202 | 1 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Adscoreyhaines31/marketingskills | 54k | 1 repos | ~7k | Automated safety check: Pass | MIT | |
| Google Adssuperdesigndev/treg | 4.9k | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| Money Adsiamzifei/show-me-the-money | 1k | — | ~2.4k | Automated safety check: Pass | Custom licence |
AgriciDaniel/claude-blog
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…
Cesarjoquin/Marketing-Skills
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
coreyhaines31/marketingskills
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
superdesigndev/treg
Traps when running Google Ads through treg — the API requirements and cleanup semantics that cost round-trips or money.
iamzifei/show-me-the-money
Paid advertising automation for Google Ads, Meta Ads, and other ad platforms.
freekmurze/dotfiles
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
HybridAIOne/hybridclaw
Use Hermes3000 to plan, draft, revise, save, check consistency, and export long-form manuscripts through the Hermes3000 AI writing portal API.
HybridAIOne/hybridclaw
Plan, script, render, and stitch Manim Community Edition videos in Python.
HybridAIOne/hybridclaw
Create and update SKILL.md-based skills with strong trigger metadata, lean docs, and reliable init, validate, package, and publish workflows.
HybridAIOne/hybridclaw
Create, edit, inspect, and analyze .xlsx spreadsheets and Excel workbooks.
HybridAIOne/hybridclaw
Create and revise editable .excalidraw diagrams as Excalidraw JSON for architecture diagrams, flowcharts, sequence diagrams, concept maps, and other hand-drawn explainers.
HybridAIOne/hybridclaw
Distill a real person into a hireable coworker agent from their source material — chat exports, emails, meeting transcripts, documents, interviews, and live mirroring.
Works with
Categories
Manage Google Ads accounts with safe GAQL reporting, campaign planning, guarded mutations, and gateway-proxied REST API calls. Google Ads is an agent skill from HybridAIOne/hybridclaw. Manage Google Ads accounts with safe GAQL reporting, campaign planning, guarded mutations, and gateway-proxied REST API calls.
Google Ads fits situations like: tasks that involve Paid advertising.
Run `npx skills add HybridAIOne/hybridclaw --skill google-ads -a claude-code`. Or copy the skill folder (skills/google-ads in HybridAIOne/hybridclaw) into .claude/skills/google-ads in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HybridAIOne/hybridclaw --skill google-ads -a codex`. Or copy the skill folder (skills/google-ads in HybridAIOne/hybridclaw) into .agents/skills/google-ads in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HybridAIOne/hybridclaw --skill google-ads -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-ads, .gemini/skills/google-ads, .github/skills/google-ads and .opencode/skills/google-ads in your project.
Going by SKILL.md and its folder, Google Ads needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named GOOGLEADS_DEVELOPER_TOKEN and GOOGLE_WORKSPACE_CLI_TOKEN. Our summary lists: Python 3; A credential in GOOGLEADS_DEVELOPER_TOKEN; A credential in GOOGLE_WORKSPACE_CLI_TOKEN.
SKILL.md names 2 domains. In commands or code: googleads.googleapis.com and googleapis.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Google Ads is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Google Ads: Blog Google (AgriciDaniel/claude-blog, 2.3k stars), Ads (Cesarjoquin/Marketing-Skills, 202 stars), Ads (coreyhaines31/marketingskills, 54k stars) and Google Ads (superdesigndev/treg, 4.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HybridAIOne (a GitHub organization) maintains it in HybridAIOne/hybridclaw, which has 159 GitHub stars. The repository holds 72 skills in this directory. The repository was last updated on October 9, 2026.
Source: HybridAIOne/hybridclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.