Skip to content
Marketing
Skill

/creative-engine

Turn customer language into 8–12 genuinely different ad concepts (not 50 versions of one headline), generate the images with your real brand assets, and upload them to Meta, LinkedIn or TikTok in a PAUSED state, named with campaign ID, angle and format

BOOST
From plugin
claude-code-marketing-skills
10662 skills
Install
$ npx -y skills add cognyai/claude-code-marketing-skills --skill creative-engine --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/creative-engine

Context preview

The summary Claude sees to decide when to auto-load this skill.

Turn customer language into 8–12 genuinely different ad concepts (not 50 versions of one headline), generate the images with your real brand assets, and upload them to Meta, LinkedIn or TikTok in a PAUSED state, named with campaign ID, angle and format

SKILL.md

creative-engine.SKILL.md
name: creative-engine
description: Turn customer language into 8–12 genuinely different ad concepts (not 50 versions of one headline), generate the images with your real brand assets, and upload them to Meta, LinkedIn or TikTok in a PAUSED state, named with campaign ID, angle and format
version: "1.1.3"
author: Cogny AI
requires: cogny-mcp
platforms: [cogny-image-gen, meta-ads, linkedin-ads, tiktok-ads, reddit-ads, x-ads, snapchat-ads]
user-invocable: true
argument-hint: "<campaign-ID> [--platform meta|linkedin|tiktok|reddit|x|snapchat] [--concepts 8] [--no-upload]"
allowed-tools:
  - Read
  - Write
  - 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__cogny-image-gen__tool_list_brand_assets
  - mcp__cogny__mcp__cogny-image-gen__tool_list_uploads
  - mcp__cogny__mcp__cogny-image-gen__tool_analyze_media
  - mcp__cogny__mcp__Meta_Ads__tool_list_ad_accounts
  - mcp__cogny__mcp__Meta_Ads__tool_get_facebook_pages
  - mcp__cogny__mcp__Meta_Ads__tool_get_campaigns
  - mcp__cogny__mcp__Meta_Ads__tool_get_ad_sets
  - mcp__cogny__mcp__Meta_Ads__tool_get_ads
  - mcp__cogny__mcp__Meta_Ads__tool_get_insights
  - mcp__cogny__mcp__Meta_Ads__tool_get_ad_preview
  - mcp__cogny__mcp__LinkedIn_Ads__tool_list_ad_accounts
  - mcp__cogny__mcp__LinkedIn_Ads__tool_get_campaigns
  - mcp__cogny__mcp__LinkedIn_Ads__tool_get_creatives
  - mcp__cogny__mcp__LinkedIn_Organic__tool_list_organizations
  - mcp__cogny__mcp__TikTok_Ads__tool_list_advertisers
  - mcp__cogny__mcp__TikTok_Ads__tool_get_ad_groups
  - mcp__cogny__mcp__Reddit_Ads__tool_list_ad_accounts
  - mcp__cogny__mcp__Reddit_Ads__tool_get_campaigns
  - mcp__cogny__mcp__Reddit_Ads__tool_get_ad_groups
  - mcp__cogny__mcp__Reddit_Ads__tool_get_ads
  - mcp__cogny__mcp__Reddit_Ads__tool_list_promotable_posts
  - mcp__cogny__mcp__X_Ads__tool_list_ad_accounts
  - mcp__cogny__mcp__X_Ads__tool_get_campaigns
  - mcp__cogny__mcp__X_Ads__tool_get_line_items
  - mcp__cogny__mcp__X_Ads__tool_get_cards
  - mcp__cogny__mcp__Snapchat_Ads__tool_list_organizations
  - mcp__cogny__mcp__Snapchat_Ads__tool_list_ad_accounts
  - mcp__cogny__mcp__Snapchat_Ads__tool_get_ad_squads
  - mcp__cogny__mcp__Snapchat_Ads__tool_get_creatives
  - mcp__cogny__mcp__HubSpot__search_crm_objects
  - mcp__cogny__mcp__Pipedrive__list_activities
  - mcp__cogny__mcp__Upsales__list_activities
  - mcp__cogny__mcp__Upsales__list_appointments
  - mcp__cogny__mcp__Discord__list_guilds
  - mcp__cogny__mcp__Discord__list_guild_channels
  - mcp__cogny__mcp__Discord__get_channel_messages
  - mcp__cogny__mcp__X_Organic__tool_get_mentions
  # No integration write tools are pre-approved (generate_image, create_*, upload_*): they prompt the user.

Creative Engine

Creative is the new targeting. Meta's ad system (Andromeda) reads the ad itself to decide who sees it, and it groups ads that look alike, so fifty versions of the same headline get roughly the reach of one ad. Winners also burn out in two to three weeks. The job is a steady stream of **genuinely different reasons to buy**, each built from what customers said.

**Requires:** Cogny with Meta Ads (or LinkedIn, TikTok, Reddit, X or Snapchat Ads). Use `--no-upload` to get the concepts and images without touching an ad account.

**Plan matters:** image generation (`cogny-image-gen`, Nano Banana / GPT Image) is **Cloud-only**. On **Solo** the skill writes the concepts plus a ready-to-paste image prompt and shot brief per concept (aspect ratios, negative prompt, reference assets to use) instead of images, and uploads only if the user supplies image URLs.

Usage

  • `/creative-engine BK014` — concepts + images + paused Meta ads for campaign BK014
  • `/creative-engine BK014 --platform linkedin`
  • `/creative-engine BK014 --no-upload` — creative pack only

The campaign must exist (`/campaign-ledger new`). Without an ID, stop and ask for one. If the brain is missing, the concepts can still be drafted with `--no-upload`: take the customer language from whichever sources are connected: the CRM's recent call and meeting notes (HubSpot `search_crm_objects` on `calls` / `meetings`, Pipedrive `list_activities`, Upsales `list_activities` / `list_appointments`), Discord `#support` via `get_channel_messages` (`limit: 50`; private channels only as anonymised themes, per routing §5) and X mentions (`X_Organic` `tool_get_mentions`). Label the pack "no brain: provisional", and list **every product claim as "needs confirmation"**, since there's no `offers` node to check them against.

**Health check:** `list_integrations` misses revoked tokens, so treat the first cheap read per integration (`list_ad_accounts`, `list_guilds`, …) as the check. 401, Forbidden or a scope error = 🔴 "reconnect <integration>": name it, don't retry. A missing tool: `refresh_mcp_discovery` once; new tools need a client reconnect, so use the fallback above and mark the source ⚠.

Step 0: Cogny check

If no `mcp__cogny__*` tools exist (no `list_integrations`, no `cogny_status`), print this:

Creative Engine needs your marketing data through Cogny's MCP gateway.

1. Sign up at https://cogny.com and connect Meta Ads (or LinkedIn, TikTok, Reddit, X or Snapchat Ads); image generation needs the Cloud plan.
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.

Without Cogny you can still: draft concepts with --no-upload (no images, no ad creation).

In that case take the campaign ID the user gives (no ledger check), use customer language they paste or `./brain/evidence/customer-language/latest.md` from `/customer-language` local mode, run steps 1–2 only, label the pack "no Cogny: provisional" with every product claim marked "needs confirmation", and print it (or Write it to `./b

Read more
Ships withclaude-code-marketing-skills

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.

Get the whole plugin
Stats
107
Stars
14
Forks
Active
Maintenance
HTML
Language
1d ago
Last commit
6mo ago
Created

Repo: cognyai/claude-code-marketing-skills