winsley-jeune/harborrank-skills

lead-teardown

For agencies and freelancers who sell SEO to local businesses: prospect a trade in a city from Google Maps, shortlist the best leads, research each one (three-point Maps pack check, top competitors, site, contact), and produce a one-page teardown plus outre…

Voir la source

Mode d’emploi

  1. Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
  2. Consultez le document original pour les outils, identifiants et environnements requis.
  3. Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/winsley-jeune/harborrank-skills --skill lead-teardown

Avant de commencer

  • L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
  • Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

HarborRank Lead Teardown

Goal

Turn a trade and a city into a short list of local businesses worth pitching, each with a one-page teardown built from real data: where they show up in Google Maps from three points in their service area, what the top three profiles have that they do not, what their website earns, and the first three fixes. The teardown is the sales document; the agency sends it, the business owner reads their own numbers.

Step 0: Check connection

Before any other step, confirm the HarborRank MCP tools are loaded. Look for get_domain_overview or list_leads among your tools, including deferred tools you can load (the name may carry a prefix such as mcp__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.

If 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:

  • Claude Code with the HarborRank plugin: run /mcp, choose harborrank, and sign in.
  • Claude Code without the plugin: run claude mcp add --transport http --scope user harborrank https://app.harborrank.com/mcp, then /mcp to sign in.
  • Claude on the web, desktop or Cowork: open Customize, then Connectors, search for HarborRank, choose Connect, and sign in. New accounts start with a 7-day free trial.
  • Cursor with the HarborRank plugin: open Cursor Settings, then MCP, and sign in to harborrank.
  • Gemini CLI with the HarborRank extension: run /mcp auth harborrank.
  • Other clients: add https://app.harborrank.com/mcp as a remote MCP server. Setup for each client is at https://harborrank.com/docs/mcp.

Do 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.

Plan limits

On hosted HarborRank, research tools spend credits. New accounts start with a 7-day free trial (1,000 research credits, one project); paid plans start at $29/month with 15,000 credits. 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) with an upgrade link.

  • If creditsRemaining will not cover the planned calls, give the user the estimate and ask before spending. Use the free tools first.
  • If a tool replies that a feature "is included in paid plans", tell the user once which feature needs a paid plan and pass on the upgrade link from the reply, skip that tool for the rest of the run, and finish with the other evidence. Do not retry it.
  • 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.
  • If the user asks to upgrade, change plan or buy credits, call get_upgrade_link (no credits) and give them the link. They pay on HarborRank with PayPal; never say the upgrade is done until whoami shows the new plan.
  • When whoami returns mode: "self-hosted", there are no plan gates.

Fallback mode (no HarborRank connection)

Use this mode only when Step 0 finds no connection. It works from web search, page reading, and files the user provides.

Can still do

  • Find businesses in the trade and city with web search. Record each one's name, website, and public rating and review count, with the source.
  • Read their sites: services listed, service area, city pages, calls to action, and obvious gaps.
  • Compare them with the sites that appear at the top of web search for the main trade-and-city query.
  • Apply the shortlist rules (has a website, 20 or more reviews at 4.3 or better, not a chain).
  • Call the result a shortlist, never a teardown. The pitch only works when the owner sees their own numbers, and those come from research_lead.

Must not estimate

Traffic, 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.

Output

  • Start with the label Web-evidence only: no HarborRank data.
  • Name the source (URL or file) of every figure you report.
  • End, after any recommended next workflow, with one sentence that names the numbers this report is missing: "Connect HarborRank (start with a 7-day free trial) to pull these businesses' Maps listings; the three-point pack check and the one-page teardown need a paid plan." Do not add more sales copy than that.

Required inputs

  • projectId
  • A trade or Google Business category (e.g. roofing_contractor, dentist, electrician)
  • A city (city mode) or a coordinate and radius (coordinate mode)
  • Optional: how many leads to prospect (default 20), whether to run the AI Overview check (costs more)

HarborRank MCP tools

  • list_business_categories: find the exact category slug.
  • prospect_leads: pull the Maps listings for the category in the city into the project as leads (name, site, rating, reviews, coordinates, photo count, categories, hours).
  • list_leads: see what is already in the project and its outreach status.
  • research_lead: the paid step. For one lead it runs the money-keyword SERP checks, the three-point pack check, the top-three profile comparison with Q&A counts, the domain footprint, contact discovery, a 10-page crawl, and optionally the AI Overview check, then writes the teardown. Requires a paid plan on hosted HarborRank.
  • get_lead_teardown: the Markdown one-pager for a researched lead.
  • update_lead: record the owner's name, email, notes and outreach status.
  • get_local_serp_results, get_google_business_questions: for a deeper look at one market when the teardown raises a question.
  • create_share_report: publish the finished work as a read-only page at a shareable link (see "Shareable report" below). Only after the user agrees.

