CommunityCoding & Developmentgithub.com

cygnixlabs-cmd/cygnix-seo-skills

Group a keyword list into topic clusters with a pillar keyword, majority search intent and suggested page type, so one page targets each cluster. Use when the user pastes keywords or a keyword CSV and asks to cluster, group, organise or map keywords to pages, or plan a content hub. Offline, no API keys.

What is cygnix-seo-skills?

cygnix-seo-skills is a Claude Code agent skill that group a keyword list into topic clusters with a pillar keyword, majority search intent and suggested page type, so one page targets each cluster. Use when the user pastes keywords or a keyword CSV and asks to cluster, group, organise or map keywords to pages, or plan a content hub. Offline, no API keys.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cygnixlabs-cmd/cygnix-seo-skills/tree/HEAD/skills/keyword-clustering-lite

Installed? Explore more Coding & Development skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Keyword clustering (lite)

Turns a flat keyword list into page-sized clusters. Each cluster gets a pillar keyword (highest volume, or shortest if there is no volume), a majority intent and the page type that usually ranks for that intent.

When to use

  • "Cluster these keywords", "group this keyword export", "which keywords can share one page?"
  • Planning a pillar/cluster content hub from a keyword tool export (Ahrefs, Semrush, GSC, Keyword Planner).

How to run

  1. Save the keywords as a .txt (one per line) or a CSV with a keyword or query column. An optional volume / search volume / impressions column is used to pick pillars and order clusters.
  2. Run:
    python3 scripts/cluster.py keywords.csv            # default threshold 0.5
    python3 scripts/cluster.py keywords.txt --threshold 0.4   # looser clusters
    
  3. Present the Markdown table. For the top 3 clusters, suggest one URL slug and an H1 each.

How it works (and its limits)

Lexical clustering: stopwords are removed, words are lightly stemmed, and a keyword joins the cluster whose pillar shares at least threshold of its core terms (Jaccard). Single-word cores only join identical cores. It does not look at live SERPs, so synonyms ("cheap" vs "affordable") stay separate and two clusters with the same ranking URLs are not merged. Tell the user to check the live SERP for the top clusters before merging or splitting pages.

Example

Input: best crm for small business, small business crm software, crm for small business, crm vs erp, erp vs crm difference. Output: cluster 1 "crm for small business" (commercial, comparison page, 3 keywords); cluster 2 "crm vs erp" (commercial, 2 keywords).

Want more?

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

cygnixlabs-cmd/cygnix-seo-skills

Give one web page a quick 0-100 AI search visibility (GEO/AEO readiness) score from its server-rendered HTML - AI crawler access, Organization/WebSite JSON-LD, structured data, title/meta, question headings, answer-first opening, llms.txt and freshness - with the top 5 fixes. Use when the user asks if a page is ready for ChatGPT, Perplexity, Google AI Overviews or other AI search, or wants a GEO/AEO score.

cygnixlabs-cmd/cygnix-seo-skills

Compare two Google Search Console page exports (an earlier period and a recent one) and flag pages that are LOST, DECLINING, in STRIKING_DISTANCE, GROWING or STABLE, ranked by clicks lost. Use when the user asks which pages lost traffic, about content decay, what to refresh or update first, or uploads two GSC page exports. Offline, no API keys.

cygnixlabs-cmd/cygnix-seo-skills

Find queries where two or more of your own pages split Google impressions, from a Google Search Console query+page export, and rank them HIGH/MEDIUM/LOW. Use when the user asks about keyword cannibalization, competing pages, pages fighting for the same keyword, or uploads a GSC export with query and page columns. Offline, no API keys.

cygnixlabs-cmd/cygnix-seo-skills

Check whether a website has a valid /llms.txt (llmstxt.org format, working links, size) and whether robots.txt lets AI crawlers such as GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and Google-Extended in. Use when the user asks about llms.txt, AI crawler access, blocking or allowing AI bots, or whether ChatGPT/Claude/Perplexity can read their site. Read-only.

Related Skills