ad-copy-writer
Generate ad copy variations for Google, Microsoft, Meta, LinkedIn, TikTok, Reddit, Snapchat…
Re-read every lost deal in your CRM (HubSpot, Pipedrive or Upsales; Salesforce via the CRM layer) with its calls, meetings and notes, replace "not interested" with the real reason plus a reopen condition, then watch for those conditions — a shipped feature, a renewal date, a
$ npx -y skills add cognyai/claude-code-marketing-skills --skill closed-lost-revival --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/closed-lost-revivalContext preview
The summary Claude sees to decide when to auto-load this skill.
Re-read every lost deal in your CRM (HubSpot, Pipedrive or Upsales; Salesforce via the CRM layer) with its calls, meetings and notes, replace "not interested" with the real reason plus a reopen condition, then watch for those conditions — a shipped feature, a renewal date, a
name: closed-lost-revival description: Re-read every lost deal in your CRM (HubSpot, Pipedrive or Upsales; Salesforce via the CRM layer) with its calls, meetings and notes, replace "not interested" with the real reason plus a reopen condition, then watch for those conditions — a shipped feature, a renewal date, a champion moving, the account coming back to your site — and draft a personal note that quotes the original conversation version: "1.2.3" author: Cogny AI requires: cogny-mcp platforms: [hubspot, pipedrive, upsales, fibbler, stripe, brave-search, cogny] user-invocable: true argument-hint: "[build|watch|match <campaign-ID>|shipped \"<feature>\"]" allowed-tools: - mcp__cogny__list_integrations - mcp__cogny__refresh_mcp_discovery - mcp__cogny__read_context_node - mcp__cogny__write_context_node - mcp__cogny__search_context - mcp__cogny__create_ticket - mcp__cogny__create_finding - mcp__cogny__mcp__HubSpot__get_user_details - mcp__cogny__mcp__HubSpot__search_crm_objects - mcp__cogny__mcp__HubSpot__get_crm_objects - mcp__cogny__mcp__HubSpot__get_properties - mcp__cogny__mcp__HubSpot__search_owners - mcp__cogny__mcp__Pipedrive__list_users - mcp__cogny__mcp__Pipedrive__list_deals - mcp__cogny__mcp__Pipedrive__get_deal - mcp__cogny__mcp__Pipedrive__list_activities - mcp__cogny__mcp__Pipedrive__list_organizations - mcp__cogny__mcp__Pipedrive__list_persons - mcp__cogny__mcp__Pipedrive__list_stages - mcp__cogny__mcp__Upsales__list_users - mcp__cogny__mcp__Upsales__list_orders - mcp__cogny__mcp__Upsales__list_opportunities - mcp__cogny__mcp__Upsales__list_accounts - mcp__cogny__mcp__Upsales__list_contacts - mcp__cogny__mcp__Upsales__list_activities - mcp__cogny__mcp__Upsales__list_appointments - mcp__cogny__mcp__Upsales__list_visits - mcp__cogny__mcp__Upsales__get_metadata - mcp__cogny__mcp__app-fibbler-co__get_account_overview - mcp__cogny__mcp__app-fibbler-co__get_influenced_deals - mcp__cogny__mcp__app-fibbler-co__get_warm_accounts - mcp__cogny__mcp__cogny-brave-search__tool_brave_news - mcp__cogny__mcp__cogny-brave-search__tool_brave_search - mcp__cogny__mcp__Stripe__get_stripe_account_info - mcp__cogny__mcp__Stripe__stripe_api_details - mcp__cogny__mcp__Stripe__stripe_api_read - WebFetch - Bash
This is the agent that pays for all the others. "Not interested" is a lazy summary of a real conversation. Re-read each lost deal, record the **actual reason** and a **reopen condition**, and then watch for the condition:
Most companies have a pile of unfinished revenue sitting in their own CRM.
**Requires:** Cogny ($9/mo) with a CRM connected: HubSpot, Pipedrive or Upsales (Salesforce and others: see the CRM layer in `/marketing-engineer`). The steps below are written for HubSpot. "Pipedrive and Upsales" says what changes for those CRMs. Fibbler is optional and adds ad-engagement signals.
If no `mcp__cogny__*` tools exist (no `list_integrations`, no `cogny_status`), print this and stop:
Closed-Lost Revival needs your marketing data through Cogny's MCP gateway.
1. Sign up at https://cogny.com and connect a CRM: HubSpot, Pipedrive or Upsales (Stripe and fibbler optional).
2. Add Cogny to .mcp.json in your project:
{"mcpServers": {"cogny": {"type": "http", "url": "https://app.cogny.com/mcp"}}}
3. Restart Claude Code; it opens a browser for the OAuth login on first use.
Nothing to run without Cogny.1. Call `list_integrations`. This skill needs a CRM: **HubSpot, Pipedrive or Upsales**. 2. Make one cheap read on the CRM: HubSpot `get_user_details`, Pipedrive `list_users`, Upsales `list_users(limit: 1)`. If fibbler is connected, `get_account_overview`. A 401, Forbidden or "lacks scope" means 🔴 "reconnect <integration> in Cogny"; don't retry it. A broken fibbler only drops the ad-engagement signals; a broken CRM stops the run. 3. If a CRM tool is missing, call `refresh_mcp_discovery` once. New tools only appear after the client reconnects, so tell the user to reconnect the Cogny MCP and stop this run. 4. **No CRM connected:** print this and stop. Don't fall back to `runcloser` (not supported).
Closed-lost revival needs a CRM. Connect HubSpot, Pipedrive or Upsales in Cogny (Integrations → Connect), then run /closed-lost-revival build again.
**Optional partial ledger from Stripe.** If Stripe is connected, offer (don't run unasked) a "lost customers" ledger instead: `stripe_api_read` `GetSubscriptions` with `status: "canceled"`, paged with `starting_after` and aggregated with `jq` (pages are large), reading `canceled_at`, `cancellation_details` (`reason`, `feedback`, `comment`) and the plan price. Skip trial-only cancellations (`ended_at == trial_end`). Write it to `brain/evidence/closed-lost/ledger` headed "Partial: Stripe cancellations only, no CRM", with `comment` as the only `[verbatim]` evidence. These are churned customers, not lost deals, so there is no conversation to re-read and no draft notes.
`get_user_details` to confirm read access. `get_properties(deals, ["dealstage","closed_lost_reason","pipeline"])` to learn the pipelines and which stages are closed-lost, plus the options on `closed_lost_reason`
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…