autoresearch-loop
Domain-agnostic metric-driven improvement loop, generalizing Karpathy's autoresearch. Use when you want an agent to discover what…
Optional path to a protected local google-ads client configuration file.
$ npx -y skills add jdrhyne/agent-skills --skill google-ads --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/google-adsContext preview
The summary Claude sees to decide when to auto-load this skill.
Optional path to a protected local google-ads client configuration file.
name: google-ads
description: "Query, audit, and optimize Google Ads campaigns. Use an attached browser or the Google Ads API for campaign, keyword, budget, conversion-tracking, and wasted-spend analysis, or when the user explicitly requests a reviewed account change. Defaults to read-only reporting; account mutations require a bounded preview and action-time approval."
metadata:
openclaw:
emoji: "📊"
homepage: "https://developers.google.com/google-ads/api/docs/start"
envVars:
- name: GOOGLE_ADS_DEVELOPER_TOKEN
required: false
description: "Optional API-mode credential; never request or display its value in chat."
- name: GOOGLE_ADS_CLIENT_ID
required: false
description: "Optional API-mode OAuth client identifier."
- name: GOOGLE_ADS_CLIENT_SECRET
required: false
description: "Optional API-mode secret; never request or display its value in chat."
- name: GOOGLE_ADS_REFRESH_TOKEN
required: false
description: "Optional API-mode refresh token; never request or display its value in chat."
- name: GOOGLE_ADS_LOGIN_CUSTOMER_ID
required: false
description: "Optional manager account identifier for API mode."
- name: GOOGLE_ADS_CONFIGURATION_FILE_PATH
required: false
description: "Optional path to a protected local google-ads client configuration file."Analyze Google Ads safely. Stay read-only unless the user explicitly requests an account change and approves the exact proposed diff at action time.
Browser mode requires a user-attached, logged-in Google Ads session. API mode requires Python plus locally configured Google Ads credentials. Neither mode is a universal activation requirement.
Choose from capabilities that are actually available; do not make either mode a universal prerequisite.
1. **Attached browser** — Use for quick, user-visible inspection when the user has attached the intended logged-in Google Ads session. 2. **API** — Use for repeatable queries, larger result sets, or structured reporting when the Python client and local authentication are already configured. 3. **Neither** — Explain the two options. Do not ask the user to paste credentials into chat.
Safe API readiness checks inspect presence and behavior only:
python3 -c "from google.ads.googleads.client import GoogleAdsClient; print('google-ads client available')"
test -r "$HOME/.google-ads.yaml" && echo "Google Ads config file is readable"Do not display the file or environment values. A browser-only workflow does not require Python or API credentials.
1. Confirm the exact account or customer ID and manager context. 2. Confirm the reporting date range, timezone, and comparison period. 3. Ask for the business objective: revenue, qualified pipeline, trials, leads, awareness, or another stated goal. 4. Identify the primary conversion actions and whether conversion lag, attribution settings, offline imports, or value rules affect interpretation. 5. Retrieve only the requested fields and entities. 6. Separate observations, interpretations, uncertainties, and proposed next investigations. 7. Report recommendations without applying them.
Never recommend a pause, budget change, or bid change from one metric alone. Interpret performance using the user's goal and, where relevant:
Optimization score is a Google recommendation signal, not an automatic action threshold. A zero-conversion or high-CPA entity is an investigation candidate until the relevant context is checked.
| Question | Minimum evidence | |---|---| | Campaign performance | Spend, conversions or key business outcome, value when available, date range, comparison period | | Wasted-spend candidates | Search terms or keywords, spend, clicks, conversion lag, negatives, match type, campaign goal | | Budget constraints | Lost impression share, budget status, marginal return, campaign priority, recent changes | | Conversion health | Primary actions, recording status, last activity, attribution, tag/import diagnostics | | Policy or delivery issues | Entity status, policy details, dates, affected scope, recent edits |
Use a compact evidence table:
| Entity | Observation | Goal context | Evidence period | Uncertainty | Recommendation | |---|---|---|---|---|---|
Then list proposed account changes separately as **not executed**. Each propos
A collection of AI agent skills and prompts for OpenClaw (formerly Clawdbot), Claude Code, Codex, and other LLM-based coding assistants. 🤝 Contributions Welcome! Have a skill that makes your AI agent smarter? We'd love to include it.
Domain-agnostic metric-driven improvement loop, generalizing Karpathy's autoresearch. Use when you want an agent to discover what…
Recover missing conversation context after explicit compaction or truncation, or when the user explicitly asks to recover prior…
Premium UI/UX design auditor with Jobs/Ive philosophy. Use when reviewing, evaluating, or elevating existing UI — triggers on…
Generate beautifully designed PDF reports with a Nordic/Scandinavian aesthetic. Use when creating polished executive briefings,…
Read Google Analytics 4 reporting data through the GA4 Data API. Use for explicit GA4 property metadata, compatible…