Skip to content
Marketing
Skill

/ai-search-gaps-to-social-campaign

Find the AI-search prompts and topics where a brand is invisible (or losing to competitors) in SE Ranking, then turn those gaps into a social campaign in Planable and set up before/after tracking. Use this skill whenever the user wants to improve how their brand shows up in AI

From plugin
seo-skills
19232 skills1 MCP

Claude Code

$ npx -y skills add seranking/seo-skills --skill ai-search-gaps-to-social-campaign --agent claude-code

SKILL.md

ai-search-gaps-to-social-campaign.SKILL.md
name: ai-search-gaps-to-social-campaign
description: >
  Find the AI-search prompts and topics where a brand is invisible (or losing to competitors) in
  SE Ranking, then turn those gaps into a social campaign in Planable and set up before/after tracking.
  Use this skill whenever the user wants to improve how their brand shows up in AI answers (ChatGPT,
  Perplexity, Gemini, Google AI Overview, AI Mode) through content, or says things like "what should we
  post to get cited by AI", "where are competitors winning in AI answers and we're not", "create content
  for the prompts we're missing", "improve our AI visibility with social", "AEO/GEO content plan", or
  "turn our AI search gaps into posts". Always activate when AI-search visibility is the goal and Planable
  is where the content will be made.

AI-search gaps → social campaign

Use SE Ranking's AI Search data to see which prompts and narratives a brand owns, which competitors own, and which are wide open — then build social content in Planable that stakes a claim in the missing narratives, and instrument it so impact is measurable.

> **Scope note (read this).** SE Ranking's AI Search MCP tools expose brand presence, link presence, share of voice, and the prompts behind them. They do **not** expose sentiment scoring. Do not report or imply sentiment from these tools. Social content is one lever on AI visibility — LLM citation is also driven by website content and authority, which is outside what these two MCPs publish.

Prerequisites

  • **SE Ranking MCP** connected (AI Search Data API; optionally a project for the AI Result Tracker, which enables ongoing prompt tracking).
  • **Planable MCP** connected, with the destination workspace and pages.
  • The user provides: target domain + brand name, country (default `us`), competitor domains + brand names (up to 10), and optionally which engines to focus on (default: all of `ai-overview`, `ai-mode`, `chatgpt`, `perplexity`, `gemini`).

Connector health check

Before doing anything else, verify both MCPs are reachable:

  • **SE Ranking:** call `DATA_getSubscription`. If it fails or returns an auth error, stop immediately and tell the user:

> "The SE Ranking connector isn't responding — please reconnect it before we continue. Setup guide: https://seranking.com/api/integrations/mcp/"

  • **Planable:** call `list_workspaces`. If it fails or returns an auth error, stop immediately and tell the user:

> "The Planable connector isn't responding — please reconnect it before we continue. Setup guide: https://help.planable.io/hc/en-us/articles/27538577098780-How-to-connect-Planable-MCP-to-your-AI-tools"

Only continue to the process steps below once both calls return a successful response.

Process

1. Resolve the brand and scope

If the user gives a domain but not the exact brand string, call `DATA_getAiSearchBrand(target, source)` to get the name SE Ranking attributes to it. Do the same for each competitor. Confirm the Planable workspace and target platforms.

2. Baseline AI visibility

  • `DATA_getAiSearchOverview(target, source, brand?)` — capture brand_presence, link_presence, ai_opportunity_traffic, and average_position. **Read `previous` before quoting change:** if it's `null`, this is the first snapshot — report the current values as a baseline and do **not** present the `change_percent` of 100 as real growth.
  • `DATA_getAiSearchLeaderboard(primary{target,brand}, competitors[{target,brand}], source, engines[])` — share of voice for the brand vs competitors, per engine. Build a quick heatmap (rows = brands, columns = engines).
  • **This endpoint is heavy and can return a 504 timeout** when you pass many competitors × many engines at once. Query **one engine at a time** (or keep it to ≤3 competitors per call), and retry once on timeout. If it still fails, fall back to calling `DATA_getAiSearchOverview` for each competitor and compare brand_presence / link_presence yourself.

3. Find the prompt gaps

For the target and each competitor, pull the prompts behind the presence:

  • `DATA_getAiSearchPromptsByBrand(brand, engine, source)` — prompts mentioning the brand by name.
  • `DATA_getAiSearchPromptsByTarget(target, engine, source)` — prompts where the domain is cited as a source.

Compare: cluster prompts by topic, then mark each cluster as **owned** (target appears), **contested** (target + competitors), or **missing** (competitors appear, target doesn't). The missing and contested clusters are the campaign targets.

  • **AI prompts almost always have `volume: 0`** — they're conversational queries, not search keywords. That is expected and is **not** a signal of low value. Judge a cluster by topical relevance and by *which brands the LLM cites*, never by search volume.
  • **Validate brand-name matches.** A brand can surface in loosely related answers ("best year planner", a person's name, etc.). Read the answer text and flag ambiguous matches rather than counting them as real presence.
  • Note *where* the target sits when it does appear (e.g. cited 4th of 6 in "best X" answers) — moving up within contested prompts is as valuable as entering missing ones.

4. Turn gaps into content hypotheses

For each target cluster, write a hypothesis: *"If we publish clear, citable content asserting [brand] in [narrative], we should start appearing for prompts like [examples]."* Translate each into social angles that make the brand's position explicit and quotable — definitions, head-to-head comparisons, "X vs Y", myth-busting, FAQ-style answers. LLMs favour clear, structured, attributable claims, so write social copy that states the position plainly rather than burying it.

Present the clusters and hypotheses to the user before drafting.

5. Draft and create in Planable

Write platform-appropriate copy, then create drafts: `create_post` per page (per-platform copy) or `create_grouped_post` for synced content. Tag the batch with a label (via `list_labels` / `create_label`, e.g. "A

Read more
@seranking
Ships withseo-skills

Production-ready Claude Agent Skills for SEO, powered by the SE Ranking remote MCP.

19232 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
192
Star history of seranking/seo-skills on GitHub, a chart by star-history.com

Other skills on seo-skills.

seo-ads

seo-ads

Paid-search competitive landscape for a domain or keyword. Pulls SE Ranking's PPC data — domain ad keyword footprint, ad copy…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about ai-search-gaps-to-social-campaign.

Which coding agents can use ai-search-gaps-to-social-campaign?
ai-search-gaps-to-social-campaign installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.