← HarborRankCONTENT HISTORY
WHAT CHANGED
Update to HarborRank
Snapshot Nov 5, 2026 · 06:10 UTC · version 1.0.1
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save HarborRank and check future changes in Following.
Up to 3 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Map who wins an SEO market across many competitors: recurring ranking domains, their organic footprint, winning content formats, backlinks, local pack leaders, and open gaps. Use when the user asks who ranks for a topic or market, who their SEO competitors are, or where the openings are. For a deep dive on one named competitor, use competitor-analysis instead.",
"included_files": [],
"name": "competitive-landscape",
"skill_md_contents": "---\nname: competitive-landscape\ndescription: \"Map who wins an SEO market across many competitors: recurring ranking domains, their organic footprint, winning content formats, backlinks, local pack leaders, and open gaps. Use when the user asks who ranks for a topic or market, who their SEO competitors are, or where the openings are. For a deep dive on one named competitor, use competitor-analysis instead.\"\n---\n\n# HarborRank Competitive Landscape\n\n## Goal\n\nAnswer: \"Who is winning this SEO market, what content is working for them, and where are the openings?\"\n\nUse this when the user wants a market-level view across several competitors. For a deep dive on one domain, use `competitor-analysis`.\n\n## Step 0: Check connection\n\nBefore any other step, confirm the HarborRank MCP tools are loaded. Look for `get_domain_overview` or `list_leads` among your tools (the name may carry a prefix such as `harborrank`). If they are there, call `whoami`: it uses no credits, confirms the user is signed in, and returns `creditsRemaining` for budgeting the run. Do not call a research tool to test the connection.\n\nIf neither tool is available, or `whoami` fails because the user is not signed in, tell the user plainly: \"HarborRank isn't connected, so I can't pull live HarborRank data yet.\" Then tell them how to connect it:\n\n- ChatGPT or Codex: open the HarborRank plugin, choose Connect, and sign in to HarborRank.\n- Other clients: add `https://app.harborrank.com/mcp` as a remote MCP server. Setup for each client is at https://harborrank.com/docs/mcp.\n\nDo not stop there. Continue in fallback mode (below). If the user connects HarborRank mid-task, run Step 0 again and switch to the full workflow.\n\n### Plan limits\n\nOn hosted HarborRank, research tools spend credits. The Free plan has 1,000 credits a month and one project. Search Console, saved keywords, rank tracker reads, and site crawls use no credits. A keyword search costs about 50 credits and a domain overview about 80. Full backlinks, lead research (`research_lead`), and Lighthouse checks need a paid plan; on Free, the backlinks tools return a preview (totals and the top 3 referring domains, about 50 credits).\n\n- If `creditsRemaining` will not cover the planned calls, give the user the estimate and ask before spending. Use the free tools first.\n- If a tool replies that a feature \"is included in paid plans\", tell the user once which feature needs a paid plan, skip that tool for the rest of the run, and finish with the other evidence. Do not retry it.\n- If a tool fails for insufficient credits, stop making paid calls, tell the user, and finish with free tools and the data you already have. If `whoami` warns that credits are low, say so before a large run.\n- If the user asks about plans or credits, point them to https://harborrank.com/pricing. Do not quote prices or promote plans.\n- When `whoami` returns `mode: \"self-hosted\"`, there are no plan gates.\n\n### Fallback mode (no HarborRank connection)\n\nUse this mode only when Step 0 finds no connection. It works from web search, page reading, and files the user provides.\n\n**Can still do**\n\n- Run the market query set through web search and note which domains keep appearing.\n- Group those domains by type: direct competitors, publishers, directories, communities, resources.\n- Read the leaders' sites to identify the content formats, themes, and positioning that are working.\n- Call the result directional.\n\n**Must not estimate**\n\nTraffic, search volume, keyword difficulty, CPC, keyword counts, rankings, backlink counts, Maps pack positions, and Q&A counts. Write `unknown` for each. A web search shows which pages appeared for a query when you searched, not their Google ranking: report it as \"appeared in web search\", never as a position.\n\n**Output**\n\n- Start with the label **Web-evidence only: no HarborRank data.**\n- Name the source (URL or file) of every figure you report.\n- End, after any recommended next workflow, with one sentence that names the numbers this report is missing: \"Connect HarborRank (the Free plan needs no card) to add each leader's organic footprint, traffic, and backlink strength.\" Do not add more sales copy than that.\n\n## Required inputs\n\n- `projectId`\n- Topic, seed keywords, market/category, or user's domain\n- Optional known competitors\n- Optional location/language\n\n## HarborRank MCP tools\n\n- `research_keywords`: discover representative market queries.\n- `get_keyword_metrics`: validate known query sets with volume, difficulty, intent, and trends.\n- `get_serp_results`: identify recurring ranking domains across target queries.\n- `find_serp_competitors`: compare domains competing across supplied keywords; use this before manual SERP counting when a keyword set is available.\n- `get_domain_overview`: size organic footprint for candidate leaders.\n- `get_search_console_performance`: when the user's own domain is in the comparison and Search Console is connected, anchor their position with first-party clicks/impressions/CTR rather than third-party estimates.\n- `get_ranked_keywords`: find exact ranking keywords, URLs, ranks, intents, and SERP result types for leaders.\n- `get_backlinks_overview`: compare backlink/referring-domain strength where relevant.\n- `search_local_businesses`, `get_local_serp_results`, and `get_google_business_questions`: use for local SEO markets where proximity, Maps rankings, business categories, reviews, or Google Q&A affect who is winning.\n\n## Workflow\n\n1. Define the market query set:\n - Use provided keywords, or call `research_keywords` to build 5-10 representative queries.\n - Include mixed intent: informational, commercial, comparison, and tool/software terms when applicable.\n - For local SEO, include neighborhood/city/service-area queries and identify the priority locations or coordinates.\n2. If the query set is already known, use `get_keyword_metrics` to validate relative demand and difficulty and `find_serp_competitors` to identify recurring domains at scale.\n3. For local SEO, call `search_local_businesses` and `get_local_serp_results` for the highest-priority location(s) before synthesizing winners. Use `get_serp_results` as a complement for organic pages, not as the only local evidence.\n4. Call `get_serp_results` for representative queries when live SERP composition, ranking URLs, or SERP features need inspection. Send at most 10 queries per call.\n5. Identify recurring domains and group them by type:\n - Direct product competitors\n - Publishers/media\n - Marketplaces/directories\n - Communities/forums\n - Documentation/resources\n6. For the strongest recurring domains, call `get_domain_overview`; default to the top 3-5 domains before expanding.\n7. For direct competitors and relevant publishers, call `get_ranked_keywords`.\n8. Use `get_backlinks_overview` when backlink authority appears important or the user asks why a domain is winning. On Free this returns a preview (totals and the top 3 referring domains); use it, note that the full profile needs a paid plan, and continue with SERP and domain evidence.\n9. Synthesize patterns: content types, themes, SERP formats, local-pack signals, authority advantages, and underserved angles.\n\n## Output format\n\nStart with the market read:\n\n- Market leaders\n- Most winnable opportunity area\n- Biggest barrier to ranking\n\nThen include:\n\n| Domain | Type | Why they matter | Organic footprint | Winning themes | Weakness/gap |\n| ------ | ---- | --------------- | ----------------- | -------------- | ------------ |\n\nAdd:\n\n- Query set used\n- Content formats that are working\n- Keyword/theme gaps\n- Backlink or authority observations\n\n- **Next workflow:** end with one recommended next workflow, the reason for it, and the input it starts from. Default: `competitor-analysis` on the most beatable direct competitor among the leaders, named explicitly.\n- **Where the output goes:** the report as `competitors/landscape-<market-slug>-<YYYY-MM-DD>.md`. Save it in the project's SEO folder (see `seo-project-setup`); if there is none, ask once whether to create one or where to save instead. If the user prefers a doc or a sheet and a docs or spreadsheet tool is available, put reports in a doc and tables in a sheet instead. Tell the user where it was saved.\n\n## Guardrails\n\n- Distinguish SEO competitors from business competitors.\n- Do not overstate exact traffic when HarborRank returns estimates.\n- If using a small query set, call the result directional.\n- Do not assume a publisher is a product competitor; label domain types clearly.\n- For local markets, distinguish organic-page winners from Maps/local-pack winners.\n"
}SHA-256 of public snapshot: 341529091ed6883e4d7ab3c9ce9314e7bbee2ef7723d278a308d632973b5e98c