Agent SkillsVladSez/easy-invoice-pdf › keyword-clustering

keyword-clustering

GitHub

基于用户意图将关键词聚类并映射到现有或新建页面,利用搜索控制台和SERP数据识别重复内容风险,优化网站结构。

.agents/skills/keyword-clustering/SKILL.md VladSez/easy-invoice-pdf

Trigger Scenarios

需要按意图对关键词进行分组 制定页面映射策略 检查关键词重复内容风险

Install

npx skills add VladSez/easy-invoice-pdf --skill keyword-clustering -g -y
More Options

Non-standard path

npx skills add https://github.com/VladSez/easy-invoice-pdf/tree/main/.agents/skills/keyword-clustering -g -y

Use without installing

npx skills use VladSez/easy-invoice-pdf@keyword-clustering

指定 Agent (Claude Code)

npx skills add VladSez/easy-invoice-pdf --skill keyword-clustering -a claude-code -g -y

安装 repo 全部 skill

npx skills add VladSez/easy-invoice-pdf --all -g -y

预览 repo 内 skill

npx skills add VladSez/easy-invoice-pdf --list

SKILL.md

Frontmatter
{
    "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.

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

Start with a short mapping summary:

  • Number of clusters
  • Pages to create
  • Existing pages to update
  • Cannibalization or consolidation issues

Then include:

Cluster Primary keyword Secondary keywords Intent Target page Priority Notes

For each cluster, include a recommended page brief:

  • Page type
  • Searcher problem
  • Required sections
  • Internal-link opportunities
  • Save/tag suggestion

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.

Version History

  • c393236 Current 2026-08-20 10:57

Same Skill Collection

.agents/skills/caveman/SKILL.md
.agents/skills/changelog-maintenance/SKILL.md
.agents/skills/competitive-landscape/SKILL.md
.agents/skills/competitor-analysis/SKILL.md
.agents/skills/emil-design-eng/SKILL.md
.agents/skills/frontend-design/SKILL.md
.agents/skills/keyword-research/SKILL.md
.agents/skills/link-prospecting/SKILL.md
.agents/skills/make-interfaces-feel-better/SKILL.md
.agents/skills/merge-ready/SKILL.md
.agents/skills/openseo-release-notes/SKILL.md
.agents/skills/seo-coach/SKILL.md
.agents/skills/seo-project-setup/SKILL.md
.agents/skills/vercel-composition-patterns/SKILL.md
.agents/skills/vercel-react-best-practices/SKILL.md
.agents/skills/web-design-guidelines/SKILL.md
.agents/skills/writing-guidelines/SKILL.md
.cursor/skills/trigger-cost-savings/SKILL.md
.agents/skills/programmatic-seo/SKILL.md
.agents/skills/seo-audit/SKILL.md
.agents/skills/vercel-react-view-transitions/SKILL.md
.cursor/skills/trigger-authoring-chat-agent/SKILL.md
.cursor/skills/trigger-authoring-tasks/SKILL.md
.cursor/skills/trigger-getting-started/SKILL.md

Metadata

Files
0
Version
c393236
Hash
ff9ba08d
Indexed
2026-08-20 10:57

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-22 06:43
浙ICP备14020137号-1 $お客様$