- Home
- Skills
- Marketing & SEO
- Keyword Gap Analysis — Competitor Gaps + Priority Plan
Works with the AI Agents you already use
Keyword Gap Analysis — Competitor Gaps + Priority Plan
Keyword gap analysis from your Ahrefs, Semrush or GSC exports: label every keyword MISSING, BEHIND, WEAK or UNIQUE vs up to 5 competitors, then get a ranked page plan. No invented volumes.
$7
Keyword Gap Analysis — Competitor Gaps + Priority Plan
Example session with this skill installed
Run a keyword gap for mailerlite.com against Mailchimp, Constant Contact and Brevo. Brands: mailerlite, mailchimp, brevo, constant contact.
Files (one per site, columns Keyword, Position): mailerlite-brave-positions.csv · mailchimp-brave-positions.csv · constantcontact-brave-positions.csv · brevo-brave-positions.csv
Built from the Brave Search top 20 (US English, 21 Oct 2026) for 16 keywords: email marketing software · best email marketing software · free email marketing software · email marketing for small business · email marketing platform · email automation · newsletter templates · email marketing tips · how to build an email list · welcome email examples · landing page builder · transactional email service · sms marketing · email marketing pricing · mailchimp alternatives · mailerlite vs mailchimp. No volume column.
- Read your context and instructions
- Compiled the keyword gap analysis
Keyword gap report: mailerlite.com vs Mailchimp, Constant Contact, Brevo (16 email-marketing keywords)
Exports used: 4 position files built from Brave Search top 20 organic results (US English, fetched 21 Oct 2026; best position per domain). Not Google. No volume column, so volume is blank (never estimated). Public pages; not affiliated with any of these companies.
Generated: 21 Oct 2026 · scripts/keyword_gap.py --names "Mailchimp,Constant Contact,Brevo" --brands "mailerlite,mailchimp,brevo,constant contact"
Script: 15 keywords | MISSING=6, BEHIND=5, SHARED_STRONG=3, UNIQUE_TO_US=1 (newsletter templates: none of the 4 sites in the top 20, so it is dropped)
1. Top opportunities
| # | Keyword | Status | Rivals ranking (best) | Our pos. | Top 10 by page type (our labels) | Page to build | Why |
|---|---|---|---|---|---|---|---|
| 1 | best email marketing software | MISSING | 3 (Constant Contact #2) | – | 8/10 "best X" lists, 1 vendor page, 1 Reddit | "best email marketing software" list | all 3 rivals rank; Brevo #10 and Constant Contact #2 with lists |
| 2 | email marketing for small business | BEHIND | 3 (Constant Contact #1) | 17 | 5/10 guides, 3/10 lists, 1 Reddit, 1 vendor page | refresh /email-marketing-by-industry/small-business | our guide matches the format; its title still says "2024" |
| 3 | email marketing software | MISSING | 3 (Mailchimp #3) | – | 7/10 "best/free X" lists, Mailchimp homepage, Reddit, Gmail | same list page as #1 (one page, not two) | merge with #1 to avoid cannibalization |
| 4 | mailchimp alternatives | BEHIND | 1 (Constant Contact #1) | 7 | 7/10 numbered alternatives lists, 2 Reddit | refresh /mailchimp-alternative | a vs-page competing with "10 best" lists |
| 5 | email automation | BEHIND | 2 (Mailchimp #2) | 14 | 6/10 guides, 2 "best software" lists, 1 product, 1 Reddit | new beginner guide | our ranking URL is /features/automation, a feature page |
| 6 | how to build an email list | BEHIND | 2 (Brevo #6) | 12 | 9/10 how-to guides, 1 Reddit | refresh /ultimate-guide-to-email-marketing/email-list | quick win (pos. 8-20) |
| 7 | email marketing pricing | MISSING | 3 (Constant Contact #5) | – | 6/10 cost guides, 2 vendor pricing pages | cost guide, not the pricing page | only 2/10 are official pricing pages |
2. Protect list
- welcome email examples: #2 (Brevo #18). Title still says "for 2024" while #10 says "For 2026": refresh the year before it slips.
- email marketing platform: #6 (homepage; Mailchimp #2) · mailerlite vs mailchimp: #9 (Mailchimp #18)
- landing page builder: #16, UNIQUE_TO_US (none of the 3 rivals in the top 20)
3. Excluded (and why)
- mailerlite vs mailchimp: brand query (kept on the protect list only)
- sms marketing (Mailchimp #1), transactional email service (Brevo #8): separate product lines; confirm business fit first
- free email marketing software: BEHIND at #20 vs Constant Contact #7; folded into the list page in #1
4. Verify before you build
- Script intent was "unclear" for 4 rows (small business, email automation, sms marketing, landing page builder); the page types above come from the observed top 10, not the rules.
- Check volume and difficulty in your own SEO tool: this run had none.
No search volume, traffic, CTR or Google rankings were used or invented.
Connects securely to your tools. The creator never sees your data.
About this skill
Unlike free competitor-analysis skills and "what keywords am I missing?" prompts that guess from memory, this skill runs a bundled script on your real exports (Ahrefs, Semrush, GSC or a plain position list) and labels every keyword MISSING, BEHIND, WEAK, SHARED_STRONG or UNIQUE_TO_US with the positions from your files. Then it turns the gaps into a ranked page plan. It never invents volumes, difficulty or rankings.
Sample run: mailerlite.com vs Mailchimp, Constant Contact and Brevo, 16 email-marketing keywords (positions = Brave Search top 20, US English, fetched 21 Oct 2026, not Google; no volume used; public pages; not affiliated with any of them):
- Script: MISSING 6 · BEHIND 5 · SHARED_STRONG 3 · UNIQUE_TO_US 1 (newsletter templates: none of the 4 sites in the top 20)
- best email marketing software → MISSING · all 3 rivals rank (Constant Contact #2, Brevo #10, Mailchimp #16) · top 10 is 8/10 "best X" lists → build one list page
- email marketing software → MISSING · Mailchimp #3, Constant Contact #4 → same list page as #2, not a second page
- email marketing pricing → MISSING · Constant Contact /pricing #5 · 6/10 are cost guides → write a cost guide, not another pricing page
- email marketing for small business → BEHIND · our guide #17 vs Constant Contact #1 · our title still says "2024" → refresh
- mailchimp alternatives → BEHIND · our vs-page #7 vs Constant Contact's numbered list #1 (7/10 are lists)
- email automation → BEHIND · our feature page #14 vs Mailchimp's beginner guide #2 · 6/10 guides → page-type gap
- how to build an email list → BEHIND · #12 vs Brevo #6 → quick win (positions 8-20)
- Protect: welcome email examples #2 (Brevo #18), title says "for 2024" · landing page builder #16, only us
- Excluded: mailerlite vs mailchimp (brand) · sms marketing, transactional email service (separate product lines: check fit)
Full report from this run in the Example below.
Works in Claude Code, Cursor and Codex · tested on real public data (the MailerLite run above) · SKILL.md + two Python scripts (stdlib only, no network, no API keys) · never invents volume, difficulty or rankings · v1.0, updated Oct 2026 · questions answered via Agensi messages within 24h · Group the gap keywords into topic clusters and briefs with our Apify actor: https://apify.com/cygnix_labs/keyword-clusterer-brief · Free no-API-key SEO MCP server (keyword clustering, search intent, briefs): https://github.com/cygnixlabs-cmd/cygnix-seo-mcp
Gap reports in SEO tools give you thousands of rows and no decision. This gives you the 5-10 pages to build or refresh, and the ones to protect.
What it does
- Compares your keyword export with 1-5 competitor exports: Ahrefs (UTF-16 TSV), Semrush CSV, GSC Queries CSV, or a plain list. Keyword, position and volume columns are auto-detected.
- Labels every keyword: MISSING (rivals rank, you don't), BEHIND (5+ positions behind the best rival), WEAK (you rank worse than 20), SHARED_STRONG, UNIQUE_TO_US.
- Adds a rule-based intent guess and a suggested page type, and flags low-confidence rows for a SERP check.
- Prioritises pages, not keywords: business fit × competitor proof × effort (quick wins at positions 8-20 score highest), and merges near-duplicates into one page.
How it works
- Export your keywords and 1-5 competitors' keywords (templates/how-to-export.md shows where in each tool).
- Your agent runs scripts/keyword_gap.py and reviews the top 15 gaps with you.
- You get keyword-gap.csv plus a report: counts by status, top 10 opportunities, page plan (new pages / refreshes / quick wins), protect list, exclusions, and a verification checklist.
Who it's for
SEO leads, agencies and SaaS founders planning a content sprint from real competitor data. Not a rank tracker, and not a volume tool: it uses only the numbers in your files.
Pairs well with (Cygnix Labs, on Agensi)
- Keyword Clusters + Intent Map: No Paid SEO Tool Needed (agensi.io/skills/keyword-clusters-intent-map-no-paid-seo-tool-needed): cluster the gap list
- SERP Intent Mapper — Keyword → Page Type Match (agensi.io/skills/serp-intent-mapper-keyword-page-type-match): confirm the page type for each gap
- SEO Content Brief — Writer-Ready Outline, free (agensi.io/skills/seo-content-brief-writer-ready-outline): brief each new page
- Win Featured Snippets + People Also Ask: SERP Win Plan (agensi.io/skills/win-featured-snippets-people-also-ask-serp-win-plan): for gaps with a snippet
- Fix Keyword Cannibalization Using Google Search Console (agensi.io/skills/fix-keyword-cannibalization-using-google-search-console): before you add pages
- Find Decaying Pages: GSC Triage + Content Refresh Plan (agensi.io/skills/find-decaying-pages-gsc-triage-content-refresh-plan): for BEHIND pages losing traffic
How to use
- 1
Connect your agent to the Agensi MCP
Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup
- 2
Sign in to Agensi
Your agent shows a sign-in link. Sign in and click Allow.
- 3
Ask for what you need
Your agent loads this skill and uses it on your task. It always asks before any payment.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill goes through the trust checks below.
Security scanned
Checked by our 8-point scan before listing
Fresh listing
Recently published to Agensi
Money-back guarantee
Doesn't do what its page promises? You get your money back.
Trust & safety
Security scan
Security scan passed with 1 warning 15 days ago
Requires