К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

keyword-clustering — скилл для Claude Code: кластеризация запросов

Группирует ключевые слова по поисковому intent и назначает каждый кластер на существующую или новую страницу сайта.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add every-app/open-seo --skill keyword-clustering -a claude-code
Открыть на GitHub

Что делает keyword-clustering

Собирает запросы из списка, Search Console или домена, проверяет SERP-перекрытие через MCP-инструменты OpenSEO (get_serp_results, get_search_console_performance) и строит кластеры не по словам, а по намерению поисковика. Назначает каждый кластер на URL из контекста проекта или рекомендует создать новую страницу.

Выявляет каннибализацию — когда один запрос размывает показы между несколькими URL. Если в проекте не заведены ключевые страницы, скилл предложит минимальную настройку перед запуском.

Результат сохраняется через seo-report скилл в виде таблицы кластеров, брифов на страницы и списка действий. Требуется projectId и набор запросов; для работы с локальным SEO подключает get_local_serp_results.

Какие задачи решает

  • сгруппировать запросы по intent, а не по словам
  • назначить кластер на существующую или новую страницу
  • найти каннибализацию — запросы, размытые между URL
  • проверить SERP-перекрытие для спорных терминов
  • составить бриф на страницу с разделами и ссылками

Примеры запросов агенту

  • Раскидай эти запросы по страницам сайта, проверь intent через SERP
  • Кластеризуй список из Search Console и покажи, где каннибализация
  • Составь карту кластеров для домена и предложи новые страницы

Как установить keyword-clustering

1Через Skills CLI (Vercel)

npx skills add every-app/open-seo --skill keyword-clustering -a claude-code

2Вручную: положить файлы

~/.claude/skills/keyword-clustering/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/keyword-clustering/

Из того же набора9

Весь набор →
keyword-research every-app Подбирает поисковые запросы через MCP-инструменты OpenSEO, оценивает метрики выдачи и сохраняет перспективные фразы в проект. Claude Code CX Codex Cursor +1 6 700установок competitor-analysis every-app Скилл для разбора одного конкурента: ключевые слова, контент, ссылки, слабые места. Собирает данные и готовит отчёт с планом действий. Claude Code CX Codex Cursor +1 6 600установок link-prospecting every-app Ищет доноров ссылок через поисковую выдачу и бэклинки конкурентов, находит контакты авторов и готовит черновики писем. Пригодится для точечного аутрича. Claude Code CX Codex Cursor +1 6 500установок competitive-landscape every-app Скилл сравнивает SEO-конкурентов, их темы, ключевые слова и обратные ссылки. Нужен для поиска свободных направлений в рынке. Claude Code CX Codex Cursor +1 6 500установок seo-coach every-app Переводит агента в режим SEO-наставника OpenSEO: объясняет шаги оптимизации, подбирает действия под проект и помогает запускать профильные инструменты. Claude Code CX Codex Cursor +1 6 500установок seo-project-setup every-app Собирает контекст SEO-проекта: сайт, цели, позиционирование, конкурентов и важные страницы. Нужен перед работой других SEO-скиллов. Claude Code CX Codex Cursor +1 6 500установок seo-audit every-app Проверяет сайт через OpenSEO, находит точки роста органического трафика и собирает отчёт с рекомендациями. Пригодится для подготовки аудита домена с опорой на поисковые данные. Claude Code CX Codex Cursor +1 5 100установок local-seo every-app Аудирует карточку Google Business Profile, сопоставляет её с локальными конкурентами и строит сетку видимости в Google Maps. Claude Code CX Codex Cursor +1 4 300установок

Похожие

content-creation официальный anthropics Скилл помогает готовить маркетинговые тексты для блогов, соцсетей, писем и лендингов. Пригодится, когда нужны форматы каналов, SEO-текст, заголовки или призывы к действию. Claude Code CX Codex Cursor +1 4 900установок data-manager-api-event-ingestion официальный google Помогает внедрить загрузку событий и конверсий в продукты Google через Data Manager API. Нужен для офлайн-конверсий, лидов и событий Google Analytics. Claude Code Gemini CLI CX Codex 6 148установок seo-audit официальный anthropics Скилл проверяет SEO сайта: исследует ключевые слова, страницы, технические проблемы и пробелы относительно конкурентов. Пригодится для подготовки плана работ по результатам аудита. Claude Code CX Codex Cursor +1 3 700установок seo AgriciDaniel Запускает аудит сайта, проверку E-E-A-T, разметку Schema.org и оптимизацию под AI-поисковики. Помогает подготовить страницы к выдаче Google и ранжированию в AI Overviews. Claude Code CX Codex Cursor +1 9 000установок seo-audit coreyhaines31 Диагностирует технические ошибки сайта, проблемы с индексацией и метатегами. Помогает понять, почему просел органический трафик в Google. Claude Code CX Codex Cursor +1 236 800установок brand claudekit Скилл держит голос бренда, визуальные правила и дизайн-токены в одном файле, а потом раздаёт их промптам агента и вашему CSS. Claude Code CX Codex Cursor +1 39 500установок banner-design claudekit Создаёт баннеры для соцсетей, рекламы и сайтов в HTML/CSS с готовыми размерами и стилями. Пригодится при сборке креативов без графических редакторов. Claude Code CX Codex Cursor +1 39 000установок marketing-psychology coreyhaines31 Помогает применять ментальные модели и поведенческую психологию в маркетинге продукта. Пригодится, когда нужно понять мотивы покупателей и найти слабые места воронки. Claude Code CX Codex Cursor +1 164 000установок

Вопросы о keyword-clustering

