Google Ads Management
ivangfalco/ads-skills
Manages Google Ads accounts with Python scripts for the Google Ads API, backed by an intent-first B2B strategy knowledge base.
Launch a paid ad campaign on a connected ad platform, approval-gated.
$ npx skills add indranilbanerjee/digital-marketing-pro --skill launch-ad-campaign -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install indranilbanerjee/digital-marketing-pro launch-ad-campaign --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/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/launch-ad-campaign .claude/skills/launch-ad-campaign && 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 "launch-ad-campaign" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/launch-ad-campaign into .claude/skills/launch-ad-campaign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "launch-ad-campaign", 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/indranilbanerjee/digital-marketing-pro/tree/main/skills/launch-ad-campaignType 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 indranilbanerjee/digital-marketing-pro --skill launch-ad-campaign -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install indranilbanerjee/digital-marketing-pro launch-ad-campaign --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/launch-ad-campaign .agents/skills/launch-ad-campaign && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "launch-ad-campaign" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/launch-ad-campaign into .agents/skills/launch-ad-campaign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "launch-ad-campaign", 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 indranilbanerjee/digital-marketing-pro --skill launch-ad-campaign -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install indranilbanerjee/digital-marketing-pro launch-ad-campaign --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/launch-ad-campaign .cursor/skills/launch-ad-campaign && 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 "launch-ad-campaign" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/launch-ad-campaign into .cursor/skills/launch-ad-campaign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "launch-ad-campaign", 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/indranilbanerjee/digital-marketing-pro.git --path skills/launch-ad-campaign--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 indranilbanerjee/digital-marketing-pro --skill launch-ad-campaign -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install indranilbanerjee/digital-marketing-pro launch-ad-campaign --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/launch-ad-campaign .gemini/skills/launch-ad-campaign && 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 "launch-ad-campaign" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/launch-ad-campaign into .gemini/skills/launch-ad-campaign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "launch-ad-campaign", 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 indranilbanerjee/digital-marketing-pro launch-ad-campaignInstalls 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 indranilbanerjee/digital-marketing-pro --skill launch-ad-campaign -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/launch-ad-campaign .github/skills/launch-ad-campaign && 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 "launch-ad-campaign" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/launch-ad-campaign into .github/skills/launch-ad-campaign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "launch-ad-campaign", 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 indranilbanerjee/digital-marketing-pro --skill launch-ad-campaign -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install indranilbanerjee/digital-marketing-pro launch-ad-campaign --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/launch-ad-campaign .opencode/skills/launch-ad-campaign && 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 "launch-ad-campaign" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/launch-ad-campaign into .opencode/skills/launch-ad-campaign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "launch-ad-campaign", 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.
launch-ad-campaignLaunch a paid ad campaign on a connected ad platform, approval-gated.
Launch Ad Campaign is an agent skill from indranilbanerjee/digital-marketing-pro. Launch a paid ad campaign on a connected ad platform, approval-gated. "launch the Google Ads campaign"
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Marketing & SEO, covering Paid advertising. It works with Google Ads and Python. The repository describes itself as: An open-source AI marketing operating system for strategy, SEO, AEO/GEO, paid media, content, CRM, and analytics - grounded in brand context, human approval, and verifiable… The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9e949f3. 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.
Shell commands in SKILL.md call:
pythonFrom 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:
mcp.facebook.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Launch Ad Campaign loads about 4k tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 1,996 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); files beside SKILL.md are not scanned.
The full file from indranilbanerjee/digital-marketing-pro at commit 9e949f3, republished under its MIT licence (© indranilbanerjee). 1,996 words, ~3,962 tokens.
.claude/skills/launch-ad-campaign/SKILL.md (or your agent's skills folder).Script location. If your host does not set
${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin'sscripts/folder, next toskills/.
Create and launch a paid advertising campaign on the specified ad platform with proper campaign structure, audience targeting, bid strategy, budget controls, and compliance checks. Includes mandatory budget safeguards that require explicit re-confirmation when spend exceeds brand thresholds, and sets up post-launch monitoring to catch early performance issues before budget is wasted on underperforming configurations.
yes (or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cancels the run.yes, record it: python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"type":"launch-ad","platform":"<platform>","content_summary":"<one line from the Execution Summary>","risk_level":"<tier>"}', then python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action approve --id {approval_id}. If either command errors, stop and report the error; never work around it with another tool. The record proves the approval step ran for this action; it cannot prove who typed yes.connector_executor.py needs --approval-id and fires only against a matching, unused, unexpired record (see /digital-marketing-pro:execute-action). A write through a connected MCP server tool is outside that code check: it relies on this typed yes and on your host's permission prompt. Afterwards run python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} --data '{"execution_result":"success"}' (or failure).The platforms now publish their own MCP servers (catalog: .mcp.json.connectors-reference; details and sources: CONNECTORS.md → "Official ad-platform and CRM MCP servers"). None is active by default. They change how step 12 runs, never whether the gate above runs.
| Server | What DMP may do through it |
|---|---|
meta-ads — Meta Ads AI Connectors, https://mcp.facebook.com/ads (open beta) | Create campaigns, ad sets and ads, set status, read results; catalogs and signal checks |
amazon-ads-mcp — Amazon Ads MCP Server (open beta, partners with API credentials) | Create and update campaigns, read reports. Never delete, even though the server can |
google-ads-mcp — Google's open-source server | Read only. Use it for step 13 (verify the campaign exists with the right settings) and for pacing reports. Google: it "cannot modify bids, pause campaigns, or create new assets". It cannot create or launch anything |
Rules that apply to every write through these servers:
yes → approval-manager.py --action create-approval → --action approve → only then the tool call → approval-manager.py --action mark-executed after the platform confirms. A tool's own confirmation prompt does not replace this gate.PAUSED, set explicitly in the tool call; don't rely on a server default. Ignore the user preference in step 12 for creation — creation is always PAUSED.yes, record a new approval, then switch to ACTIVE (or schedule the start date). /digital-marketing-pro:doctor / connector_resolver.py reports this as the launch-ads action with create_status: PAUSED.access is read-only for write actions. If only google-ads-mcp is connected, a Google launch stays manual (or uses a write-capable connector) — say so, don't improvise.execution-tracker.py, including the approval ids.The user must provide (or will be prompted for):
~/.claude-marketing/brands/_active-brand.json for the active slug, then load ~/.claude-marketing/brands/{slug}/profile.json. Apply brand voice, compliance rules for target markets (skills/context-engine/compliance-rules.md), and industry context. Also check for guidelines at ~/.claude-marketing/brands/{slug}/guidelines/_manifest.json — if present, load restrictions. Check for agency SOPs at ~/.claude-marketing/sops/. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.budget_range in profile.json. If the daily or lifetime budget exceeds the brand's defined maximum, halt and require explicit re-confirmation from the user with the exact dollar amount displayed prominently. This safeguard cannot be bypassed — it protects against accidental overspend.skills/context-engine/platform-publishing-specs.md for audience field mappings, custom audience upload formats, lookalike source requirements, exclusion list configuration, and any platform-specific targeting features (Google affinity audiences, Meta detailed targeting, LinkedIn job title targeting, TikTok interest categories).approval-manager.py --action create-approval with the risk level inside the --data JSON — {"type":"launch-ad","platform":"<platform>","content_summary":"...","risk_level":"high"} (use "critical" if daily budget exceeds $1,000). There is no --risk-level flag; see the Execution gate above for the exact command. Generate a campaign summary with projected reach, estimated cost per result, targeting details, creative preview, budget safeguard verification, and compliance status.yesexecution-tracker.py to log the campaign launch with timestamp, platform, campaign ID, budget details, targeting summary, creative asset references, bid strategy, and monitoring schedule.A structured launch confirmation containing:
© indranilbanerjee, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/launch-ad-campaign of indranilbanerjee/digital-marketing-pro.
Open the folder on GitHubat commit 9e949f3
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in indranilbanerjee/digital-marketing-pro, which our catalogue first saw on October 7, 2026.
Launch Ad Campaign 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 |
|---|---|---|---|---|---|---|
| Launch Ad Campaign this skillindranilbanerjee/digital-marketing-pro | 862 | 1 repos | ~4k | Automated safety check: Pass | MIT | |
| Google Ads Managementivangfalco/ads-skills | 279 | — | ~2.1k | Automated safety check: Notes | Custom licence | |
| Sync Client Libsgoogleads/google-ads-api-developer-assistant | 100 | — | ~537 | Automated safety check: Pass | Apache-2.0 | |
| Google Adspedronauck/skills | 634 | 1 repos | ~2k | Automated safety check: Pass | None | |
| Google Ads API MCP Setupgoogle/skills | 21k | — | ~6.1k | Automated safety check: Notes | Apache-2.0 | |
| Google AdsaAAaqwq/AGI-Super-Team | 105 | 1 repos | ~1.4k | Automated safety check: Pass | MIT |
ivangfalco/ads-skills
Manages Google Ads accounts with Python scripts for the Google Ads API, backed by an intent-first B2B strategy knowledge base.
googleads/google-ads-api-developer-assistant
Discovers Google Ads client libraries under clientlibs, verifies installed versions against GitHub latest releases, and automatically updates outdated codebases.
pedronauck/skills
Query, audit, and optimize Google Ads campaigns. An agent skill from pedronauck/skills.
google/skills
Guides developers through downloading, configuring, and installing the official open-source Google Ads MCP Server.
aAAaqwq/AGI-Super-Team
Query, audit, and optimize Google Ads campaigns. An agent skill from aAAaqwq/AGI-Super-Team.
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…
indranilbanerjee/digital-marketing-pro
Import a deliverable template as a reusable placeholder template per brand.
indranilbanerjee/digital-marketing-pro
Plan an A/B test by script: sample size per variant, days to run, stopping rules.
indranilbanerjee/digital-marketing-pro
Run a one-time AEO audit of six AI answer engines, scored per surface.
indranilbanerjee/digital-marketing-pro
Audit agent readiness by script: AI-crawler rules, product schema, no-JS HTML, feeds.
indranilbanerjee/digital-marketing-pro
Find backlink gap domains linking to competitors, not you, scored by script.
indranilbanerjee/digital-marketing-pro
Embed C2PA provenance in AI-generated images, video or PDF by script.
Works with
Categories
Launch a paid ad campaign on a connected ad platform, approval-gated. Launch Ad Campaign is an agent skill from indranilbanerjee/digital-marketing-pro. Launch a paid ad campaign on a connected ad platform, approval-gated.
Launch Ad Campaign fits situations like: tasks that involve Paid advertising.
Run `npx skills add indranilbanerjee/digital-marketing-pro --skill launch-ad-campaign -a claude-code`. Or copy the skill folder (skills/launch-ad-campaign in indranilbanerjee/digital-marketing-pro) into .claude/skills/launch-ad-campaign in your project. Claude Code loads it when a task matches its description.
Run `npx skills add indranilbanerjee/digital-marketing-pro --skill launch-ad-campaign -a codex`. Or copy the skill folder (skills/launch-ad-campaign in indranilbanerjee/digital-marketing-pro) into .agents/skills/launch-ad-campaign 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 indranilbanerjee/digital-marketing-pro --skill launch-ad-campaign -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/launch-ad-campaign, .gemini/skills/launch-ad-campaign, .github/skills/launch-ad-campaign and .opencode/skills/launch-ad-campaign in your project.
Going by SKILL.md and its folder, Launch Ad Campaign needs the command-line tools its instructions call (python). Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: mcp.facebook.com; the agent is likely to contact it 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. Review the folder before installing.
Launch Ad Campaign 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.
Skills that share tags, products or a category with Launch Ad Campaign: Google Ads Management (ivangfalco/ads-skills, 279 stars), Sync Client Libs (googleads/google-ads-api-developer-assistant, 100 stars), Google Ads (pedronauck/skills, 634 stars) and Google Ads API MCP Setup (google/skills, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
indranilbanerjee (a GitHub user) maintains it in indranilbanerjee/digital-marketing-pro, which has 862 GitHub stars. The repository holds 162 skills in this directory. The repository was last updated on October 9, 2026.
Source: indranilbanerjee/digital-marketing-pro on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.