Launch paid ad campaigns. Use when: deploying ads on Google, Meta, LinkedIn, or TikTok with targeting and safeguards.
npx skills add https://github.com/indranilbanerjee/digital-marketing-pro --skill launch-ad-campaign
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.python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"risk_level":"<tier>","summary":"..."}' before executing, then python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} after the platform confirms success.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).10. Create approval record: Create the record via approval-manager.py --action create-approval with the risk level inside the --data JSON — {"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.
11. Present detailed campaign summary: Display the complete campaign configuration for user review — platform, objective, budget with safeguard status, audience size estimates per ad group, creative preview with quality scores, bid strategy and caps, projected reach and cost range, and compliance checklist. Wait for explicit approval.
12. Execute campaign creation via MCP: On approval, create the campaign through the connected ad platform MCP server. Set campaign status per user preference — active (launch immediately), paused (review in platform before activating), or scheduled (activate on start date).
13. Verify campaign status: After creation, query the platform API to confirm the campaign exists with correct settings, is in the requested status, has no policy violations or ad disapprovals, and that conversion tracking is firing correctly on test events.
14. Set up monitoring schedule: Define a post-launch monitoring cadence — check performance at 4 hours, 24 hours, 48 hours, and 7 days. Set alert thresholds for CPC, CPM, CTR, conversion rate, cost per conversion, and daily spend pacing. Define escalation triggers for budget pacing anomalies or sudden performance drops.
15. Log execution: Run execution-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:
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.
Take indranilbanerjee/launch-ad-campaign from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.