Как установить keyword-clustering в Claude Code?

Выполни npx skills add every-app/open-seo --skill keyword-clustering -a claude-code, скилл появится в ~/.claude/skills/keyword-clustering/SKILL.md.

Что делает keyword-clustering?

Группирует ключевые слова по поисковому намерению, проверяет SERP-перекрытие и назначает каждый кластер на существующую или новую страницу. Находит каннибализацию запросов.

Что нужно для работы keyword-clustering?

projectId, список запросов или подключённый Search Console, и ключевые страницы в контексте проекта. Если их нет, скилл предложит минимальную настройку перед запуском.

Исходный текст

SKILL.md · MIT
---
name: keyword-clustering
description: Cluster keywords by intent and map them to existing or proposed pages.
---

# OpenSEO Keyword Clustering

## Goal

Group keywords into page-level clusters and decide which existing or new page should target each cluster. This is a keyword mapping workflow, not just a semantic grouping exercise.

## Required inputs

- `projectId`
- A keyword list, saved keyword tag, seed topic, or target domain
- Optional existing URLs/pages to map against

If keywords are not provided, use `list_saved_keywords` for saved sets, `research_keywords` for seed discovery, or `get_ranked_keywords` when the user starts from a target domain.

## Project context

The project-context tools are free and shared with the app and other agents.

1. Call `get_project_context` first and ground the mapping in it — the saved key pages are the existing pages clusters should map to, and the business and goal decide which clusters are worth targeting.
2. This skill needs key pages. If none are saved, run a minimal inline setup: ask the user for the pages that matter, or propose a shortlist from the site, an audit, or Search Console and confirm it, write it back with `update_project_context` (`addKeyPages`), then continue the clustering. Never front-load the full interview; suggest `seo-project-setup` at the end for the rest.
3. Before spending credits, check the research log. If the same research ran within the last 30 days, reuse that result and say so instead of re-buying it.
4. On finish, write back what is durable with `update_project_context` — new or corrected `addKeyPages` entries with the topic each page now targets — and append a research log entry: `{ appendResearchLog: { summary: "Keyword clustering: <keyword set>. Verdict: <conclusion>" } }`.

## Deliver as a report

Deliver through the `seo-report` skill, saving with `skill: "keyword-clustering"`. If that skill is not available, say so and stop before writing HTML.

## OpenSEO MCP tools

- `list_saved_keywords`: fetch an existing keyword set, optionally filtered by tags.
- `research_keywords`: expand a seed when the user starts from a topic.
- `get_ranked_keywords`: gather exact ranking keywords and URLs when the user starts from a domain or page.
- `get_search_console_performance`: when Search Console is connected, pull real queries with `dimensions: ["query","page"]` to map terms to the pages already earning impressions and to surface cannibalization (one query splitting clicks across multiple URLs).
- `get_serp_results`: validate whether keywords belong on the same page by checking SERP overlap and intent.
- `get_local_serp_results`: use for local SEO clusters when Maps/local-pack intent should affect page mapping.
- `save_keywords`: optionally tag final clusters after user confirmation.

## Workflow

1. Gather the candidate keyword set.
   - Use `get_search_console_performance` (dimensions `["query","page"]`) when Search Console is connected to start from real queries and the pages already ranking for them.
   - Use `get_ranked_keywords` for domain/page-driven clustering.
   - Use `search_local_businesses` and `get_local_serp_results` when proximity, local packs, or Google Business results determine whether terms belong on location pages.
2. Remove duplicates, irrelevant terms, and terms that clearly require a different product or audience.
3. Build clusters around intent and page type:
   - Same SERP intent and similar ranking pages belong together.
   - Different intent, buyer stage, or SERP format should be split.
   - Similar words do not guarantee the same cluster.
4. For important borderline terms, use a small `get_serp_results` batch to check overlap.
5. Assign each cluster to:
   - Existing URL, if supplied and appropriate
   - New page recommendation, if no existing page fits
   - Do-not-target / later bucket, if weak or off-strategy
6. Identify cannibalization risk when multiple pages would target the same intent. When Search Console is connected, confirm it from real data with `get_search_console_performance` (`dimensions: ["query","page"]`) — the same query sending impressions to multiple URLs.
7. Ask before applying cluster tags with `save_keywords`.

## Output format

`h1`: the site or keyword set.

If a report template applies (see `seo-report`), its sections and tone replace this list.

Sections in this order:

1. **The map** — one or two opening sentences: how many clusters, how many pages to create, how many to update, and any cannibalization found.
2. **Clusters** — a table of cluster, primary keyword, intent, target page, and priority. Keep secondary keywords in the per-cluster briefs, not in this table.
3. **Page briefs** — one finding per cluster: the page type and the searcher's problem, then the page to create or update. List required sections and internal links underneath.
4. **Cannibalization** — a table of the query, the competing URLs, and which one to keep, only when there is real evidence for it.
5. **What to do next** — an ordered list, including the tag suggestions and the explicit ask before applying them.
6. **How this report was made** — opens with the skill link line from `seo-report`, pointing at `https://openseo.so/docs/skills/keyword-clustering` ("OpenSEO Keyword Clustering skill"), then where the keywords came from, and a note labelling target pages as proposed when no URL data was supplied.

## Guardrails

- Do not over-cluster tiny keyword sets. If there are fewer than 10 usable terms, produce a simple map.
- Do not rely on lexical similarity alone. SERP intent wins.
- Do not replace tags broadly without explicit confirmation.
- If existing URL data is missing, label target pages as proposed.

© every-app · MIT · every-app/open-seo

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой