seoskills.sh
Catalog/seoskills/internal

Link Prospect Qualifier

Discovers candidate sites for a topic via SERP and competitor-backlink sources, then scores each on relevance, authorit…

0 installs

Use this skill

$ npx skills add seoskills.sh/link-prospect-qualifier
Repository
seoskills/internal
GitHub stars
License

SKILL.md

---
name: Link Prospect Qualifier
description: Discovers candidate sites for a topic via SERP and competitor-backlink sources, then scores each on relevance, authority, spam risk, and whether it already links to a competitor, returning a qualified outreach list. Use when the user wants link-building prospects, outreach targeting, or to qualify a prospect list at scale.
category: link-building
---

# Link Prospect Qualifier

AGENT ROLE: Autonomous link-prospecting agent. Discover, dedupe, and score outreach prospects, then emit the JSON in `references/output.schema.json`.

## OBJECTIVE
Build a qualified, deduplicated list of link-outreach prospects for a topic — ranked by topical relevance, authority, low spam risk, and existing competitor-link signal — with a contact-page hint per prospect.

## INPUTS
- `topic` (REQUIRED): the subject / niche (e.g., "sustainable packaging").
- `search_footprints` (OPTIONAL string[]): query templates to discover prospects (e.g., `"{topic}" "write for us"`, `"{topic}" resources`, `"{topic}" inurl:links`). Defaults provided.
- `competitors` (OPTIONAL string[]): to source prospects from competitor backlinks (needs a backlink API).
- `exclude_domains` (OPTIONAL): the user's own + known-bad domains.
- `max_prospects` (OPTIONAL, default 200).

## AUTHENTICATION
- Discovery via SERP: REQUIRE `SERP_API_KEY`. IF unset AND no `competitors` provided THEN STOP `error.code="NO_DISCOVERY_SOURCE"`.
- Competitor-backlink discovery: `DATAFORSEO_LOGIN`+`DATAFORSEO_PASSWORD` or `BACKLINK_API_KEY` (optional; skipped with a note if absent).
- Authority + spam scoring reuse the backlink provider's domain rank when available; otherwise a lightweight on-page heuristic.

## EXPECTED TOOL CALLS
- Run `scripts/link_prospects.py --topic "..." [--competitors a.com,b.com]`.
- SERP: fetch each footprint query's organic results. Backlink: fetch competitor referring domains. Merge candidate domains.

## PROCEDURE (deterministic)
STEP 1 — DISCOVER candidate domains from (a) SERP footprint queries and (b) competitor referring domains; dedupe by registrable domain; drop `exclude_domains`.
STEP 2 — For each candidate compute:
  - `relevance`: topical match of the candidate's title/snippet (and category if from backlinks) to `topic`.
  - `authority`: provider domain rank if available, else a proxy (SERP frequency + HTTPS + age hints).
  - `spam_risk`: spam TLD, thin footprint, or over-optimized signals (reuse the toxic-signal heuristics).
  - `links_to_competitor`: true IF the candidate is in a competitor's referring set.
STEP 3 — QUALIFY: `qualified = relevance >= 0.3 AND spam_risk < high`; SCORE `priority = authority * relevance * (1.3 if links_to_competitor else 1)`.
STEP 4 — CONTACT HINT: probe the candidate for a `/contact`, `/write-for-us`, or author/email pattern (≤1 GET, honor robots) → `contact_hint`.
STEP 5 — EMIT qualified prospects sorted by priority desc, plus a `disqualified` count with reasons.

## RATE LIMITS & ERROR HANDLING
- SERP `429`/quota → backoff `2^attempt` (max 5); after that STOP `error.code="RATE_LIMITED"` with `partial`.
- Backlink provider `402`/`429` → skip backlink discovery with a note; SERP prospects still returned.
- Contact-hint GETs are best-effort; failure → `contact_hint=null`.

## MISSING / INSUFFICIENT DATA
- IF neither discovery source yields candidates THEN `status="no_prospects"`, empty list, no error.
- Relevance/authority proxies (no backlink API) are coarse — mark `scoring_basis="heuristic"` so the user weights accordingly.
- Never mark a prospect qualified on authority alone; relevance is required (irrelevant high-authority sites are not link targets).

## OUTPUT
One JSON object per `references/output.schema.json`. No prose.

## FILES
- `scripts/link_prospects.py` — SERP + backlink discovery, qualification scoring, contact hint.
- `references/output.schema.json` — output contract.

Not using the CLI? Copy the SKILL.md and paste it straight into ChatGPT, Claude, or any agent.

Embed a badge

seoskills.sh install badge

More in Link Building

Link Buildingaaron-he-zhu/seo-geo-claude-skills

backlink-analyzer

No description available.

26.1K installs
Link Buildingcalm-north/seojuice-skills

build-links

Design a link building campaign with prospect identification, asset creation, and outreach strategy. Use when the user asks about link building, backlinks, domain authority, how to get backlinks, outreach campaigns, digital PR, guest posting, or link acquisition. For internal linking, see fix-linking.

6.5K installs
Link Buildingagricidaniel/claude-seo

seo-backlinks

Backlink profile analysis: referring domains, anchor text distribution, toxic link detection, competitor gap analysis. Works with free APIs (Moz, Bing Webmaster, Common Crawl) and DataForSEO extension. Use when user says backlinks, link profile, referring domains, anchor text, toxic links, link gap, link building, disavow, or backlink audit.

5.5K installs
Link Buildingcalm-north/seojuice-skills

fix-linking

Design or audit internal link structure for a website. Use when the user asks about internal linking, link architecture, orphan pages, PageRank flow, anchor text, site structure, silo architecture, or why pages aren't ranking despite good content. For external link building, see build-links.

2K installs
Link Buildingkostja94/marketing-skills

link-building

When the user wants to build backlinks, acquire links, or improve off-page SEO. Also use when the user mentions "link building," "backlinks," "off-page SEO," "link acquisition," "outreach," "guest posting," "broken link building," "link outreach," "acquire backlinks," "how to build backlinks," or "link building strategy." For profile audit, use backlink-analysis.

1K installs
Link Buildingkostja94/marketing-skills

backlink-analysis

When the user wants to analyze backlinks, audit link profile, or identify link issues. Also use when the user mentions "backlink analysis," "backlink audit," "referring domains," "toxic links," "link profile," or "disavow file." For acquisition, use link-building.

993 installs