Skip to content
Marketing
Skill

/seo-gaps-to-social-campaign

Turn SE Ranking search-opportunity insights into a ready-to-publish social campaign in Planable. Use this skill whenever the user wants to convert SEO research into social content — keyword gaps, competitor wins, ranking losses, question keywords, or new topic opportunities —

From plugin
planable-smm
312 skills1 MCP
Install
$ npx -y skills add seranking-planable/smm-skills --skill seo-gaps-to-social-campaign --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/seo-gaps-to-social-campaign

Context preview

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

Turn SE Ranking search-opportunity insights into a ready-to-publish social campaign in Planable. Use this skill whenever the user wants to convert SEO research into social content — keyword gaps, competitor wins, ranking losses, question keywords, or new topic opportunities —

SKILL.md

seo-gaps-to-social-campaign.SKILL.md
name: seo-gaps-to-social-campaign
description: >
  Turn SE Ranking search-opportunity insights into a ready-to-publish social campaign in Planable.
  Use this skill whenever the user wants to convert SEO research into social content — keyword gaps,
  competitor wins, ranking losses, question keywords, or new topic opportunities — and have the posts
  drafted and scheduled in Planable. Trigger on things like "what should we post based on our SEO data",
  "turn these keyword gaps into posts", "our competitor is ranking for X, make social content about it",
  "repurpose our ranking opportunities into a campaign", "build a social campaign from search demand", or
  "fill the calendar based on what people are searching". Always activate when SE Ranking research is the
  starting point and Planable is the destination.

SEO gaps → social campaign

Connect SE Ranking (where the demand and the gaps live) to Planable (where content gets made, approved, and published). The goal is a focused social campaign whose every post is grounded in real search demand — not a generic brainstorm.

Prerequisites

  • **SE Ranking MCP** connected (Data API for research; a project is optional but unlocks ranking-loss detection).
  • **Planable MCP** connected, with the destination workspace and at least one connected page.
  • The user provides: target domain, market/country (default `us`), the Planable workspace, and ideally 1–3 competitor domains. Number of posts defaults to 6 if unspecified.

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. Scope the campaign

Confirm: target domain, country, competitors (optional), the Planable workspace + which platforms, how many posts, and any campaign window. If the workspace is ambiguous, call `list_workspaces` and let the user pick — do not guess.

2. Discover opportunities in SE Ranking

Work sequentially (respect the Data API limit of ~10 requests/second). Save raw results as you go.

  • `DATA_getDomainOverviewWorldwide` + `DATA_getDomainKeywords` — the target's current footprint and best existing keywords. The target's own strong/striking-distance keywords are often the most on-brand campaign fuel, so mine these first.
  • `DATA_getDomainCompetitors` — confirm the real organic competitors (sort by shared keywords; take the top 3–5). Note: this call returns the full set and may be written to a file — read and parse it.
  • `DATA_getDomainKeywordsComparison` — the core gap list: keywords competitors rank for that the target does not. Filter to keep it useful (e.g. informational/commercial intent, volume > a sensible floor, difficulty the domain can realistically win). **Then judge relevance, not just the numbers** — competitor gap lists are noisy and surface off-brand junk (glossary entries, follower-farming terms like "free followers", unrelated blog tangents). Discard anything that isn't a topic the target could credibly post about; a high-volume term the brand has no business addressing is not an opportunity. If a strict filter returns almost nothing, loosen one threshold or try another competitor rather than forcing a campaign out of junk.
  • `DATA_getRelatedKeywords` + `DATA_getKeywordQuestions` — expansion terms and real questions people ask. **Question keywords are gold for social hooks** — they map directly to post openers. These endpoints often return only a handful of rows per seed, so query **several seeds (3–5 core topics) and aggregate** rather than trusting one; a seed returning 1–2 questions is normal, not a sign there's no demand.
  • `DATA_getSerpResults` for the 2–4 strongest themes — read the intent and the SERP features so the social angle matches what searchers actually want.
  • **Ranking losses (if a project exists):** call `PROJECT_getPositionHistory` (type `avg_pos` or `visibility`) to find terms that slipped. A recovering or slipping keyword is a strong "we have something to say" social trigger. If there is no project, skip this and rely on the gap analysis above.

3. Cluster into themes, then into angles

Group the keywords/questions into 3–6 content themes. For each theme, write a one-line rationale tied to the data (volume, gap size, intent, or a ranking move). Then translate each theme into concrete social angles — a question keyword becomes a hook, a comparison term becomes a carousel, a how-to becomes a tips post.

Surface the themes to the user **before** drafting, so they can steer.

4. Draft the posts

Write platform-appropriate copy for each post (see length/format norms below). Vary hooks and formats across the batch — don't repeat one structure. Keep each post traceable to its source keyword/question so the user understands the "why".

| Platform | Length | Notes | |---|---|---| | LinkedIn | ~3,000 chars | Professional, can be long-form, line breaks | | Instagram | ~2,200 chars | Visual-first; hashtags at end or first comment; requires media | | Facebook | shorter performs better | Conversational | | X/Twitter | 280 chars | Punchy | | TikTok | ~2,200 chars | Casual, trend-aware |

Show all drafts in a preview before creating anything, unless the user said "just create them".

5. Create the drafts in Planable

`list_pages(workspaceId)` to get page IDs for the requested platforms. Then:

  • Same content across
Read more
Ships withplanable-smm

Production-ready Claude Agent Skills for social media managers, paired with the Planable MCP server and — for the cross-channel skills — the SE Ranking MCP server.

Get the whole plugin

Other skills on planable-smm.