SEO Keyword Clustering
AgriciDaniel/claude-seo
Clusters keywords by how much their search results overlap and designs a hub-and-spoke content plan with an internal link matrix and an interactive cluster map.
When the user wants to research keywords, find target keywords, or analyze search intent.
$ npx skills add kostja94/marketing-skills --skill keyword-research -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kostja94/marketing-skills keyword-research --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/kostja94/marketing-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/seo/content/keyword-research .claude/skills/keyword-research && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "keyword-research" agent skill from https://github.com/kostja94/marketing-skills/tree/main/skills/seo/content/keyword-research into .claude/skills/keyword-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "keyword-research", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/kostja94/marketing-skills/tree/main/skills/seo/content/keyword-researchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add kostja94/marketing-skills --skill keyword-research -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kostja94/marketing-skills keyword-research --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kostja94/marketing-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/seo/content/keyword-research .agents/skills/keyword-research && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "keyword-research" agent skill from https://github.com/kostja94/marketing-skills/tree/main/skills/seo/content/keyword-research into .agents/skills/keyword-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "keyword-research", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kostja94/marketing-skills --skill keyword-research -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kostja94/marketing-skills keyword-research --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kostja94/marketing-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/seo/content/keyword-research .cursor/skills/keyword-research && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "keyword-research" agent skill from https://github.com/kostja94/marketing-skills/tree/main/skills/seo/content/keyword-research into .cursor/skills/keyword-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "keyword-research", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/kostja94/marketing-skills.git --path skills/seo/content/keyword-research--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add kostja94/marketing-skills --skill keyword-research -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kostja94/marketing-skills keyword-research --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kostja94/marketing-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/seo/content/keyword-research .gemini/skills/keyword-research && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "keyword-research" agent skill from https://github.com/kostja94/marketing-skills/tree/main/skills/seo/content/keyword-research into .gemini/skills/keyword-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "keyword-research", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install kostja94/marketing-skills keyword-researchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add kostja94/marketing-skills --skill keyword-research -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kostja94/marketing-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/seo/content/keyword-research .github/skills/keyword-research && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "keyword-research" agent skill from https://github.com/kostja94/marketing-skills/tree/main/skills/seo/content/keyword-research into .github/skills/keyword-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "keyword-research", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kostja94/marketing-skills --skill keyword-research -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kostja94/marketing-skills keyword-research --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kostja94/marketing-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/seo/content/keyword-research .opencode/skills/keyword-research && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "keyword-research" agent skill from https://github.com/kostja94/marketing-skills/tree/main/skills/seo/content/keyword-research into .opencode/skills/keyword-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "keyword-research", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
keyword-researchWhen the user wants to research keywords, find target keywords, or analyze search intent.
Keyword Research is an agent skill from kostja94/marketing-skills. When the user wants to research keywords, find target keywords, or analyze search intent. Also use when the user mentions "keyword research," "keyword tool," "target keywords," "search volume," "search intent," "keyword difficulty," "topical map," "keyword clustering," "People Also Ask," "Google autocomplete," "autocomplete keywords," or "alphabet method." For clusters, use content-strategy.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Marketing & SEO, covering Keyword research. The repository describes itself as: Agent Skills for Marketing — SEO, Social, Influencer & More. 160+ open-source skills for SEO, content, 40+ page types, paid ads, channels, and strategies. Add project context… The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8dd89c5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
backlinko.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Keyword Research loads about 2.7k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,213 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from kostja94/marketing-skills at commit 8dd89c5, republished under its MIT licence (© kostja94). 1,213 words, ~2,681 tokens.
.claude/skills/keyword-research/SKILL.md (or your agent's skills folder).Guides keyword research for SEO: finding target keywords, assessing difficulty, understanding search intent, and building topical maps. ~95% of keywords get fewer than 10 searches/month; low-volume, high-intent terms often yield faster rankings and conversion.
When invoking: On first use, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On subsequent use or when the user asks to skip, go directly to the main output.
Project context: Read root contextus.md when present and load only the modules relevant to this task. Without Contextus, use available project material or user-provided facts and ask for missing information; do not create a parallel context system.
Identify:
| Method | Purpose |
|---|---|
| User perspective | What pain points? What would they search? Customer language from product context |
| Tool expansion | Related keywords, questions, suggestions; Google autocomplete, PAA, Related Searches |
| Competitor reverse | Analyze competitor titles, H1, URL; identify topics they rank for; find gaps (#4–10 = opportunity) — see competitor-research |
| Google PAA | People Also Ask and Related Searches; high-value signals from real user behavior |
| Extract from article | When auditing existing content: extract seed keywords from title, H1, H2s, meta keywords, first 100 words; then search "[primary keyword]" or "[primary keyword] related keywords" for opportunities; use "[primary keyword]" site:competitor.com if competitors known |
Google autocomplete reflects real user searches; suggestions only appear if queries have actual traffic. Free; often uncovers low-volume long-tail that keyword tools miss. ~70% of search traffic is long-tail; lower competition, higher conversion.
Alphabet method (seed + space + letter):
keyword a, keyword b, ... keyword zSEO a -> "SEO audit," "SEO agency"; SEO b -> "SEO basics," "SEO best practices"Position variants (seed in different positions):
a keyword, b keyword (discover what users add before)keyword a, keyword b (most common; alphabet method)how to keyword a, best keyword for (question + modifier combos)Question modifiers:
how to keyword, what is keyword, why keyword, when to keyword, keyword vskeyword for beginners, keyword for small business, keyword withoutWhy it works: Keyword tools filter low-volume terms; autocomplete only shows queries with real traffic. Use with PAA and Related Searches for full coverage. Categorize results by intent (informational, commercial, transactional).
| Intent | Content type | Example |
|---|---|---|
| Informational | Blog, guide, FAQ | "how to optimize sitemap" |
| Navigational | Brand page | "alignify login" |
| Commercial | Comparison, review | "SEO tools comparison" |
| Transactional | Product, pricing | "best SEO tool pricing" |
Modifier words (often signal intent):
| Intent | Modifiers |
|---|---|
| Informational | "how," "what," "why," "guide," "tutorial" |
| Commercial | "best," "compare," "vs," "review," "top" |
| Transactional | "buy," "price," "cheap," "coupon," "free shipping" |
| Local | Location names |
SERP check: Search the term—knowledge cards/Wiki → informational; product lists/reviews → commercial; brand sites → navigational. Broader terms often show mixed SERP. See serp-features for feature types.
| Method | Use |
|---|---|
| SERP overlap | Keywords with overlapping top-ranking pages → same cluster |
| Semantic | Group by meaning, LSI, related concepts |
| Intent-based | Group by intent; separate pages if intent differs within cluster |
Pillar–cluster (map keywords to structure):
| Factor | Consider |
|---|---|
| Search volume | Monthly searches; ~100+/month typical floor; niche can relax |
| Keyword difficulty (KD) | New sites target lower KD |
| CPC | Higher CPC often = stronger commercial intent |
| SERP features | Featured Snippet, PAA, zero-click; SERP features can satisfy intent without click—affects real traffic; see serp-features (Zero-Click section), featured-snippet |
| Screening order | 1) Remove irrelevant 2) Filter very low volume 3) Assess achievability 4) Prioritize commercial/transactional |
Test if positioning is clear enough for search:
Agent/Copilot products: Pure native Agent hard to grow via SEO; users rarely search "agent." Release related features first (e.g., CRM, sales bot for sales agent) to build traffic, then funnel to Agent product.
Keyword research serves both SEO and Google Ads. Align both channels to avoid duplication, cannibalization, and wasted spend.
| Data flow | Use |
|---|---|
| keyword-research → google-ads | Keyword list, clusters, intent; support terms (login, forum, pricing) → negative keywords for PPC |
| google-ads → keyword-research | PPC conversion rate, Search Terms report → SEO priority; high-converting PPC terms = worth ranking organically |
| keyword-research → landing-page | Clusters → dedicated LP per intent; PAA questions → FAQ sections |
| GSC organic rank 4+ | If you rank well organically, consider reducing/pausing PPC on those terms to avoid cannibalization |
PPC data for SEO priority: SEO ROI ≈ (Organic clicks × PPC conversion rate × Customer value) − SEO cost. Use PPC conversion data to validate which keywords to pursue in organic.
Reference: Backlinko – SEO and PPC: 8 Smart Ways to Align
| Source | Use |
|---|---|
| Ahrefs | Keywords Explorer, Site Explorer |
| SEMrush | Keyword Overview, Organic Research |
| GSC | Search queries, impressions, clicks |
| GA | Traffic by landing page |
| PostHog | Feature/search usage |
contextus.md if present| Section | Content |
|---|---|
| Executive Summary | Priorities (top 3) |
| Keyword Overview | Total keywords, primary intent, avg KD, content gaps count |
| Keyword List | Keyword, volume, KD, intent, priority, target page |
| Keyword Mapping | Page/URL, target keywords, status |
| Content Gaps | Keywords competitors rank for that you don't |
| Action Plan | Priority, action, impact, effort |
| Appendix | Search intent reference (Informational, Commercial, Transactional, Navigational) |
© kostja94, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/seo/content/keyword-research of kostja94/marketing-skills.
Open the folder on GitHubat commit 8dd89c5
Keyword Research next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Keyword Research this skillkostja94/marketing-skills | 1k | — | ~2.7k | Automated safety check: Pass | MIT | |
| SEO Keyword ClusteringAgriciDaniel/claude-seo | 19k | 2 repos | ~3.3k | Automated safety check: Pass | MIT | |
| Evaluate Skillevery-app/open-seo | 23k | — | ~1.8k | Automated safety check: Notes | MIT | |
| SEO Content Brief GeneratorAgriciDaniel/claude-seo | 19k | 2 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Blog GoogleAgriciDaniel/claude-blog | 2.3k | 1 repos | ~3.3k | Automated safety check: Notes | MIT | |
| FLOW SEO FrameworkAgriciDaniel/claude-seo | 19k | 2 repos | ~1.4k | Automated safety check: Pass | MIT |
AgriciDaniel/claude-seo
Clusters keywords by how much their search results overlap and designs a hub-and-spoke content plan with an internal link matrix and an interactive cluster map.
every-app/open-seo
Test a candidate OpenSEO skill end to end by running fresh, isolated Codex sessions against the local backend and scoring the reports they save.
AgriciDaniel/claude-seo
Builds research-backed SEO content briefs with competitor scoring, per-section word counts and page-type templates, for new pages or improving existing ones.
AgriciDaniel/claude-blog
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…
AgriciDaniel/claude-seo
Brings the FLOW framework's stage-specific SEO prompts into the agent, from keyword discovery through backlinks, on-page work and conversion to local SEO, loaded on demand.
AgriciDaniel/codex-seo
Live SEO data via DataForSEO MCP server. An agent skill from AgriciDaniel/codex-seo.
kostja94/marketing-skills
When the user wants to add recommendations, links, or content to Grokipedia.
kostja94/marketing-skills
When the user wants to track AI search traffic in GA4 or GSC.
kostja94/marketing-skills
When the user wants to set up, audit, or optimize analytics tracking (GA4, events, conversions).
kostja94/marketing-skills
When the user wants to define, audit, or apply visual identity (typography, colors, spacing, design tokens, frontend aesthetics).
kostja94/marketing-skills
When the user wants to configure canonical URLs, fix duplicate content, or consolidate URL signals.
kostja94/marketing-skills
When the user wants to plan content for SEO, create content calendar, or build topic clusters.
Categories
When the user wants to research keywords, find target keywords, or analyze search intent. Keyword Research is an agent skill from kostja94/marketing-skills. When the user wants to research keywords, find target keywords, or analyze search intent.
Keyword Research fits situations like: wants to research keywords; find target keywords; analyze search intent; the user mentions keyword research.
Run `npx skills add kostja94/marketing-skills --skill keyword-research -a claude-code`. Or copy the skill folder (skills/seo/content/keyword-research in kostja94/marketing-skills) into .claude/skills/keyword-research in your project. Claude Code loads it when a task matches its description.
Run `npx skills add kostja94/marketing-skills --skill keyword-research -a codex`. Or copy the skill folder (skills/seo/content/keyword-research in kostja94/marketing-skills) into .agents/skills/keyword-research in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kostja94/marketing-skills --skill keyword-research -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/keyword-research, .gemini/skills/keyword-research, .github/skills/keyword-research and .opencode/skills/keyword-research in your project.
SKILL.md names no scripts, command-line tools or credentials: Keyword Research is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: backlinko.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Keyword Research is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Keyword Research: SEO Keyword Clustering (AgriciDaniel/claude-seo, 19k stars), Evaluate Skill (every-app/open-seo, 23k stars), SEO Content Brief Generator (AgriciDaniel/claude-seo, 19k stars) and Blog Google (AgriciDaniel/claude-blog, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
kostja94 (a GitHub user) maintains it in kostja94/marketing-skills, which has 1,025 GitHub stars. The repository holds 102 skills in this directory. The repository was last updated on October 6, 2026.
Source: kostja94/marketing-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.