Workflow

  1. Confirm the category slug with list_business_categories and the city with the user. One trade, one city per run.
  2. prospect_leads with the category and city. Report how many were found, added and skipped.
  3. Shortlist before spending credits. From list_leads, prefer businesses that have a website, 20 or more reviews at 4.3 or better (a real business that will value the pitch), and sit below the obvious leaders. Skip chains and businesses with no reviews. Tell the user which leads you will research and the approximate cost (research_lead costs about 200 credits each without the AI check).
  4. On the Free plan, prospect_leads and list_leads work but research_lead does not: hand over the shortlist with the data list_leads returned and say that teardowns need a paid plan. Otherwise, research_lead for each shortlisted lead, sequentially. Do not run the AI check unless the user asks; it is the expensive part.
  5. get_lead_teardown for each. Read it before handing it over: if a section is thin (no pack points because the listing had no coordinates, no competitors because the SERP was empty) say so rather than sending a half document.
  6. Summarize for the user: for each lead, one line with the sharpest gap (the number and the competitor's number), and whether a contact email was found.
  7. Offer to draft outreach: for each lead, a first email and a follow-up to send four days later. If the user accepts:
  • Use only figures that appear in that lead's teardown, written exactly as the teardown has them. If a point has no figure in the teardown, leave it out.
  • First email, about 120 words: the business name in the subject, the sharpest gap (their number and the leader's), the first fix, and an offer to send the full teardown. Ask one low-pressure question.
  • Follow-up, about 60 words, in the same thread: one different gap from the teardown. Do not repeat the first email.
  • Pricing, packages, and guarantees belong in the email or not at all, never in the teardown. Use only the user's own offer; if they have not given one, leave a [your offer] placeholder. Never promise rankings or results.
  • Address the owner by name only if the teardown found it. If no email was found, say so and do not guess an address.
  • Add the sender's name, postal address, and a one-line opt-out to both emails; ask the user for the address if you do not have it.
  • One first email and one follow-up per lead. Do not draft a third message; a lead that has not replied after the follow-up is done.
  1. When the user sends: update_lead with the owner name and email when known, and status contacted. After the follow-up goes out, status followed_up; if the lead answers, replied.

Output format

Per lead:

  • Business, city, rating and reviews
  • Pack position at the three points for the primary keyword
  • The one gap with the biggest gap between their number and the leader's
  • Contact found: yes/no (and confidence)
  • Link or path to the teardown

Then the list of leads you skipped and why, and the offer to draft outreach.

  • Next workflow: end with one recommended next workflow, the reason for it, and the input it starts from. Default: seo-project-setup for any lead that replies and becomes a client, so the work starts with goals, positioning, and Search Console. If no lead has replied yet, recommend lead-teardown for the next trade or city instead.
  • Where the output goes: the teardowns stay in HarborRank on each lead (get_lead_teardown). Save a copy of each teardown with its email drafts as outreach/leads/<business-slug>.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.
  • Shareable report: offer to publish each teardown the user wants to send as a shareable report with create_share_report: a read-only page at a link the prospect can open without signing in, which reads better in a cold email than an attachment. Use the teardown's findings and the fixes you'd make, never the lead's private contact details. Publish only after the user says yes; give them the link to paste into the outreach email. delete_share_report removes it.

Guardrails

  • Research charges credits; always state the count and cost before the batch.
  • Never invent a number. Every figure in the summary must come from the teardown or a tool result.
  • The teardown is written for the business owner. Do not add agency pricing or promises to it; put those in the email.
  • Respect the project's outreach rules: one first email and one follow-up, no third message without a reply.

Tâches connexes

du même dépôt

Autres Skills

Tous les Skills
winsley-jeune
Communauté

competitor-analysis

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.

installations
1
GitHub Stars
0
Mis à jour
17 oct.
winsley-jeune
Communauté

keyword-clustering

Group keywords into page-level clusters by search intent and map each cluster to an existing or new page, flagging cannibalization. Use when the user has a keyword list, saved keywords, or Search Console queries and asks which page should target which keywords, or wants a keyword map, content plan, topic clusters, or to fix pages competing for the same query.

installations
1
GitHub Stars
0
Mis à jour
17 oct.
winsley-jeune
Communauté

keyword-research

Find and prioritize keywords to target: discover ideas from seed topics or Search Console, check search volume, keyword difficulty, CPC, intent and live SERPs, and save the best terms to the HarborRank project. Use when the user asks what keywords to target or wants keyword ideas, content topics, search volume, low-competition or striking-distance keywords, or local service keywords.

installations
1
GitHub Stars
0
Mis à jour
17 oct.
winsley-jeune
Communauté

seo-coach

Friendly SEO coach and the starting point for HarborRank. Checks the user's setup (HarborRank connection, project, Search Console), recommends one next workflow, and explains SEO in plain terms. Use when the user is new to SEO, asks where to start or what to do next, asks how HarborRank or its skills work, or wants SEO explained rather than a specific research task.

installations
1
GitHub Stars
0
Mis à jour
17 oct.