← 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 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Deep dive on one competitor's SEO: organic traffic, ranked keywords, top pages, content themes, backlinks, local visibility, and head-to-head SERPs against the user's site, ending in a plan to outrank them. Use when the user names a competitor domain and asks why it ranks, what it ranks for, how to beat it, or for a keyword gap. For a whole market, use competitive-landscape instead.",
"included_files": [],
"name": "competitor-analysis",
"skill_md_contents": "---\nname: competitor-analysis\ndescription: \"Deep dive on one competitor's SEO: organic traffic, ranked keywords, top pages, content themes, backlinks, local visibility, and head-to-head SERPs against the user's site, ending in a plan to outrank them. Use when the user names a competitor domain and asks why it ranks, what it ranks for, how to beat it, or for a keyword gap. For a whole market, use competitive-landscape instead.\"\n---\n\n# HarborRank Competitor Analysis\n\n## Goal\n\nAnalyze one competitor deeply enough to decide what to learn from, avoid, counter-position against, or outrank.\n\nUse this for a named competitor. For identifying the market leaders first, use `competitive-landscape`.\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- Read the competitor's site: navigation, sitemap, blog, product, and comparison pages.\n- Map their page types, content themes, and positioning.\n- Check live search results for target terms to compare the two sites head to head.\n- Use the user's Search Console CSV exports, if any, as their own baseline.\n- Frame the analysis as qualitative.\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 this competitor's traffic, ranked keywords, and backlink profile.\" Do not add more sales copy than that.\n\n## Required inputs\n\n- `projectId`\n- Competitor domain\n- User's domain when comparison is requested\n- Optional topic/category/location/language\n\n## HarborRank MCP tools\n\n- `get_domain_overview`: baseline organic traffic and keyword count.\n- `get_search_console_performance`: when comparing to the user's own domain and Search Console is connected, use it as the first-party baseline (real clicks/impressions/CTR/position) instead of estimating the user's own performance from third-party data.\n- `get_ranked_keywords`: exact keyword, URL, rank, intent, traffic, CPC, and SERP-type rows for the competitor domain or page.\n- `get_backlinks_overview`: backlink/referring-domain profile.\n- `find_serp_competitors`: validate whether the named competitor is a real search competitor across the target keyword set.\n- `search_local_businesses`, `get_local_serp_results`, and `get_google_business_questions`: use for local SEO competitors when Maps/local-pack visibility, nearby businesses, categories, or Google Q&A matter.\n- `get_serp_results`: validate direct head-to-head SERPs for important keywords.\n- `research_keywords`: expand gaps or category terms when needed.\n\n## Workflow\n\n1. Call `get_domain_overview` for the competitor, passing provided location/language when supported.\n2. If comparing to the user, call `get_domain_overview` for the user's domain too — and if Search Console is connected, `get_search_console_performance` for the user's real baseline.\n3. Call `get_ranked_keywords` for the competitor. Use filters like `maxRank`, `minSearchVolume`, `excludeBrandTerms`, and `resultTypes` to keep rows relevant.\n4. If comparing to the user, call `get_ranked_keywords` for the user's domain/page too, or use `get_serp_results` for the shared terms when a lighter check is enough.\n5. For local SEO, use `search_local_businesses` and `get_local_serp_results` around the relevant business location(s) before drawing local-pack conclusions. Add `get_google_business_questions` only when Q&A evidence matters.\n6. Use `find_serp_competitors` when the competitor was supplied by the user but its search overlap is unclear.\n7. Group competitor keywords into themes:\n - Product/category terms\n - Alternatives/comparisons\n - Templates/tools/calculators\n - Educational guides\n - Branded demand\n - Local/neighborhood terms when relevant\n8. Call `get_backlinks_overview` for the competitor, especially if authority appears to explain rankings. 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.\n9. Use `get_serp_results` for important shared or target keywords to compare positioning, passing provided location/language when supported.\n10. Produce an actionable plan:\n - What they are doing well\n - Where they are vulnerable\n - Which pages/keywords to pursue\n - What to avoid copying\n\n## Output format\n\nStart with:\n\n- Competitor snapshot\n- Biggest lesson\n- Best opportunity to beat them\n\nThen include:\n\n| Area | Competitor pattern | Evidence | HarborRank opportunity |\n| ---- | ------------------ | -------- | ---------------------- |\n\nInclude sections for:\n\n- Top keyword themes\n- Content/page types working for them\n- Backlink/authority notes\n- Head-to-head SERP observations\n- Priority actions for the user\n\n- **Next workflow:** end with one recommended next workflow, the reason for it, and the input it starts from. Default: `link-prospecting` against the competitor's strongest pages, the ones that rank for the keywords the user wants, to find the sites that link to them.\n- **Where the output goes:** the report as `competitors/<competitor-domain>-<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- Do not treat all competitor keywords as desirable. Filter for business fit.\n- Separate evidence from inference.\n- Do not infer competitor page/content-type patterns from keyword rows alone; use SERP or web evidence for page-level claims.\n- For local SEO, do not infer Maps/local-pack strength from national organic domain metrics alone; use local business and local SERP tools when the location is known or reasonably discoverable.\n- Do not recommend copying content; recommend a stronger angle or better answer to the same intent.\n- If the user's domain is unavailable, frame the analysis as competitor-only.\n"
}SHA-256 of public snapshot: 0f09668262accb82491828969c4ebd31ffb60069df0f9c6a738cd97a4deb79a6