ads-audit
Full multi-platform paid advertising audit with parallel subagent delegation. Analyzes Google Ads, Meta Ads, LinkedIn Ads, TikTok…
Build and refresh a single-page marketing analytics dashboard (Marketing Pulse) that answers attention, conversion, revenue, and retention every morning, with every number carrying its delta and its source. Two modes: SETUP (first run - interviews for sources like Stripe,
Claude Code
$ npx -y skills add naveedharri/benai-skills --skill marketing-analytics --agent claude-code
Codex
$ npx skills add naveedharri/benai-skills --skill marketing-analytics -a codex -y
Cursor
$ npx skills add naveedharri/benai-skills --skill marketing-analytics -a cursor -y
Gemini CLI
$ npx skills add naveedharri/benai-skills --skill marketing-analytics -a gemini-cli -y
GitHub Copilot
$ npx skills add naveedharri/benai-skills --skill marketing-analytics -a github-copilot -y
OpenCode
$ npx skills add naveedharri/benai-skills --skill marketing-analytics -a opencode -y
Windsurf
$ npx skills add naveedharri/benai-skills --skill marketing-analytics -a windsurf -y
name: marketing-analytics description: "Build and refresh a single-page marketing analytics dashboard (Marketing Pulse) that answers attention, conversion, revenue, and retention every morning, with every number carrying its delta and its source. Two modes: SETUP (first run - interviews for sources like Stripe, YouTube/PostHog, newsletter, community; probes connectors; creates the dashboard folder from the bundled template) and REFRESH (scheduled runs - invoke with a timeframe like 'refresh the marketing dashboard for yesterday' and it pulls every configured source, rewrites data.js, appends the daily history snapshot, writes the daily brief, and redeploys). Use whenever the user says 'analytics dashboard', 'marketing pulse', 'refresh the dashboard', 'marketing analytics for last week', 'set up my marketing dashboard', or a scheduled task passes a date window. Designed so a scheduled task prompt is one line: the skill carries the whole workflow." disable-model-invocation: true
One page, four questions: attention, conversion, revenue, retention. Every number carries its trend and its source. A scheduled task invokes this skill with a timeframe; the skill does the rest.
1. **Locate or create the dashboard folder.** Ask where it should live (default: `marketing-pulse/` in the user's project folder). Copy `assets/dashboard-template.html` in as `dashboard.html`. 2. **Interview for sources.** Which of these does the business run, and through which tool?
3. **Probe the connectors** for each approved source (ToolSearch if deferred). For gaps: offer to connect, or mark the block `pending: true` - the template renders honest placeholders. Never fake a number. 4. **Write `config.md`** in the dashboard folder: each source, the exact tool/IDs used, the metric definitions chosen, deploy target (Vercel / live artifact / local file), and anything learned probing (rate limits, missing fields). `references/source-wiring.md` shows a complete worked example. 5. **Run the first REFRESH** end to end, then tell the user the one-line prompt to put in a scheduled task, e.g.: `Use the marketing-analytics skill to refresh the marketing dashboard for yesterday.`
1. Read `config.md` + the current `data.js`. Resolve the timeframe to **complete days** (24h = the last complete day; 7d/30d windows end on it). 2. **Pull every configured source** for the window. Follow `references/source-wiring.md` for the field-tested access patterns and gotchas (Stripe filter shapes, PostHog queries, API lags). Oversized API responses: save to file and extract with jq/scripts - never page raw dumps through context. 3. **Rewrite `data.js`** to the contract in `references/data-contract.md`. Keep the header comments (they are the documentation). Every metric gets its delta (24h and 7d where the source allows). 4. **Append the daily snapshot** to `history/YYYY-MM-DD.json` (the whole DASHBOARD_DATA object). This is the append-only DB that unlocks month-over-month. 5. **Write the daily brief** (the `brief` array): 3-5 sentences, numbers-first. Sentence 1 = the headline (revenue/net movement). Then: what drove any spike, which content converted, one retention/community observation, and at most one concrete action. No filler, no hype. 6. **Verify**: open `dashboard.html` and confirm it renders with the new data (no NaN, no empty sections that should have data). 7. **Deploy** per config (e.g. `vercel deploy --prod --yes` from the folder, or update the live artifact). Skip silently if config says local-only. 8. **Report**: the live URL plus the 3 numbers that moved most, with deltas.
This skill is never finished. Improve it as you use it.
Full multi-platform paid advertising audit with parallel subagent delegation. Analyzes Google Ads, Meta Ads, LinkedIn Ads, TikTok…
Budget allocation and bidding strategy review across all ad platforms. Evaluates spend distribution, bidding strategy…
Competitor ad intelligence analysis across Google, Meta, LinkedIn, TikTok, and Microsoft. Analyzes competitor ad copy, creative…
Cross-platform creative quality audit covering ad copy, video, image, and format diversity across all platforms. Detects creative…
Google Ads deep analysis covering Search, Performance Max, Display, YouTube, and Demand Gen campaigns. Evaluates 74 checks across…
Landing page quality assessment for paid advertising campaigns. Evaluates message match, page speed, mobile experience, trust…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…