ad-copy-writer
Generate ad copy variations for Google, Microsoft, Meta, LinkedIn, TikTok, Reddit, Snapchat…
The Monday memo a sharp analyst would write — joins spend on every ad platform to qualified calls, deals, revenue, refunds and churn per campaign ID, catches cheap customers who churn, and ends every line in a decision — keep, kill, change or test
$ npx -y skills add cognyai/claude-code-marketing-skills --skill performance-memo --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/performance-memoContext preview
The summary Claude sees to decide when to auto-load this skill.
The Monday memo a sharp analyst would write — joins spend on every ad platform to qualified calls, deals, revenue, refunds and churn per campaign ID, catches cheap customers who churn, and ends every line in a decision — keep, kill, change or test
name: performance-memo description: The Monday memo a sharp analyst would write — joins spend on every ad platform to qualified calls, deals, revenue, refunds and churn per campaign ID, catches cheap customers who churn, and ends every line in a decision — keep, kill, change or test version: "1.1.2" author: Cogny AI requires: cogny-mcp platforms: [fibbler, hubspot, pipedrive, upsales, stripe, fortnox, shopify, woocommerce, abicart, litium, google-ads, meta-ads, linkedin-ads, bing-ads, tiktok-ads, x-ads, reddit-ads, snapchat-ads, apple-search-ads, openai-ads, bidtheatre, ga4, plausible, posthog, mixpanel, growthbook] user-invocable: true argument-hint: "[week|month] [--compare]" allowed-tools: - mcp__cogny__list_integrations - mcp__cogny__refresh_mcp_discovery - mcp__cogny__read_context_node - mcp__cogny__write_context_node - mcp__cogny__create_ticket - mcp__cogny__create_finding - mcp__cogny__mcp__app-fibbler-co__get_deal_attribution_summary - mcp__cogny__mcp__app-fibbler-co__get_cross_channel_performance - mcp__cogny__mcp__app-fibbler-co__get_influenced_deals - mcp__cogny__mcp__app-fibbler-co__get_deal_campaign_breakdown - mcp__cogny__mcp__HubSpot__search_crm_objects - mcp__cogny__mcp__HubSpot__get_crm_objects - mcp__cogny__mcp__HubSpot__get_properties - mcp__cogny__mcp__Stripe__stripe_api_search - mcp__cogny__mcp__Stripe__stripe_api_details - mcp__cogny__mcp__Stripe__stripe_api_read - mcp__cogny__mcp__Fortnox__list_invoices - mcp__cogny__mcp__Fortnox__list_customers - mcp__cogny__mcp__Google_Ads__tool_list_accessible_accounts - mcp__cogny__mcp__Google_Ads__tool_execute_gaql - mcp__cogny__mcp__Meta_Ads__tool_list_ad_accounts - mcp__cogny__mcp__LinkedIn_Ads__tool_list_ad_accounts - mcp__cogny__mcp__Bing_Ads__tool_list_accounts - mcp__cogny__mcp__TikTok_Ads__tool_list_advertisers - mcp__cogny__mcp__X_Ads__tool_list_ad_accounts - mcp__cogny__mcp__X_Ads__tool_get_campaigns - mcp__cogny__mcp__Meta_Ads__tool_get_insights - mcp__cogny__mcp__LinkedIn_Ads__tool_get_analytics - mcp__cogny__mcp__Bing_Ads__tool_get_report - mcp__cogny__mcp__TikTok_Ads__tool_get_insights - mcp__cogny__mcp__X_Ads__tool_get_analytics - mcp__cogny__mcp__Google_Analytics_4__tool_list_account_summaries - mcp__cogny__mcp__Google_Analytics_4__tool_run_report - mcp__cogny__mcp__Reddit_Ads__tool_list_ad_accounts - mcp__cogny__mcp__Reddit_Ads__tool_get_reporting - mcp__cogny__mcp__Snapchat_Ads__tool_list_organizations - mcp__cogny__mcp__Snapchat_Ads__tool_list_ad_accounts - mcp__cogny__mcp__Snapchat_Ads__tool_get_campaigns - mcp__cogny__mcp__Snapchat_Ads__tool_get_stats - mcp__cogny__mcp__Apple_Search_Ads__tool_list_acls - mcp__cogny__mcp__Apple_Search_Ads__tool_get_campaigns - mcp__cogny__mcp__Apple_Search_Ads__tool_get_campaign_report - mcp__cogny__mcp__Apple_Search_Ads__tool_get_account_spend - mcp__cogny__mcp__OpenAI_Ads__tool_get_ad_account - mcp__cogny__mcp__OpenAI_Ads__tool_get_insights - mcp__cogny__mcp__OpenAI_Ads__tool_get_conversion_insights - mcp__cogny__mcp__Bidtheatre__list_campaigns - mcp__cogny__mcp__Bidtheatre__get_report - mcp__cogny__mcp__Plausible__breakdown - mcp__cogny__mcp__Plausible__aggregate - mcp__cogny__mcp__Pipedrive__list_deals - mcp__cogny__mcp__Pipedrive__list_activities - mcp__cogny__mcp__Upsales__list_orders - mcp__cogny__mcp__Upsales__list_opportunities - mcp__cogny__mcp__Upsales__list_appointments - mcp__cogny__mcp__Upsales__get_metadata - mcp__cogny__mcp__Shopify__tool_list_orders - mcp__cogny__mcp__Shopify__tool_list_customers - mcp__cogny__mcp__WooCommerce__get_sales_report - mcp__cogny__mcp__WooCommerce__list_orders - mcp__cogny__mcp__WooCommerce__list_order_refunds - mcp__cogny__mcp__Abicart__get_sales_summary - mcp__cogny__mcp__Litium__get_sales_summary - mcp__cogny__mcp__PostHog__list_projects - mcp__cogny__mcp__PostHog__list_insights - mcp__cogny__mcp__PostHog__get_insight - mcp__cogny__mcp__Mixpanel__list_funnels - mcp__cogny__mcp__Mixpanel__get_funnel - mcp__cogny__mcp__Mixpanel__get_retention - mcp__cogny__mcp__GrowthBook__list_experiments - mcp__cogny__mcp__GrowthBook__get_experiment_results
Every Monday, a short memo the way a sharp analyst would write it:
> "The profitability-review page converted at 4%, and half those leads were too small to serve. > The dinner ad has the lowest cost per qualified call. Retargeting has spent $3,000 and produced > two sales conversations."
**Every line ends in a decision for you: keep, kill, change or test.** It follows the money all the way through to retention, refunds and profit, because a campaign that brings in cheap customers who churn in sixty days looks great on a dashboard and quietly loses you money.
**Requires:** Cogny ($9/mo). It's best with `/campaign-ledger` running. Without IDs it falls back in this order, labelling the confidence of every line: 1. **Campaign IDs** in the ledger (high) 2. **fibbler** channel-level attribution (medium). Needs fibbler with two paid channels; it refuses or returns zeros otherwise. If fibbler refuses, returns zeros **or fails auth** (401 / `Forbidden`), drop to tier 3 and name it in "Data problems". 3. **Platform-reported conversions + GA4 by `sessionSourceMedium`** (low). Always cross-check: if a platform claims conversions GA4 can't see (e.g. X sign-ups while GA4 shows untagged `t.co / referral` with 0 key events), that mismatch is a memo line in itself.
Without a campaign evidence bar, use a default: **conclusive only with ≥10 conversions and ≥14 days**.
Schedule: Monday 07:30, after `/customer-language` and `/campaign-ledger sync`.
If no `mcp__cogny__*` tools exist (no `list_integrations`, no `cogny_status`), print this and stop:
Performance
AI marketing skills for Claude Code, Cursor, Windsurf, and other AI coding tools. Audit SEO, analyze ads, research competitors, qualify leads — all from your terminal. Free skills need no account. Premium skills connect your real data for $9/mo.
Repo: cognyai/claude-code-marketing-skills
Generate ad copy variations for Google, Microsoft, Meta, LinkedIn, TikTok, Reddit, Snapchat…
Enforce a pre-declared evidence bar on every ad — after it spends enough, pause it if it…
Build a portable brand-kit.json for the user's product — colors, typography, voice — that…
Find accounts where something just happened that creates demand — funding, hiring, new…
Give every campaign an ID and carry it everywhere — allocate IDs, audit ad/email/UTM naming…
Re-read every lost deal in your CRM (HubSpot, Pipedrive or Upsales; Salesforce via the CRM…