LLM Skills
HiggsfieldGenerate images and videos from a single promptTry HiggsfieldSponsored
~/catalog/advertising//SKILL
AdvertisingGitHub source

Google ads audit

/SKILL

Google Ads account audit and business context setup. Run this first - it gathers business information, analyzes account health, and saves context that all other ads skills reuse.

nowork-studionowork-studio
★4.1k
June 11, 2026
MIT License
// skill content

--- name: google-ads-audit description: Google Ads account audit and business context setup. Run this first:it gathers business information, analyzes account health, and saves context that all other ads-skillss can reuse. Trigger this when the user selects "audit my ads," "ads audit," "set up my ads," "onboard," "account overview," "how's my account," "ads health check," "what should I fix in my ads," or when the user is new to NotFair and hasn't run an audit before. Also trigger proactively when other ads-skillss detect that business-context.json is missing. argument-hint: "<account name or 'audit my ads'>" --- # Google Ads Audit Diagnose account health and preserve business context for downstream skills (/google-ads, /google-ads-copy, /google-ads-landing). Read-only : never modifies the account. The user runs /google-ads to implement the fixes you recommend. ## Setup Follow ../shared/preamble.md (MCP detection, account selection) and ../shared/analysis-principles.md (evidence requirements, guardrails). Both apply throughout this skill. ## Filesystem contract (must persist) | Artifact | Path | When | |---|---|---| | Business context | {data_dir}/business-context.json | First full audit, or refresh when audit_date is >90 days old. Skip on scoped audits if file is fresh. | | Personas | {data_dir}/personas/{accountId}.json | Every full audit. | These are the handoffs to every other ads-skill:write them even if the report is short. Otherwise, /google-ads-copy and /google-ads-landing operate without business context and produce generic output. business-context.json schema: business_name, industry, website, services[], locations[], target_audience, brand_voice{tone, words_to_use[], words_to_avoid[]}, differentiators[], competitors[], seasonality{peak_months[], slow_months[], seasonal_hooks[]}, keyword_landscape{high_intent_terms[], competitive_terms[], long_tail_opportunities[]}, social_proof[], offers_or_promotions[], landing_pages{}, unit_economics{aov_usd, profit_margin, source}, notes, audit_date, account_id. PersonasJSON schema: {account_id, saved_at, personas: [{name, demographics, primary_goal, pain_points[], search_terms[], decision_trigger, value}]}. See references/persona-discovery.md. ## Policy freshness check (run first) Read ../shared/policy-registry.json. For each entry where last_verified + stale_after_days < today: - High-volatility → Use WebSearch to check area for recent Google Ads changes; compare to assumption. If there is a drift, flag the report and suggest a registry update. - Moderate-volatility → Add a one-line note stating "may warrant a check." - Stable → skip silently. ## Phase 1 : Pull the audit dataset Use a single runScript call with ads.gaqlParallel to fan out the queries required for an audit. The server’s notfair://playbooks/audit-account resource provides a battle-tested baseline; extend it to meet the needs of your specific query. You decide the exact GAQL structure, but a sound audit must include, at a minimum: - Account-level rollups (customer) - Campaign performance, including bidding strategy, network, and impression share metrics (campaign; 90-day cap for impression share data) - Ad group performance (ad_group) - Keyword performance with Quality Score and components (keyword_view) - Search terms (search_term_view) - Negative keywords and shared lists (campaign_criterion + shared sets) - Conversion actions (conversion_action) : including counting type, attribution model, primary/secondary - Network segmentation (segments.ad_network_type) when diagnosing CPA/CVR shifts or Search Partners - RSA assets (ad_group_ad) - Geo-targeting (campaign_criterion LOCATION + PROXIMITY) - Recent change events (change_event, last 30 days) : to explain regressions Aggregate the data within the script. Return summarized JSON, not raw rows. The agent provides context; the script performs the calculations. getRecommendations summarizeAccountSetups are useful cross-checks against Google’s own and the server’s structural views:run them as a separate tool after the “runScript” pass when comparison would enhance the report. If a critical query fails (auth, schema), display the error and stop:don’t fall b

// original public source
nowork-studio/NotFair
/google-ads/audit/SKILL.md
License: MIT License
Independent project, not affiliated with Anthropic. This skill remains the property of its original author.
// install this skill
Paste this command in your terminal at the root of your project:
mkdir -p .claude/commands && curl -o ".claude/commands/SKILL.md" "https://raw.githubusercontent.com/nowork-studio/NotFair/main/google-ads/audit/SKILL.md"
Then in Claude Code, type /SKILL to activate it.
open_in_newOpen original source
// save
Save available after sign in.
loginSign in to save
// information
Stars★ 4.1k
CategoryAdvertising
LicenseMIT License
UpdatedJune 11, 2026
Format.md
AccessFree
HiggsfieldSponsored

One video, ten variants, zero reshoots

With Genjutsu, take an existing video and swap the character, the product or the set while keeping the motion and the edit. Perfect to scale an ad that works or adapt it to each market.

Discover Genjutsu
// similar

Skills Advertising

View allarrow_forward